API:Backlinks
This page is part of the MediaWiki Action API documentation. |
MediaWiki version: | ≥ 1.9 |
GET request to list pages which link to a certain page.
API documentation edit
list=backlinks (bl)
Find all pages that link to the given page. Specific parameters: Other general parameters are available.
Examples:
|
Example edit
GET request edit
List backlinks to the philosophy page.
Response edit
{
"batchcomplete": "",
"continue": {
"blcontinue": "1|987",
"continue": "-||"
},
"query": {
"backlinks": [
{
"pageid": 12,
"ns": 0,
"title": "Anarchism"
},
{
"pageid": 128,
"ns": 1,
"title": "Talk:Atlas Shrugged"
},
{
"pageid": 336,
"ns": 0,
"title": "Altruism"
},
...
]
}
}
Sample code edit
Python edit
#!/usr/bin/python3
"""
get_backlinks.py
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "backlinks",
"bltitle": "philosophy"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
BACKLINKS = DATA["query"]["backlinks"]
for b in BACKLINKS:
print(b["title"])
PHP edit
<?php
/*
get_backlinks.php
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "backlinks",
"bltitle" => "philosophy"
];
$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"]["backlinks"] as $k => $v ) {
echo( $v["title"] . "\n" );
}
JavaScript edit
/*
get_backlinks.js
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "backlinks",
bltitle: "philosophy"
};
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 backlinks = response.query.backlinks;
for (var b in backlinks) {
console.log(backlinks[b].title);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS edit
/*
get_backlinks.js
MediaWiki API Demos
Demo of `Backlinks` module: Get request to list pages which link to a certain page.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'backlinks',
bltitle: 'philosophy'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var backlinks = data.query.backlinks,
b;
for ( b in backlinks ) {
console.log( backlinks[ b ].title );
}
} );
Redirects edit
In the example above, only direct links to the philosophy page are returned.
When blredirect
is set, the response will include any pages which backlink to redirects for the value in bltitle
.
These redirected backlinks are treated as separate groups within the response hierarchy, one level down from the redirect itself.
The limit set in bllimit
applies separately to each level of the response, so bllimit=25
would return up to 25 direct backlinks, and up to 25 backlinks within each individual redirect.
In addition, using blcontinue
when a redirect was in the response will return more second-level backlinks, before finally moving on to more direct backlinks, once all the backlinks for a redirect have been returned in full.
Possible errors edit
Code | Info |
---|---|
blbadcontinue | Invalid continue param. You should pass the original value returned by the previous query. |
See also edit
- API:Linkshere - finds all pages that link to a given page. Note that, unlike API:Backlinks, which is a
list
module, API:Linkshere is aprop
module. See the respective pages on API:Properties and API:Lists for how these two kinds of modules differ. - API:Transcludedin - a
prop
module that finds all pages that transclude (i.e. embed information from) the given pages. - API:Embeddedin - a
list
module which lists backlinks via transclusion, similar to Special:Whatlinkshere. - API:Imageusage - lists pages that use the given image(s).
- API:Fileusage - lists pages that use the given file(s).