API:Allfileusages

From mediawiki.org
MediaWiki version:
1.22

GET request to list all file usages, including non-existing.

API documentation[edit]


list=allfileusages (af)

(main | query | allfileusages)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

List all file usages, including non-existing.

Specific parameters:
Other general parameters are available.
afcontinue

When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.

affrom

The title of the file to start enumerating from.

afto

The title of the file to stop enumerating at.

afprefix

Search for all file titles that begin with this value.

afunique

Only show distinct file titles. Cannot be used with afprop=ids.

When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
afprop

Which pieces of information to include:

ids
Adds the page IDs of the using pages (cannot be used with afunique).
title
Adds the title of the file.
Values (separate with | or alternative): ids, title
Default: title
aflimit

How many total items to return.

Type: integer or max
The value must be between 1 and 500.
Default: 10
afdir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending

Example[edit]

GET request[edit]

List the first 10 used files starting with the word "Icon" and what page ids they are used on


Response[edit]

{
    "batchcomplete": "",
    "continue": {
        "afcontinue": "Icon-C4004.jpg|7174658",
        "continue": "-||"
    },
    "query": {
        "allfileusages": [
            {
                "fromid": 12221220,
                "ns": 6,
                "title": "File:Icon"
            },
            {
                "fromid": 12274856,
                "ns": 6,
                "title": "File:Icon"
            },
            {
                "fromid": 14729339,
                "ns": 6,
                "title": "File:Icon"
            }
            ...
        ]
    }
}

Sample code[edit]

Python[edit]

#!/usr/bin/python3

"""
    get_allfileusages.py

    MediaWiki API Demos
    Demo of `allfileusage` module: List all file usages, including non-existing

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "afprefix": "Icon",
    "list": "allfileusages",
    "afprop": "ids|title",
    "format": "json"
}

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

USAGES = DATA["query"]["allfileusages"]

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

PHP[edit]

<?php
/*
    get_allfileusages.php

    MediaWiki API Demos
    Demo of `allfileusage` module: List all file usages, including non-existing.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "allfileusages",
    "afprefix" => "Icon",
    "afprop" => "ids|title"
];

$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"]["allfileusages"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript[edit]

/*
    get_allfileusages.js

    MediaWiki API Demos
    Demo of `allfileusage` module: List all file usages, including non-existing.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "allfileusages",
    afprefix: "Icon",
    afprop: "ids|title"
};

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 usages = response.query.allfileusages;
        for (var img in usages) {
            console.log(usages[img].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS[edit]

/*
	get_allfileusages.js

	MediaWiki API Demos
	Demo of `allfileusage` module: List all file usages, including non-existing.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'allfileusages',
		afprefix: 'Icon',
		afprop: 'ids|title'
	},
	api = new mw.Api();

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

See also[edit]