API:Exturlusage
![]() | This page is part of the MediaWiki Action API documentation. |
MediaWiki version: | ≥ 1.11 |
GET request to list pages that link to a certain URL, like Special:Linksearch.
API documentation
![]() | The following documentation is the output of Special: |
list=exturlusage (eu)
- This module requires read rights.
- This module can be used as a generator.
- Source: MediaWiki
- License: GPL-2.0-or-later
Enumerate pages that contain a given URL.
- euprop
Which pieces of information to include:
- ids
- Adds the ID of page.
- title
- Adds the title and namespace ID of the page.
- url
- Adds the URL used in the page.
- Values (separate with | or alternative): ids, title, url
- Default: ids|title|url
- eucontinue
When more results are available, use this to continue. More detailed information on how to continue queries can be found on mediawiki.org.
- euprotocol
Protocol of the URL. If empty and euquery is set, the protocol is http and https. Leave both this and euquery empty to list all external links.
- One of the following values: Can be empty, or bitcoin, ftp, ftps, geo, git, gopher, http, https, irc, ircs, magnet, mailto, matrix, mms, news, nntp, redis, sftp, sip, sips, sms, ssh, svn, tel, telnet, urn, worldwind, xmpp
- Default: (empty)
- euquery
Search string without protocol. See Special:LinkSearch. Leave empty to list all external links.
- eunamespace
The page namespaces to enumerate.
Note: Due to miser mode, using this may result in fewer than eulimit results returned before continuing; in extreme cases, zero results may be returned.
- 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, 710, 711, 828, 829, 1198, 1199, 2600, 5500, 5501
- To specify all values, use *.
- eulimit
How many pages to return.
- Type: integer or max
- The value must be between 1 and 500.
- Default: 10
- euexpandurl
- Deprecated.
Expand protocol-relative URLs with the canonical protocol.
- Type: boolean (details)
Example
GET request
Get a list of pages linking to slashdot.org
Response
{
"batchcomplete": "",
"continue": {
"eucontinue": "http://org.slashdot./|169423",
"continue": "-||"
},
"query": {
"exturlusage": [
{
"pageid": 533948,
"ns": 2,
"title": "User:Peter Ellis",
"url": "http://slashdot.org"
},
{
"pageid": 3274,
"ns": 2,
"title": "User:Alexdb",
"url": "http://slashdot.org/"
},
{
"pageid": 36471,
"ns": 2,
"title": "User:Joao",
"url": "http://slashdot.org/"
}
...
]
}
}
Sample code
Python
#!/usr/bin/python3
"""
get_exturlusage.py
MediaWiki API Demos
Demo of `Exturlusage` module: Enumerate pages that contain a given URL.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "exturlusage",
"euquery": "slashdot.org"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
EXTURLS = DATA["query"]["exturlusage"]
for exturl in EXTURLS:
print("Page " + exturl["title"] + " has " + exturl["url"] + " url.")
PHP
<?php
/*
get_exturlusage.php
MediaWiki API Demos
Demo of `Exturlusage` module: Enumerate pages that contain a given URL.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "exturlusage",
"euquery" => "slashdot.org"
];
$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"]["exturlusage"] as $k => $v ) {
echo( "Page " . $v["title"] . " has " . $v["url"] . " url. \n" );
}
JavaScript
/*
get_exturlusage.js
MediaWiki API Demos
Demo of `Exturlusage` module: Enumerate pages that contain a given URL.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "exturlusage",
euquery: "slashdot.org"
};
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 exturls = response.query.exturlusage;
for (var exturl in exturls) {
console.log("Page " + exturls[exturl].title + " has " + exturls[exturl].url + " url.");
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_exturlusage.js
MediaWiki API Demos
Demo of `Exturlusage` module: Enumerate pages that contain a given URL.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'exturlusage',
euquery: 'slashdot.org'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var exturls = data.query.exturlusage,
exturl;
for ( exturl in exturls ) {
console.log( 'Page ' + exturls[ exturl ].title + ' has ' + exturls[ exturl ].url + ' url.' );
}
} );
Possible errors
Code | Info |
---|---|
unknown_euprotocol | Wrong property for protocol parameter (use value from the list of supported protocols) |
badcontinue | Invalid continue param. You should pass the original value returned by the previous query. |
Parameter history
- v1.21: Introduced
euexpandurl
See also
- API:Backlinks - lists links to a given page.
- API:Links - retrieves links on a given page or pages.
- API:Iwlinks - Find interwiki links on a given page (i.e, meta pages, special pages).
- API:Extlinks - Find all external links on a given page.
- API:Langlinks - Get a list of language links from the given page. Language links represent translations.
- API:Langbacklinks - Get a list of pages that contains a given language link.