Jump to content

API:Imageusage

From mediawiki.org
MediaWiki version:
1.9

GET request to find all pages that use a given image title.

This module can be used as a generator .

In MW 1.9 and 1.10, the module name was imagelinks.

API documentation

[edit]

list=imageusage (iu)

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

Find all pages that use the given image title.

Specific parameters:
Other general parameters are available.
iutitle

Title to search. Cannot be used together with iupageid.

iupageid

Page ID to search. Cannot be used together with iutitle.

Type: integer
iucontinue

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

iunamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 90, 91, 92, 93, 100, 101, 102, 103, 104, 105, 106, 107, 486, 487, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
To specify all values, use *.
iudir

The direction in which to list.

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

How to filter for redirects. If set to nonredirects when iuredirect is enabled, this is only applied to the second level.

One of the following values: all, nonredirects, redirects
Default: all
iulimit

How many total pages to return. If iuredirect is enabled, the limit applies to each level separately (which means up to 2 * iulimit results may be returned).

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

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)


Example

[edit]

GET request

[edit]
Get the first three pages that use a given image title.

Response

[edit]
{
  "batchcomplete": "",
  "continue": {
    "continue": "-||",
    "iucontinue": "4|33464895"
  },
  "query": {
    "imageusage": [
      {
        "ns": 0,
        "pageid": 14072,
        "title": "History of Wikipedia"
      },
      {
        "ns": 4,
        "pageid": 16842768,
        "title": "Wikipedia:Wikipedia logos"
      },
      {
        "ns": 2,
        "pageid": 30536602,
        "title": "User:J Komara"
      }
    ]
  }
}

Sample code

[edit]

Python

[edit]
#!/usr/bin/python3

"""
    python/get_imageusage.py

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "list": "imageusage",
    "iutitle": "File:Wiki_logo_Nupedia.jpg",
    "iulimit": "3"
}

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

PAGES = DATA["query"]["imageusage"]

for p in PAGES:
    print(p["title"])

PHP

[edit]
<?php
/*
    get_imageusage.php

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "list" => "imageusage",
    "iutitle" => "File:Wiki_logo_Nupedia.jpg",
    "iulimit" => "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"]["imageusage"] as $k => $v ) {
    echo( $v["title"] . "\n" );
}

JavaScript

[edit]
/*
    get_imageusage.js

    MediaWiki API Demos
    Demo of `Imageusage` module: List the first 3 pages that use a given image title

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    list: "imageusage",
    iutitle: "File:Wiki_logo_Nupedia.jpg",
    iulimit: "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 pages = response.query.imageusage;
        for (var p in pages) {
            console.log(pages[p].title);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

[edit]
/*
	get_imageusage.js

	MediaWiki API Demos
	Demo of `Imageusage` module: List the first 3 pages that use a given image title

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		list: 'imageusage',
		iutitle: 'File:Wiki_logo_Nupedia.jpg',
		iulimit: '3'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var pages = data.query.imageusage,
		p;
	for ( p in pages ) {
		console.log( pages[ p ].title );
	}
} );

Possible errors

[edit]
Code Info
iubadcontinue Invalid continue param. You should pass the original value returned by the previous query.

See also

[edit]