API:Extlinks

Other languages:
MediaWiki version:
1.11

GET request to get a list of all external links on the provided pages.

API documentationEdit


(main | query | extlinks)

Returns all external URLs (not interwikis) from the given pages.

Parameters:
ellimit

How many links to return.

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

When more results are available, use this to continue.

elprotocol

Protocol of the URL. If empty and elquery is set, the protocol is http. Leave both this and elquery 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, mms, news, nntp, redis, sftp, sip, sips, sms, ssh, svn, tel, telnet, urn, worldwind, xmpp
Default: (empty)
elquery

Search string without protocol. Useful for checking whether a certain page contains a certain external url.

elexpandurl

Expand protocol-relative URLs with the canonical protocol.

Type: boolean (details)
Example:
Get a list of external links on Main Page.
api.php?action=query&prop=extlinks&titles=Main%20Page [open in sandbox]

ExampleEdit

GET requestEdit

Get a list of external links on a page.


ResponseEdit

{
    "continue": {
        "elcontinue": "http://ch.unibe.philosci40./lehre/winter99/einstein/Walker_S|267300440",
        "continue": "||"
    },
    "query": {
        "pages": {
            "736": {
                "pageid": 736,
                "ns": 0,
                "title": "Albert Einstein",
                "extlinks": [
                    {
                        "*": "http://sedici.unlp.edu.ar/handle/10915/2785"
                    },
                    {
                        "*": "http://sedici.unlp.edu.ar/handle/10915/2786"
                    },
                    {
                        "*": "http://einstein.biz/"
                    },
                    ...
                ]
            }
        }
    }
}

Sample codeEdit

PythonEdit

#!/usr/bin/python3

"""
    get_extlinks.py
    MediaWiki API Demos
    Demo of `Extlinks` module: Get a list of external links on a page
    MIT License
"""

import requests

S = requests.Session()

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

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

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

print(DATA)

PHPEdit

<?php

/*
    get_extlinks.php
    MediaWiki API Demos
    Demo of `Extlinks` module: Get a list of external links on a page
    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "query",
    "titles" => "Albert Einstein",
    "prop" => "extlinks",
    "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 );

JavaScriptEdit

/*
    get_extlinks.js
    MediaWiki API Demos
    Demo of `Extlinks` module: Get a list of external links on a page
    MIT License
*/

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

var params = {
    action: "query",
    titles: "Albert Einstein",
    prop: "extlinks",
    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 JSEdit

/*
	get_extlinks.js
	MediaWiki API Demos
	Demo of `Extlinks` module: Get a list of external links on a page
	MIT License
*/

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

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

Parameter historyEdit

  • v1.21: Introduced elexpandurl
  • v1.18: Introduced elprotocol, elquery
  • v1.13: Introduced ellimit, eloffset

See alsoEdit

  • API:Iwlinks - Returns all interwiki links from the given pages.
  • API:Links - Returns all links from the given pages.