MediaWiki version:
1.13

GET request to list all image files, ordered by either title or timestamp.

This module can be used as a {{ll|API:Query#Generators|generator}}.

API documentation


Special:ApiHelp/query+allimages

Example

Example 1: Get images by name

GET request

List all images in the namespace, starting from files that begin with Graffiti_000. Limit the initial response to just the first three images.

Response

{
    "batchcomplete": "",
    "continue": {
        "aicontinue": "Graffiti_BTER_0001.JPG",
        "continue": "-||"
    },
    "query": {
        "allimages": [
            {
                "name": "Graffiti_0001.JPG",
                "timestamp": "2006-10-26T01:48:05Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/9/98/Graffiti_0001.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0001.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7624737",
                "ns": 6,
                "title": "File:Graffiti 0001.JPG"
            },
            {
                "name": "Graffiti_0002.JPG",
                "timestamp": "2006-10-26T02:03:40Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/6/66/Graffiti_0002.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0002.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7624935",
                "ns": 6,
                "title": "File:Graffiti 0002.JPG"
            },
            {
                "name": "Graffiti_0003.JPG",
                "timestamp": "2006-10-26T08:05:08Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/2/2b/Graffiti_0003.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Graffiti_0003.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=7628426",
                "ns": 6,
                "title": "File:Graffiti 0003.JPG"
            }
        ]
    }
}

Sample code

Python

#!/usr/bin/python3

"""
    get_allimages_by_name.py

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with
    'Graffiti_000'. Limit the initial response to just the first three images.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allimages",
    "aifrom": "Graffiti_000",
    "ailimit": "3"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

IMAGES = DATA["query"]["allimages"]

for img in IMAGES:
    print(img["title"])

PHP

<?php
/*
    get_allimages_by_name.php

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with 'Graffiti_000'. Limit the initial response to just the first three images. 

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allimages",
    "aifrom" => "Graffiti_000",
    "ailimit" => "3"
];

$url = $endPoint . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode( $output, true );

foreach( $result["query"]["allimages"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_allimages_by_name.js

    MediaWiki API Demos
    List all images in the namespace, starting from files that begin with 'Graffiti_000'. Limit the initial response to just the first three images. 

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    list: "allimages",
    aifrom: "Graffiti_000",
    ailimit: "3"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {
        var images = response.query.allimages;
        for (var img in images) {
            console.log(images[img].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_allimages_by_name.js

	MediaWiki API Demos
	List all images in the namespace, starting from files that begin with 'Graffiti_000'.
	Limit the initial response to just the first three images.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allimages',
		aifrom: 'Graffiti_000',
		ailimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var images = data.query.allimages,
		img;
	for ( img in images ) {
		console.log( images[ img ].title );
	}
} );

Example 2: Get images by date

GET request

List all images in the namespace, starting from 2010-01-01 18:05:46 (UTC).

Response

{
    "batchcomplete": "",
    "continue": {
        "aicontinue": "20100101190633|Ryan_Baker_12-30-2009.JPG",
        "continue": "-||"
    },
    "query": {
        "allimages": [
            {
                "name": "DramaQueenThatGirl.jpg",
                "timestamp": "2010-01-01T18:21:57Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/1/17/DramaQueenThatGirl.jpg",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:DramaQueenThatGirl.jpg",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25646192",
                "ns": 6,
                "title": "File:DramaQueenThatGirl.jpg"
            },
            {
                "name": "VS_in_viena_austria.JPG",
                "timestamp": "2010-01-01T18:42:49Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/b/bd/VS_in_viena_austria.JPG",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:VS_in_viena_austria.JPG",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25646382",
                "ns": 6,
                "title": "File:VS in viena austria.JPG"
            },
            {
                "name": "Vasanthamtv_channel.jpg",
                "timestamp": "2010-01-01T19:03:08Z",
                "url": "https://upload.wikimedia.org/wikipedia/en/1/18/Vasanthamtv_channel.jpg",
                "descriptionurl": "https://en.wikipedia.org/wiki/File:Vasanthamtv_channel.jpg",
                "descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=25626466",
                "ns": 6,
                "title": "File:Vasanthamtv channel.jpg"
            }
            ...
        ]
    }
}

Sample code

Python

#!/usr/bin/python3

"""
    get_allimages_by_date.py

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010,
    at 18:05:46 UTC.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "allimages",
    "aisort": "timestamp",
    "aistart": "2010-01-01T18:05:46Z"
}

R = S.get(url=URL, params=PARAMS)
DATA = R.json()

IMAGES = DATA["query"]["allimages"]

for img in IMAGES:
    print(img["title"])

PHP

<?php
/*
    get_allimages_by_date.php

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allimages",
    "aisort" => "timestamp",
    "aistart" => "2010-01-01T18:05:46Z"
];

$url = $endPoint . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );

$result = json_decode( $output, true );

foreach( $result["query"]["allimages"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

/*
    get_allimages_by_date.js

    MediaWiki API Demos
    List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "query",
    format: "json",
    list: "allimages",
    aisort: "timestamp",
    aistart: "2010-01-01T18:05:46Z"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {
        var images = response.query.allimages;
        for (var img in images) {
            console.log(images[img].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

/*
	get_allimages_by_date.js

	MediaWiki API Demos
	List all images in the namespace, starting from January 1, 2010, at 18:05:46 UTC.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allimages',
		aisort: 'timestamp',
		aistart: '2010-01-01T18:05:46Z'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var images = data.query.allimages,
		img;
	for ( img in images ) {
		console.log( images[ img ].title );
	}
} );

Parameter history

  • v1.23: Introduced aiprop=canonicaltitle, aiprop=commonmetadata, aiprop=extmetadata
  • v1.20: Introduced aisort, aistart, aiend, aiuser, aifilterbots, aidir=newer, aidir=older
  • v1.18: Introduced aimime, aiprop=mediatype
  • v1.17: Introduced aiprop=userid, aiprop=parsedcomment
  • v1.14: Introduced bitdepth

Additional notes

  • Only the most recent version of each file is returned.
  • See {{ll|API:Data formats#Timestamps|Data formats}} for more information on how to properly format dates for aisort=timestamps

See also

  • API:Images - a very similar module, but it is a prop, not a list; see API:Properties and API:Lists for more details on how these two kinds of modules differ from one another.
  • API:Imageinfo - retrieves detailed information about image files.
  • API:Stashimageinfo - retrieves information about {{ll|Manual:UploadStash|stashed}} images.
  • API:Fileusage - find all pages that use the given image or images.
  • API:Duplicatefiles - find any duplicates of the given file or files.
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.