API:Langlinks

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki version: 1.11

GET request to get a list of all language links from the provided pages to other languages.

API documentation[edit]


(main | query | langlinks)

Returns all interlanguage links from the given pages.

Parameters:
llprop

Which additional properties to get for each interlanguage link:

url
Adds the full URL.
langname
Adds the localised language name (best effort). Use llinlanguagecode to control the language.
autonym
Adds the native language name.
Values (separate with | or alternative): autonym, langname, url
lllang

Only return language links with this language code.

lltitle

Link to search for. Must be used with lllang.

lldir

The direction in which to list.

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

Language code for localised language names.

Default: en
lllimit

How many langlinks to return.

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

When more results are available, use this to continue.

llurl
Deprecated.

Whether to get the full URL (cannot be used with llprop).

Type: boolean (details)
Example:
Get interlanguage links from the page Main Page.
api.php?action=query&prop=langlinks&titles=Main%20Page&redirects= [open in sandbox]

Example[edit]

GET request[edit]

Get a list of language links that a given page has.

Response[edit]

{
    "continue": {
        "llcontinue": "736|ay",
        "continue": "||"
    },
    "query": {
        "pages": {
            "736": {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "langlinks": [
                    {
                        "lang": "ab",
                        "*": "\u0410\u043b\u0431\u0435\u0440\u0442 \u0415\u0438\u043d\u0448\u0442\u0435\u0438\u043d"
                    },
                    {
                        "lang": "af",
                        "*": "Albert Einstein"
                    },
                    {
                        "lang": "als",
                        "*": "Albert Einstein"
                    },
                    ...
                ]
            }
        }
    }
}

Sample code[edit]

Python[edit]

#!/usr/bin/python3

"""
    langlinks.py
    MediaWiki API Demos
    Demo of `Langlinks` module: Get a list of language links that a given page has
    MIT License
"""

import requests

S = requests.Session()

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

PARAMS = {
    "action": "query",
    "titles": "Albert Einstein",
    "prop": "langlinks",
    "format": "json"
}

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

print(DATA)

PHP[edit]

<?php

/*
    langlinks.php
    MediaWiki API Demos
    Demo of `Langlinks` module: Get a list of language links that a given page has
    MIT License
*/

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

$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 );
var_dump( $result );

JavaScript[edit]

/*
    langlinks.js
    MediaWiki API Demos
    Demo of `Langlinks` module: Get a list of language links that a given page has
    MIT License
*/

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

var params = {
    action: "query",
    titles: "Albert Einstein",
    prop: "langlinks",
    format: "json"
};

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

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {console.log(response);})
    .catch(function(error){console.log(error);});

MediaWiki JS[edit]

/*
	langlinks.js
	MediaWiki API Demos
	Demo of `Langlinks` module: Get a list of language links that a given page has
	MIT License
*/

var params = {
		action: 'query',
		titles: 'Albert Einstein',
		prop: 'langlinks',
		format: 'json'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	console.log( data );
} );

Possible errors[edit]

Code Info
invalidparammix The title parameter may only be used with lang.

Parameter history[edit]

  • v1.23: Introduced llprop, url, langname, autonym, llinlanguagecode
  • v1.23: Deprecated llurl
  • v1.19: Introduced lldir
  • v1.18: Introduced lllang, lltitle
  • v1.17: Introduced llurl
  • v1.13: Introduced lllimit, llcontinue

See also[edit]