API:Info

(Redirected from API:Query - Page Info)
MediaWiki version:
1.8

GET request to display basic information about the given page(s).

API documentationEdit


prop=info (in)

(main | query | info)

Get basic page information.

Parameters:
inprop

Which additional properties to get:

protection
List the protection level of each page.
talkid
The page ID of the talk page for each non-talk page.
watched
List the watched status of each page.
watchers
The number of watchers, if allowed.
visitingwatchers
The number of watchers of each page who have visited recent edits to that page, if allowed.
notificationtimestamp
The watchlist notification timestamp of each page.
subjectid
The page ID of the parent page for each talk page.
associatedpage
The prefixed title of the associated subject or talk page.
url
Gives a full URL, an edit URL, and the canonical URL for each page.
readable
Deprecated. Whether the user can read this page. Use intestactions=read instead.
preload
Gives the text returned by EditFormPreloadText.
displaytitle
Gives the manner in which the page title is actually displayed.
varianttitles
Gives the display title in all variants of the site content language.
linkclasses
Gives the additional CSS classes (e.g. link colors) used for links to this page if they were to appear on the page named by inlinkcontext.
Values (separate with | or alternative): associatedpage, displaytitle, linkclasses, notificationtimestamp, preload, protection, subjectid, talkid, url, varianttitles, visitingwatchers, watched, watchers, readable
inlinkcontext

The context title to use when determining extra CSS classes (e.g. link colors) when inprop contains linkclasses.

Type: page title
Accepts non-existent pages.
Default: MediaWiki
intestactions

Test whether the current user can perform certain actions on the page.

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

Detail level for intestactions. Use the main module's errorformat and errorlang parameters to control the format of the messages returned.

boolean
Return a boolean value for each action.
full
Return messages describing why the action is disallowed, or an empty array if it is allowed.
quick
Like full but skipping expensive checks.
One of the following values: boolean, full, quick
Default: boolean
incontinue

When more results are available, use this to continue.

Examples:
Get information about the page Main Page.
api.php?action=query&prop=info&titles=Main%20Page [open in sandbox]
Get general and protection information about the page Main Page.
api.php?action=query&prop=info&inprop=protection&titles=Main%20Page [open in sandbox]

ExampleEdit

GET requestEdit

Get info about the w:Albert Einstein page, including the talk page's id, and URLs associated with the page


ResponseEdit

{
    "batchcomplete": "",
    "query": {
        "pages": {
            "736": {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "contentmodel": "wikitext",
                "pagelanguage": "en",
                "pagelanguagehtmlcode": "en",
                "pagelanguagedir": "ltr",
                "touched": "2018-12-13T11:58:27Z",
                "lastrevid": 873382746,
                "length": 154728,
                "talkid": 21091085,
                "fullurl": "https://en.wikipedia.org/wiki/Albert_Einstein",
                "editurl": "https://en.wikipedia.org/w/index.php?title=Albert_Einstein&action=edit",
                "canonicalurl": "https://en.wikipedia.org/wiki/Albert_Einstein"
            }
        }
    }
}

Sample codeEdit

PythonEdit

#!/usr/bin/python3

"""
    get_info.py

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "format": "json",
    "titles": "Albert Einstein",
    "prop": "info",
    "inprop": "url|talkid"
}

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

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

for k, v in PAGES.items():
    print(v["title"] + " has " + str(v["length"]) + " bytes.")

PHPEdit

<?php
/*
    get_info.php

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "format" => "json",
    "titles" => "Albert Einstein",
    "prop" => "info",
    "inprop" => "url|talkid"
];

$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"] . " has " . $v["length"] . " bytes." . "\n" );
}

JavaScriptEdit

/*
    get_info.js

    MediaWiki API Demos
    Demo of `Info` module: Send a GET request to display information about a page.

    MIT License
*/

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

var params = {
    action: "query",
    format: "json",
    titles: "Albert Einstein",
    prop: "info",
    inprop: "url|talkid"
};

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 + " has " + pages[p].length + " bytes.");
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JSEdit

/*
	get_info.js

	MediaWiki API Demos
	Demo of `Info` module: Send a GET request to display information about a page.

	MIT License
*/

var params = {
		action: 'query',
		format: 'json',
		titles: 'Albert Einstein',
		prop: 'info',
		inprop: 'url|talkid'
	},
	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 + ' has ' + pages[ p ].length + ' bytes.' );
	}
} );

Parameter historyEdit

  • v1.27: Introduced visitingwatchers
  • v1.25: Introduced intestactions
  • v1.24: Deprecated intoken
  • v1.21: Introduced watchers
  • v1.20: Introduced notificationtimestamp
  • v1.17: Introduced displaytitle
  • v1.16: Introduced watched, preload
  • v1.14: Introduced url, readable
  • v1.13: Introduced talkid, subjectid
  • v1.11: Introduced inprop, protection, intoken

Additional notesEdit

See alsoEdit