Jump to content

API:Imageinfo

From mediawiki.org
MediaWiki version:
1.11

GET request to retrieve information about an image file or files.

This module can be used as a generator .

API documentation

[edit]

prop=imageinfo (ii)

(main | query | imageinfo)

Returns file information and upload history.

Specific parameters:
Other general parameters are available.
iiprop

Which file information to get:

timestamp
Adds timestamp for the uploaded version.
user
Adds the user who uploaded each file version. If the user has been revision deleted, a userhidden property will be returned.
userid
Add the ID of the user that uploaded each file version. If the user has been revision deleted, a userhidden property will be returned.
comment
Comment on the version. If the comment has been revision deleted, a commenthidden property will be returned.
parsedcomment
Parse the comment on the version. If the comment has been revision deleted, a commenthidden property will be returned.
canonicaltitle
Adds the canonical title of the file. If the file has been revision deleted, a filehidden property will be returned.
url
Gives URL to the file and the description page. If the file has been revision deleted, a filehidden property will be returned.
size
Adds the size of the file in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
sha1
Adds SHA-1 hash for the file. If the file has been revision deleted, a filehidden property will be returned.
mime
Adds MIME type of the file. If the file has been revision deleted, a filehidden property will be returned.
thumbmime
Adds MIME type of the image thumbnail (requires url and param iiurlwidth). If the file has been revision deleted, a filehidden property will be returned.
mediatype
Adds the media type of the file. If the file has been revision deleted, a filehidden property will be returned.
metadata
Lists Exif metadata for the version of the file. If the file has been revision deleted, a filehidden property will be returned.
commonmetadata
Lists file format generic metadata for the version of the file. If the file has been revision deleted, a filehidden property will be returned.
extmetadata
Lists formatted metadata combined from multiple sources. Results are HTML formatted. If the file has been revision deleted, a filehidden property will be returned.
archivename
Adds the filename of the archive version for non-latest versions. If the file has been revision deleted, a filehidden property will be returned.
bitdepth
Adds the bit depth of the version. If the file has been revision deleted, a filehidden property will be returned.
uploadwarning
Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.
badfile
Adds whether the file is on the MediaWiki:Bad image list
Values (separate with | or alternative): archivename, badfile, bitdepth, canonicaltitle, comment, commonmetadata, dimensions, extmetadata, mediatype, metadata, mime, parsedcomment, sha1, size, thumbmime, timestamp, uploadwarning, url, user, userid
Default: timestamp|user
iilimit

How many file revisions to return per file.

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

Timestamp to start listing from.

Type: timestamp (allowed formats)
iiend

Timestamp to stop listing at.

Type: timestamp (allowed formats)
iiurlwidth

If iiprop=url is set, a URL to an image scaled to this width will be returned.

For performance reasons if this option is used, no more than 50 scaled images will be returned.

Type: integer
Default: -1
iiurlheight

Similar to iiurlwidth.

Type: integer
Default: -1
iimetadataversion

Version of metadata to use. If latest is specified, use latest version. Defaults to 1 for backwards compatibility.

Default: 1
iiextmetadatalanguage

What language to fetch extmetadata in. This affects both which translation to fetch, if multiple are available, as well as how things like numbers and various values are formatted.

Default: en
iiextmetadatamultilang

If translations for extmetadata property are available, fetch all of them.

Type: boolean (details)
iiextmetadatafilter

If specified and non-empty, only these keys will be returned for iiprop=extmetadata.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
iiurlparam

A handler specific parameter string. For example, PDFs might use page15-100px. iiurlwidth must be used and be consistent with iiurlparam.

Default: (empty)
iibadfilecontexttitle

If badfilecontexttitleprop=badfile is set, this is the page title used when evaluating the MediaWiki:Bad image list

iicontinue

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

iilocalonly

Look only for files in the local repository.

Type: boolean (details)


Example

[edit]

GET request

[edit]
Get information about the file, File:Billy_Tipton.jpg

Response

[edit]
Request URL:

{
    "batchcomplete": "",
    "query": {
        "normalized": [
            {
                "from": "File:Billy_Tipton.jpg",
                "to": "File:Billy Tipton.jpg"
            }
        ],
        "pages": {
            "36266497": {
                "pageid": 36266497,
                "ns": 6,
                "title": "File:Billy Tipton.jpg",
                "imagerepository": "local",
                "imageinfo": [
                    {
                        "timestamp": "2012-06-27T21:16:21Z",
                        "user": "Gobonobo"
                    }
                ]
            }
        }
    }
}

Sample code

[edit]

Python

[edit]
#This file is auto-generated. See modules.json and autogenerator.py for details

#!/usr/bin/python3

"""
    get_imageinfo.py

    MediaWiki API Demos
    Demo of `Imageinfo` module: Get information about an image file.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "prop": "imageinfo",
    "titles": "File:Billy_Tipton.jpg"
}

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

PAGES = DATA["query"]["pages"]

for k, v in PAGES.items():
    print(v["title"] + " is uploaded by User:" + v["imageinfo"][0]["user"])

PHP

[edit]
<?php

//This file is autogenerated. See modules.json and autogenerator.py for details

/*
    get_imageinfo.php

    MediaWiki API Demos
    Demo of `Imageinfo` module: Get information about an image file.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "prop" => "imageinfo",
    "titles" => "File:Billy Tipton.jpg"
];

$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"]["pages"] as $k => $v ) {
    echo( $v["title"] . " is uploaded by User:" . $v["imageinfo"][0]["user"] . "\n" );
}

JavaScript

[edit]
//This file is autogenerated. See modules.json and autogenerator.py for details

/*
    get_imageinfo.js

    MediaWiki API Demos
    Demo of `Imageinfo` module: Get information about an image file.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    prop: "imageinfo",
    titles: "File:Billy Tipton.jpg"
};

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.pages;
        for (var p in pages) {
            console.log(pages[p].title + " is uploaded by User:" + pages[p].imageinfo[0].user);
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JS

[edit]
// This file is autogenerated. See modules.json and autogenerator.py for details

/*
	get_imageinfo.js

	MediaWiki API Demos
	Demo of `Imageinfo` module: Get information about an image file.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		prop: 'imageinfo',
		titles: 'File:Billy Tipton.jpg'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var pages = data.query.pages,
		p;
	for ( p in pages ) {
		console.log( pages[ p ].title + ' is uploaded by User:' + pages[ p ].imageinfo[ 0 ].user );
	}
} );

Demo app(s)

[edit]

Possible errors

[edit]
Code Info
invalid-title Invalid title in iibadfilecontexttitle parameter.
invalidurlparam Invalid value for iiurlparam (name=value).
urlparamnormal Could not normalize image parameters for name.

Parameter history

[edit]
  • v1.23: Introduced canonicaltitle, commonmetadata, iiextmetadatalanguage, iiextmetadatamultilang, iiextmetadatafilter
  • v1.22: Introduced uploadwarning
  • v1.20: Introduced iilocalonly
  • v1.18: Introduced iimetadataversion, iiurlparam
  • v1.17: Introduced userid, parsedcomment, thumbmime, extmetadata
  • v1.16: Introduced dimensions
  • v1.15: Introduced iicontinue
  • v1.14: Introduced bitdepth
  • v1.13: Introduced mime, archivename
  • v1.12: Deprecated iihistory
  • v1.12: Introduced iilimit, iistart, iiend, iiurlwidth, iiurlheight

Additional notes

[edit]
  • Files uploaded to the Wikimedia Commons will appear to be missing when accessed from other MediaWiki wikis.
  • The timestamp from this module indicates the last time the image was modified.

See also

[edit]