API:Exturlusage

From MediaWiki.org
Jump to navigation Jump to search

Other languages:
English • ‎dansk • ‎español • ‎polski • ‎日本語
MediaWiki version: 1.11

GET request to list pages that link to a certain URL, like Special:Linksearch.

API documentation[edit]


list=exturlusage (eu)

(main | query | exturlusage)
  • 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.

Parameters:
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.

euprotocol

Protocol of the URL. If empty and euquery is set, the protocol is http. 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, 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, 486, 487, 828, 829, 1198, 1199, 2300, 2301, 2302, 2303, 2600, 5500, 5501
To specify all values, use *.
eulimit

How many pages to return.

No more than 500 (5,000 for bots) allowed.
Type: integer or max
Default: 10
euexpandurl

Expand protocol-relative URLs with the canonical protocol.

Type: boolean (details)

Example[edit]

GET request[edit]

Get a list of pages linking to slashdot.org

Response[edit]

{
    "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[edit]

get_exturlusage.py

#!/usr/bin/python3

"""
    get_exturlusage.py

    MediaWiki Action API Code Samples
    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()

print(DATA)

Possible errors[edit]

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[edit]

  • v1.21: Introduced euexpandurl

See also[edit]

  • 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.