MediaWiki API help

This is an auto-generated MediaWiki API documentation page.

Documentation and examples: https://www.mediawiki.org/wiki/API

Main module

Status: All features shown on this page should be working, but the API is still in active development, and may change at any time. Subscribe to the mediawiki-api-announce mailing list for notice of updates.

Erroneous requests: When erroneous requests are sent to the API, an HTTP header will be sent with the key "MediaWiki-API-Error" and then both the value of the header and the error code sent back will be set to the same value. For more information see API: Errors and warnings.

Testing: For ease of testing API requests, see Special:ApiSandbox.

Parameters:
action

Which action to perform.

One of the following values: block, categorytree, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, embedvideo, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, mobileview, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, watch
Default: help
format

The format of the output.

One of the following values: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
Default: jsonfm
maxlag

Maximum lag can be used when MediaWiki is installed on a database replicated cluster. To save actions causing any more site replication lag, this parameter can make the client wait until the replication lag is less than the specified value. In case of excessive lag, error code maxlag is returned with a message like Waiting for $host: $lag seconds lagged.
See Manual: Maxlag parameter for more information.

Type: integer
smaxage

Set the s-maxage HTTP cache control header to this many seconds. Errors are never cached.

Type: integer
Default: 0
maxage

Set the max-age HTTP cache control header to this many seconds. Errors are never cached.

Type: integer
Default: 0
assert

Verify the user is logged in if set to user, or has the bot user right if bot.

One of the following values: user, bot
assertuser

Verify the current user is the named user.

Type: user name
requestid

Any value given here will be included in the response. May be used to distinguish requests.

servedby

Include the hostname that served the request in the results.

Type: boolean (details)
curtimestamp

Include the current timestamp in the result.

Type: boolean (details)
origin

When accessing the API using a cross-domain AJAX request (CORS), set this to the originating domain. This must be included in any pre-flight request, and therefore must be part of the request URI (not the POST body).

For authenticated requests, this must match one of the origins in the Origin header exactly, so it has to be set to something like https://en.wikipedia.org or https://meta.wikimedia.org. If this parameter does not match the Origin header, a 403 response will be returned. If this parameter matches the Origin header and the origin is whitelisted, the Access-Control-Allow-Origin and Access-Control-Allow-Credentials headers will be set.

For non-authenticated requests, specify the value *. This will cause the Access-Control-Allow-Origin header to be set, but Access-Control-Allow-Credentials will be false and all user-specific data will be restricted.

uselang

Language to use for message translations. action=query&meta=siteinfo with siprop=languages returns a list of language codes, or specify user to use the current user's language preference, or specify content to use this wiki's content language.

Default: user
Permissions:
writeapi
Use of the write API
Granted to: all, user, bot
apihighlimits
Use higher limits in API queries (slow queries: 500; fast queries: 5000). The limits for slow queries also apply to multivalue parameters.
Granted to: bot, sysop

action=block

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Block a user.

Parameters:
user

Username, IP address, or IP address range to block.

This parameter is required.
Type: user name
expiry

Expiry time. May be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). If set to infinite, indefinite, or never, the block will never expire.

Default: never
reason

Reason for block.

Default: (empty)
anononly

Block anonymous users only (i.e. disable anonymous edits for this IP address).

Type: boolean (details)
nocreate

Prevent account creation.

Type: boolean (details)
autoblock

Automatically block the last used IP address, and any subsequent IP addresses they try to login from.

Type: boolean (details)
noemail

Prevent user from sending email through the wiki. (Requires the blockemail right).

Type: boolean (details)
hidename

Hide the username from the block log. (Requires the hideuser right).

Type: boolean (details)
allowusertalk

Allow the user to edit their own talk page (depends on $wgBlockAllowsUTEdit).

Type: boolean (details)
reblock

If the user is already blocked, overwrite the existing block.

Type: boolean (details)
watchuser

Watch the user's or IP address's user and talk pages.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Examples:
Block IP address 192.0.2.5 for three days with reason First strike.
api.php?action=block&user=192.0.2.5&expiry=3%20days&reason=First%20strike&token=123ABC [open in sandbox]
Block user Vandal indefinitely with reason Vandalism, and prevent new account creation and email sending.
api.php?action=block&user=Vandal&expiry=never&reason=Vandalism&nocreate=&autoblock=&noemail=&token=123ABC [open in sandbox]

action=categorytree

  • This module is internal or unstable. Its operation may change without notice.
  • This module requires read rights.
  • Source: CategoryTree
  • License: GPL-2.0+

Internal module for the CategoryTree extension.

Parameters:
category

Title in the category namespace, prefix will be ignored if given.

This parameter is required.
options

Options for the CategoryTree constructor as a JSON object. The depth option defaults to 1.

action=changeauthenticationdata (changeauth)

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Change authentication data for the current user.

Parameters:
changeauthrequest

Use this authentication request, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=change.

This parameter is required.
changeauthtoken

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
*
This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=change (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.

action=checktoken

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Check the validity of a token from action=query&meta=tokens.

Parameters:
type

Type of token being tested.

This parameter is required.
One of the following values: createaccount, csrf, login, patrol, rollback, userrights, watch
token

Token to test.

This parameter is required.
maxtokenage

Maximum allowed age of the token, in seconds.

Type: integer

action=clearhasmsg

  • This module requires read rights.
  • This module requires write rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Clears the hasmsg flag for the current user.

Example:
Clear the hasmsg flag for the current user.
api.php?action=clearhasmsg [open in sandbox]

action=clientlogin (login)

  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Log in to the wiki using the interactive flow.

The general procedure to use this module is:

  1. Fetch the fields available from action=query&meta=authmanagerinfo with amirequestsfor=login, and a login token from action=query&meta=tokens.
  2. Present the fields to the user, and obtain their submission.
  3. Post to this module, supplying loginreturnurl and any relevant fields.
  4. Check the status in the response.
    • If you received PASS or FAIL, you're done. The operation either succeeded or it didn't.
    • If you received UI, present the new fields to the user and obtain their submission. Then post to this module with logincontinue and the relevant fields set, and repeat step 4.
    • If you received REDIRECT, direct the user to the redirecttarget and wait for the return to loginreturnurl. Then post to this module with logincontinue and any fields passed to the return URL, and repeat step 4.
    • If you received RESTART, that means the authentication worked but we don't have a linked user account. You might treat this as UI or as FAIL.
Parameters:
loginrequests

Only use these authentication requests, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=login or from a previous response from this module.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
loginmessageformat

Format to use for returning messages.

One of the following values: html, wikitext, raw, none
Default: wikitext
loginmergerequestfields

Merge field information for all authentication requests into one array.

Type: boolean (details)
loginpreservestate

Preserve state from a previous failed login attempt, if possible.

Type: boolean (details)
loginreturnurl

Return URL for third-party authentication flows, must be absolute. Either this or logincontinue is required.

Upon receiving a REDIRECT response, you will typically open a browser or web view to the specified redirecttarget URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a logincontinue request to this API module.

logincontinue

This request is a continuation after an earlier UI or REDIRECT response. Either this or loginreturnurl is required.

Type: boolean (details)
logintoken

A "login" token retrieved from action=query&meta=tokens

This parameter is required.
*
This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=login (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.
Examples:
Start the process of logging in to the wiki as user Example with password ExamplePassword.
api.php?action=clientlogin&username=Example&password=ExamplePassword&loginreturnurl=http://example.org/&logintoken=123ABC [open in sandbox]
Continue logging in after a UI response for two-factor auth, supplying an OATHToken of 987654.
api.php?action=clientlogin&logincontinue=1&OATHToken=987654&logintoken=123ABC [open in sandbox]

action=compare

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get the difference between 2 pages.

A revision number, a page title, or a page ID for both "from" and "to" must be passed.

Parameters:
fromtitle

First title to compare.

fromid

First page ID to compare.

Type: integer
fromrev

First revision to compare.

Type: integer
totitle

Second title to compare.

toid

Second page ID to compare.

Type: integer
torev

Second revision to compare.

Type: integer
Example:
Create a diff between revision 1 and 2.
api.php?action=compare&fromrev=1&torev=2 [open in sandbox]

action=createaccount (create)

  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Create a new user account.

The general procedure to use this module is:

  1. Fetch the fields available from action=query&meta=authmanagerinfo with amirequestsfor=create, and a createaccount token from action=query&meta=tokens.
  2. Present the fields to the user, and obtain their submission.
  3. Post to this module, supplying createreturnurl and any relevant fields.
  4. Check the status in the response.
    • If you received PASS or FAIL, you're done. The operation either succeeded or it didn't.
    • If you received UI, present the new fields to the user and obtain their submission. Then post to this module with createcontinue and the relevant fields set, and repeat step 4.
    • If you received REDIRECT, direct the user to the redirecttarget and wait for the return to createreturnurl. Then post to this module with createcontinue and any fields passed to the return URL, and repeat step 4.
    • If you received RESTART, that means the authentication worked but we don't have a linked user account. You might treat this as UI or as FAIL.
Parameters:
createrequests

Only use these authentication requests, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=create or from a previous response from this module.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
createmessageformat

Format to use for returning messages.

One of the following values: html, wikitext, raw, none
Default: wikitext
createmergerequestfields

Merge field information for all authentication requests into one array.

Type: boolean (details)
createpreservestate

Preserve state from a previous failed login attempt, if possible.

If action=query&meta=authmanagerinfo returned true for hasprimarypreservedstate, requests marked as primary-required should be omitted. If it returned a non-empty value for preservedusername, that username must be used for the username parameter.

Type: boolean (details)
createreturnurl

Return URL for third-party authentication flows, must be absolute. Either this or createcontinue is required.

Upon receiving a REDIRECT response, you will typically open a browser or web view to the specified redirecttarget URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a createcontinue request to this API module.

createcontinue

This request is a continuation after an earlier UI or REDIRECT response. Either this or createreturnurl is required.

Type: boolean (details)
createtoken

A "createaccount" token retrieved from action=query&meta=tokens

This parameter is required.
*
This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=create (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.

action=cspreport

  • This module is internal or unstable. Its operation may change without notice.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Used by browsers to report violations of the Content Security Policy. This module should never be used, except when used automatically by a CSP compliant web browser.

Parameters:
reportonly

Mark as being a report from a monitoring policy, not an enforced policy

Type: boolean (details)
source

What generated the CSP header that triggered this report

Default: internal

action=delete

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Delete a page.

Parameters:
title

Title of the page to delete. Cannot be used together with pageid.

pageid

Page ID of the page to delete. Cannot be used together with title.

Type: integer
reason

Reason for the deletion. If not set, an automatically generated reason will be used.

tags

Change tags to apply to the entry in the deletion log.

Values (separate with | or alternative):
watch
Deprecated.

Add the page to the current user's watchlist.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
unwatch
Deprecated.

Remove the page from the current user's watchlist.

Type: boolean (details)
oldimage

The name of the old image to delete as provided by action=query&prop=imageinfo&iiprop=archivename.

token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=edit

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Create and edit pages.

Parameters:
title

Title of the page to edit. Cannot be used together with pageid.

pageid

Page ID of the page to edit. Cannot be used together with title.

Type: integer
section

Section number. 0 for the top section, new for a new section.

sectiontitle

The title for a new section.

text

Page content.

summary

Edit summary. Also section title when section=new and sectiontitle is not set.

tags

Change tags to apply to the revision.

Values (separate with | or alternative):
minor

Minor edit.

Type: boolean (details)
notminor

Non-minor edit.

Type: boolean (details)
bot

Mark this edit as a bot edit.

Type: boolean (details)
basetimestamp

Timestamp of the base revision, used to detect edit conflicts. May be obtained through action=query&prop=revisions&rvprop=timestamp.

Type: timestamp (allowed formats)
starttimestamp

Timestamp when the editing process began, used to detect edit conflicts. An appropriate value may be obtained using curtimestamp when beginning the edit process (e.g. when loading the page content to edit).

Type: timestamp (allowed formats)
recreate

Override any errors about the page having been deleted in the meantime.

Type: boolean (details)
createonly

Don't edit the page if it exists already.

Type: boolean (details)
nocreate

Throw an error if the page doesn't exist.

Type: boolean (details)
watch
Deprecated.

Add the page to the current user's watchlist.

Type: boolean (details)
unwatch
Deprecated.

Remove the page from the current user's watchlist.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
md5

The MD5 hash of the text parameter, or the prependtext and appendtext parameters concatenated. If set, the edit won't be done unless the hash is correct.

prependtext

Add this text to the beginning of the page. Overrides text.

appendtext

Add this text to the end of the page. Overrides text.

Use section=new to append a new section, rather than this parameter.

undo

Undo this revision. Overrides text, prependtext and appendtext.

Type: integer
undoafter

Undo all revisions from undo to this one. If not set, just undo one revision.

Type: integer
redirect

Automatically resolve redirects.

Type: boolean (details)
contentformat

Content serialization format used for the input text.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
contentmodel

Content model of the new content.

One of the following values: wikitext, javascript, json, css, text
token

A "csrf" token retrieved from action=query&meta=tokens

The token should always be sent as the last parameter, or at least after the text parameter.

This parameter is required.
captchaword

Answer to the CAPTCHA

captchaid

CAPTCHA ID from previous request

action=emailuser

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Email a user.

Parameters:
target

User to send email to.

This parameter is required.
subject

Subject header.

text

Mail body.

This parameter is required.
ccme

Send a copy of this mail to me.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Example:
Send an email to user WikiSysop with the text Content.
api.php?action=emailuser&target=WikiSysop&text=Content&token=123ABC [open in sandbox]

action=embedvideo

  • This module requires read rights.
  • Source: EmbedVideo
  • License: MIT

Get generated embed code for given parameters

Parameters:
service

Name of the service (youtube, twitch, ect)

This parameter is required.
id

The ID of the video for that service

This parameter is required.
dimensions

Either a numeric width (100) or width by height (100x100)

alignment

Alignment of video

description

Description of video

container

Accepts frame, or leave empty

urlargs

Additional arguments to pass in the video url (for some services)

autoresize

Auto resize video? (true or false)

action=expandtemplates

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Expands all templates within wikitext.

Parameters:
title

Title of page.

Default: API
text

Wikitext to convert.

This parameter is required.
revid

Revision ID, for {{REVISIONID}} and similar variables.

Type: integer
prop

Which pieces of information to get.

Note that if no values are selected, the result will contain the wikitext, but the output will be in a deprecated format.

wikitext
The expanded wikitext.
categories
Any categories present in the input that are not represented in the wikitext output.
properties
Page properties defined by expanded magic words in the wikitext.
volatile
Whether the output is volatile and should not be reused elsewhere within the page.
ttl
The maximum time after which caches of the result should be invalidated.
modules
Any ResourceLoader modules that parser functions have requested be added to the output. Either jsconfigvars or encodedjsconfigvars must be requested jointly with modules.
jsconfigvars
Gives the JavaScript configuration variables specific to the page.
encodedjsconfigvars
Gives the JavaScript configuration variables specific to the page as a JSON string.
parsetree
The XML parse tree of the input.
Values (separate with | or alternative): wikitext, categories, properties, volatile, ttl, modules, jsconfigvars, encodedjsconfigvars, parsetree
includecomments

Whether to include HTML comments in the output.

Type: boolean (details)
generatexml
Deprecated.

Generate XML parse tree (replaced by prop=parsetree).

Type: boolean (details)
Example:
Expand the wikitext {{Project:Sandbox}}.
api.php?action=expandtemplates&text={{Project:Sandbox}} [open in sandbox]

action=feedcontributions

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns a user contributions feed.

Parameters:
feedformat

The format of the feed.

One of the following values: rss, atom
Default: rss
user

What users to get the contributions for.

This parameter is required.
Type: user name
namespace

Which namespace to filter the contributions by.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
year

From year (and earlier).

Type: integer
month

From month (and earlier).

Type: integer
tagfilter

Filter contributions that have these tags.

Values (separate with | or alternative): mw-contentmodelchange, mobile edit, mobile web edit
Default: (empty)
deletedonly

Show only deleted contributions.

Type: boolean (details)
toponly

Only show edits that are the latest revisions.

Type: boolean (details)
newonly

Only show edits that are page creations.

Type: boolean (details)
hideminor

Hide minor edits.

Type: boolean (details)
showsizediff

Show the size difference between revisions.

Type: boolean (details)
Example:
Return contributions for user Example.
api.php?action=feedcontributions&user=Example [open in sandbox]

action=feedrecentchanges

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns a recent changes feed.

Parameters:
feedformat

The format of the feed.

One of the following values: rss, atom
Default: rss
namespace

Namespace to limit the results to.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
invert

All namespaces but the selected one.

Type: boolean (details)
associated

Include associated (talk or main) namespace.

Type: boolean (details)
days

Days to limit the results to.

The value must be no less than 1.
Type: integer
Default: 7
limit

Maximum number of results to return.

The value must be between 1 and 50.
Type: integer
Default: 50
from

Show changes since then.

Type: timestamp (allowed formats)
hideminor

Hide minor changes.

Type: boolean (details)
hidebots

Hide changes made by bots.

Type: boolean (details)
hideanons

Hide changes made by anonymous users.

Type: boolean (details)
hideliu

Hide changes made by registered users.

Type: boolean (details)
hidepatrolled

Hide patrolled changes.

Type: boolean (details)
hidemyself

Hide changes made by the current user.

Type: boolean (details)
hidecategorization

Hide category membership changes.

Type: boolean (details)
tagfilter

Filter by tag.

target

Show only changes on pages linked from this page.

showlinkedto

Show changes on pages linked to the selected page instead.

Type: boolean (details)

action=feedwatchlist

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns a watchlist feed.

Parameters:
feedformat

The format of the feed.

One of the following values: rss, atom
Default: rss
hours

List pages modified within this many hours from now.

The value must be between 1 and 72.
Type: integer
Default: 24
linktosections

Link directly to changed sections if possible.

Type: boolean (details)
allrev

Include multiple revisions of the same page within given timeframe.

Type: boolean (details)
wlowner

Used along with token to access a different user's watchlist.

Type: user name
wltoken

A security token (available in the user's preferences) to allow access to another user's watchlist.

wlshow

Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set show=minor|!anon.

Values (separate with | or alternative): minor, !minor, bot, !bot, anon, !anon, patrolled, !patrolled, unread, !unread
wltype

Which types of changes to show:

edit
Regular page edits.
new
Page creations.
log
Log entries.
external
External changes.
categorize
Category membership changes.
Values (separate with | or alternative): edit, new, log, external, categorize
Default: edit|new|log|categorize
wlexcludeuser

Don't list changes by this user.

Type: user name
Examples:
Show the watchlist feed.
api.php?action=feedwatchlist [open in sandbox]
Show all changes to watched pages in the past 6 hours.
api.php?action=feedwatchlist&allrev=&hours=6 [open in sandbox]

action=filerevert

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Revert a file to an old version.

Parameters:
filename

Target filename, without the File: prefix.

This parameter is required.
comment

Upload comment.

Default: (empty)
archivename

Archive name of the revision to revert to.

This parameter is required.
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=help

Display help for the specified modules.

Parameters:
modules

Modules to display help for (values of the action and format parameters, or main). Can specify submodules with a +.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
Default: main
submodules

Include help for submodules of the named module.

Type: boolean (details)
recursivesubmodules

Include help for submodules recursively.

Type: boolean (details)
wrap

Wrap the output in a standard API response structure.

Type: boolean (details)
toc

Include a table of contents in the HTML output.

Type: boolean (details)

action=imagerotate

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Rotate one or more images.

Parameters:
rotation

Degrees to rotate image clockwise.

This parameter is required.
One of the following values: 90, 180, 270
continue

When more results are available, use this to continue.

titles

A list of titles to work on.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw
redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz, zh.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=import

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Import a page from another wiki, or from an XML file.

Note that the HTTP POST must be done as a file upload (i.e. using multipart/form-data) when sending a file for the xml parameter.

Parameters:
summary

Log entry import summary.

xml

Uploaded XML file.

Must be posted as a file upload using multipart/form-data.
interwikisource

For interwiki imports: wiki to import from.

One of the following values:
interwikipage

For interwiki imports: page to import.

fullhistory

For interwiki imports: import the full history, not just the current version.

Type: boolean (details)
templates

For interwiki imports: import all included templates as well.

Type: boolean (details)
namespace

Import to this namespace. Cannot be used together with rootpage.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
rootpage

Import as subpage of this page. Cannot be used together with namespace.

token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=linkaccount (link)

  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Link an account from a third-party provider to the current user.

The general procedure to use this module is:

  1. Fetch the fields available from action=query&meta=authmanagerinfo with amirequestsfor=link, and a csrf token from action=query&meta=tokens.
  2. Present the fields to the user, and obtain their submission.
  3. Post to this module, supplying linkreturnurl and any relevant fields.
  4. Check the status in the response.
    • If you received PASS or FAIL, you're done. The operation either succeeded or it didn't.
    • If you received UI, present the new fields to the user and obtain their submission. Then post to this module with linkcontinue and the relevant fields set, and repeat step 4.
    • If you received REDIRECT, direct the user to the redirecttarget and wait for the return to linkreturnurl. Then post to this module with linkcontinue and any fields passed to the return URL, and repeat step 4.
    • If you received RESTART, that means the authentication worked but we don't have a linked user account. You might treat this as UI or as FAIL.
Parameters:
linkrequests

Only use these authentication requests, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=link or from a previous response from this module.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
linkmessageformat

Format to use for returning messages.

One of the following values: html, wikitext, raw, none
Default: wikitext
linkmergerequestfields

Merge field information for all authentication requests into one array.

Type: boolean (details)
linkreturnurl

Return URL for third-party authentication flows, must be absolute. Either this or linkcontinue is required.

Upon receiving a REDIRECT response, you will typically open a browser or web view to the specified redirecttarget URL for a third-party authentication flow. When that completes, the third party will send the browser or web view to this URL. You should extract any query or POST parameters from the URL and pass them as a linkcontinue request to this API module.

linkcontinue

This request is a continuation after an earlier UI or REDIRECT response. Either this or linkreturnurl is required.

Type: boolean (details)
linktoken

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
*
This module accepts additional parameters depending on the available authentication requests. Use action=query&meta=authmanagerinfo with amirequestsfor=link (or a previous response from this module, if applicable) to determine the requests available and the fields that they use.

action=login (lg)

  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Log in and get authentication cookies.

This action should only be used in combination with Special:BotPasswords; use for main-account login is deprecated and may fail without warning. To safely log in to the main account, use action=clientlogin.

Parameters:
lgname

User name.

lgpassword

Password.

lgdomain

Domain (optional).

lgtoken

A "login" token retrieved from action=query&meta=tokens

action=logout

Log out and clear session data.

Example:
Log the current user out.
api.php?action=logout [open in sandbox]

action=managetags

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Perform management tasks relating to change tags.

Parameters:
operation

Which operation to perform:

create
Create a new change tag for manual use.
delete
Remove a change tag from the database, including removing the tag from all revisions, recent change entries and log entries on which it is used.
activate
Activate a change tag, allowing users to apply it manually.
deactivate
Deactivate a change tag, preventing users from applying it manually.
This parameter is required.
One of the following values: create, delete, activate, deactivate
tag

Tag to create, delete, activate or deactivate. For tag creation, the tag must not exist. For tag deletion, the tag must exist. For tag activation, the tag must exist and not be in use by an extension. For tag deactivation, the tag must be currently active and manually defined.

This parameter is required.
reason

An optional reason for creating, deleting, activating or deactivating the tag.

ignorewarnings

Whether to ignore any warnings that are issued during the operation.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=mergehistory

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Merge page histories.

Parameters:
from

Title of the page from which history will be merged. Cannot be used together with fromid.

fromid

Page ID of the page from which history will be merged. Cannot be used together with from.

Type: integer
to

Title of the page to which history will be merged. Cannot be used together with toid.

toid

Page ID of the page to which history will be merged. Cannot be used together with to.

Type: integer
timestamp

Timestamp up to which revisions will be moved from the source page's history to the destination page's history. If omitted, the entire page history of the source page will be merged into the destination page.

Type: timestamp (allowed formats)
reason

Reason for the history merge.

Default: (empty)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=mobileview

  • This module requires read rights.
  • Source: MobileFrontend
  • License: GPL-2.0+

Returns data needed for mobile views.

Parameters:
page

Title of page to process.

This parameter is required.
redirect

Whether redirects should be followed.

One of the following values: yes, no
Default: yes
sections

Pipe-separated list of section numbers for which to return text. "all" can be used to return for all. Ranges in format "1-4" mean get sections 1,2,3,4. Ranges without second number, e.g. "1-" means get all until the end. "references" can be used to specify that all sections containing references should be returned.

prop

Which information to get:

text
HTML of selected sections.
sections
Information about all sections on the page.
normalizedtitle
Normalized page title.
lastmodified
ISO 8601 timestamp for when the page was last modified, e.g. "2014-04-13T22:42:14Z".
lastmodifiedby
Information about the user who modified the page last.
revision
Return the current revision ID of the page.
protection
Information about protection level.
editable
Whether the current user can edit this page. This includes all factors for logged-in users but not blocked status for anons.
languagecount
Number of languages that the page is available in.
hasvariants
Whether or not the page is available in other language variants.
displaytitle
The rendered title of the page, with {{DISPLAYTITLE}} and such applied.
pageprops
Page properties.
Values (separate with | or alternative): id, text, sections, normalizedtitle, lastmodified, lastmodifiedby, revision, protection, editable, languagecount, hasvariants, displaytitle, pageprops, description, contentmodel, namespace, image, thumb
Default: text|sections|normalizedtitle
sectionprop

What information about sections to get.

Values (separate with | or alternative): toclevel, level, line, number, index, fromtitle, anchor
Default: toclevel|line
pageprops

What page properties to return, a pipe ("|") separated list or "*" for all properties.

Default: notoc|noeditsection|wikibase_item
variant

Convert content into this language variant.

noimages

Return HTML without images.

Type: boolean (details)
noheadings

Don't include headings in output.

Type: boolean (details)
notransform

Don't transform HTML into mobile-specific version.

Type: boolean (details)
onlyrequestedsections

Return only requested sections even with prop=sections.

Type: boolean (details)
offset

Pretend all text result is one string, and return the substring starting at this point.

The value must be no less than 0.
Type: integer
Default: 0
maxlen

Pretend all text result is one string, and limit result to this length.

The value must be no less than 0.
Type: integer
Default: 0
revision

Request a specific revision.

The value must be no less than 0.
Type: integer
Default: 0
thumbheight

Maximum thumbnail height.

The value must be no less than 0.
Type: integer
thumbwidth

Maximum thumbnail width.

The value must be no less than 0.
Type: integer
thumbsize

Maximum thumbnail dimensions.

The value must be no less than 0.
Type: integer
Examples:
Get information about section 0 of Doom metal
api.php?action=mobileview&page=Doom_metal&sections=0 [open in sandbox]
Get information about section 0 and sections containing references of Candlemass
api.php?action=mobileview&page=Candlemass&sections=0|references [open in sandbox]
Get information about sections 1 and later and sections containing references of Candlemass
api.php?action=mobileview&page=Candlemass&sections=1-|references [open in sandbox]

action=move

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Move a page.

Parameters:
from

Title of the page to rename. Cannot be used together with fromid.

fromid

Page ID of the page to rename. Cannot be used together with from.

Type: integer
to

Title to rename the page to.

This parameter is required.
reason

Reason for the rename.

Default: (empty)
movetalk

Rename the talk page, if it exists.

Type: boolean (details)
movesubpages

Rename subpages, if applicable.

Type: boolean (details)
noredirect

Don't create a redirect.

Type: boolean (details)
watch
Deprecated.

Add the page and the redirect to the current user's watchlist.

Type: boolean (details)
unwatch
Deprecated.

Remove the page and the redirect from the current user's watchlist.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
ignorewarnings

Ignore any warnings.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=opensearch

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Search the wiki using the OpenSearch protocol.

Parameters:
search

Search string.

This parameter is required.
namespace

Namespaces to search.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
limit

Maximum number of results to return.

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

Do nothing if $wgEnableOpenSearchSuggest is false.

Type: boolean (details)
redirects

How to handle redirects:

return
Return the redirect itself.
resolve
Return the target page. May return fewer than limit results.

For historical reasons, the default is "return" for format=json and "resolve" for other formats.

One of the following values: return, resolve
format

The format of the output.

One of the following values: json, jsonfm, xml, xmlfm
Default: json
warningsaserror

If warnings are raised with format=json, return an API error instead of ignoring them.

Type: boolean (details)
Example:
Find pages beginning with Te.
api.php?action=opensearch&search=Te [open in sandbox]

action=options

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Change preferences of the current user.

Only options which are registered in core or in one of installed extensions, or options with keys prefixed with userjs- (intended to be used by user scripts), can be set.

Parameters:
reset

Resets preferences to the site defaults.

Type: boolean (details)
resetkinds

List of types of options to reset when the reset option is set.

Values (separate with | or alternative): registered, registered-multiselect, registered-checkmatrix, userjs, special, unused, all
Default: all
change

List of changes, formatted name=value (e.g. skin=vector). If no value is given (not even an equals sign), e.g., optionname|otheroption|..., the option will be reset to its default value. If any value passed contains the pipe character (|), use the alternative multiple-value separator for correct operation.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
optionname

The name of the option that should be set to the value given by optionvalue.

optionvalue

The value for the option specified by optionname.

token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=paraminfo

Obtain information about API modules.

Parameters:
modules

List of module names (values of the action and format parameters, or main). Can specify submodules with a +, or all submodules with +*, or all submodules recursively with +**.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
helpformat

Format of help strings.

One of the following values: html, wikitext, raw, none
Default: none
querymodules
Deprecated.

List of query module names (value of prop, meta or list parameter). Use modules=query+foo instead of querymodules=foo.

Values (separate with | or alternative): allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allmessages, allpages, allredirects, allrevisions, alltransclusions, allusers, authmanagerinfo, backlinks, blocks, categories, categoryinfo, categorymembers, checkuser, checkuserlog, contributors, deletedrevisions, deletedrevs, duplicatefiles, embeddedin, extlinks, exturlusage, filearchive, filerepoinfo, fileusage, imageinfo, images, imageusage, info, iwbacklinks, iwlinks, langbacklinks, langlinks, links, linkshere, logevents, mystashedfiles, pageimages, pagepropnames, pageprops, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, references, revisions, search, siteinfo, stashimageinfo, tags, templates, tokens, transcludedin, usercontribs, userinfo, users, watchlist, watchlistraw
Maximum number of values is 50 (500 for bots).
mainmodule
Deprecated.

Get information about the main (top-level) module as well. Use modules=main instead.

pagesetmodule
Deprecated.

Get information about the pageset module (providing titles= and friends) as well.

formatmodules
Deprecated.

List of format module names (value of format parameter). Use modules instead.

Values (separate with | or alternative): json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm

action=parse

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Parses content and returns parser output.

See the various prop-modules of action=query to get information from the current version of a page.

There are several ways to specify the text to parse:

  1. Specify a page or revision, using page, pageid, or oldid.
  2. Specify content explicitly, using text, title, and contentmodel.
  3. Specify only a summary to parse. prop should be given an empty value.
Parameters:
title

Title of page the text belongs to. If omitted, contentmodel must be specified, and API will be used as the title.

text

Text to parse. Use title or contentmodel to control the content model.

summary

Summary to parse.

page

Parse the content of this page. Cannot be used together with text and title.

pageid

Parse the content of this page. Overrides page.

Type: integer
redirects

If page or pageid is set to a redirect, resolve it.

Type: boolean (details)
oldid

Parse the content of this revision. Overrides page and pageid.

Type: integer
prop

Which pieces of information to get:

text
Gives the parsed text of the wikitext.
langlinks
Gives the language links in the parsed wikitext.
categories
Gives the categories in the parsed wikitext.
categorieshtml
Gives the HTML version of the categories.
links
Gives the internal links in the parsed wikitext.
templates
Gives the templates in the parsed wikitext.
images
Gives the images in the parsed wikitext.
externallinks
Gives the external links in the parsed wikitext.
sections
Gives the sections in the parsed wikitext.
revid
Adds the revision ID of the parsed page.
displaytitle
Adds the title of the parsed wikitext.
headitems
Deprecated. Gives items to put in the <head> of the page.
headhtml
Gives parsed <head> of the page.
modules
Gives the ResourceLoader modules used on the page. To load, use mw.loader.using(). Either jsconfigvars or encodedjsconfigvars must be requested jointly with modules.
jsconfigvars
Gives the JavaScript configuration variables specific to the page. To apply, use mw.config.set().
encodedjsconfigvars
Gives the JavaScript configuration variables specific to the page as a JSON string.
indicators
Gives the HTML of page status indicators used on the page.
iwlinks
Gives interwiki links in the parsed wikitext.
wikitext
Gives the original wikitext that was parsed.
properties
Gives various properties defined in the parsed wikitext.
limitreportdata
Gives the limit report in a structured way. Gives no data, when disablelimitreport is set.
limitreporthtml
Gives the HTML version of the limit report. Gives no data, when disablelimitreport is set.
parsetree
The XML parse tree of revision content (requires content model wikitext)
Values (separate with | or alternative): text, langlinks, categories, categorieshtml, links, templates, images, externallinks, sections, revid, displaytitle, headitems, headhtml, modules, jsconfigvars, encodedjsconfigvars, indicators, iwlinks, wikitext, properties, limitreportdata, limitreporthtml, parsetree
Default: text|langlinks|categories|links|templates|images|externallinks|sections|revid|displaytitle|iwlinks|properties
pst

Do a pre-save transform on the input before parsing it. Only valid when used with text.

Type: boolean (details)
onlypst

Do a pre-save transform (PST) on the input, but don't parse it. Returns the same wikitext, after a PST has been applied. Only valid when used with text.

Type: boolean (details)
effectivelanglinks

Includes language links supplied by extensions (for use with prop=langlinks).

Type: boolean (details)
section

Only parse the content of this section number.

When new, parse text and sectiontitle as if adding a new section to the page.

new is allowed only when specifying text.

sectiontitle

New section title when section is new.

Unlike page editing, this does not fall back to summary when omitted or empty.

disablepp
Deprecated.

Use disablelimitreport instead.

Type: boolean (details)
disablelimitreport

Omit the limit report ("NewPP limit report") from the parser output.

Type: boolean (details)
disableeditsection

Omit edit section links from the parser output.

Type: boolean (details)
disabletidy

Do not run HTML cleanup (e.g. tidy) on the parser output.

Type: boolean (details)
generatexml
Deprecated.

Generate XML parse tree (requires content model wikitext; replaced by prop=parsetree).

Type: boolean (details)
preview

Parse in preview mode.

Type: boolean (details)
sectionpreview

Parse in section preview mode (enables preview mode too).

Type: boolean (details)
disabletoc

Omit table of contents in output.

Type: boolean (details)
contentformat

Content serialization format used for the input text. Only valid when used with text.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
contentmodel

Content model of the input text. If omitted, title must be specified, and default will be the model of the specified title. Only valid when used with text.

One of the following values: wikitext, javascript, json, css, text
mobileformat

Return parse output in a format suitable for mobile devices.

Type: boolean (details)
noimages

Disable images in mobile output.

Type: boolean (details)
mainpage

Apply mobile main page transformations.

Type: boolean (details)

action=patrol

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Patrol a page or revision.

Parameters:
rcid

Recentchanges ID to patrol.

Type: integer
revid

Revision ID to patrol.

Type: integer
tags

Change tags to apply to the entry in the patrol log.

Values (separate with | or alternative):
token

A "patrol" token retrieved from action=query&meta=tokens

This parameter is required.

action=protect

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Change the protection level of a page.

Parameters:
title

Title of the page to (un)protect. Cannot be used together with pageid.

pageid

ID of the page to (un)protect. Cannot be used together with title.

Type: integer
protections

List of protection levels, formatted action=level (e.g. edit=sysop). A level of all means everyone is allowed to take the action, i.e. no restriction.

Note: Any actions not listed will have restrictions removed.

This parameter is required.
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
expiry

Expiry timestamps. If only one timestamp is set, it'll be used for all protections. Use infinite, indefinite, infinity, or never, for a never-expiring protection.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
Default: infinite
reason

Reason for (un)protecting.

Default: (empty)
tags

Change tags to apply to the entry in the protection log.

Values (separate with | or alternative):
cascade

Enable cascading protection (i.e. protect transcluded templates and images used in this page). Ignored if none of the given protection levels support cascading.

Type: boolean (details)
watch
Deprecated.

If set, add the page being (un)protected to the current user's watchlist.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=purge

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Purge the cache for the given titles.

Requires a POST request if the user is not logged in.

Parameters:
forcelinkupdate

Update the links tables.

Type: boolean (details)
forcerecursivelinkupdate

Update the links table, and update the links tables for any page that uses this page as a template.

Type: boolean (details)
continue

When more results are available, use this to continue.

titles

A list of titles to work on.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw
redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz, zh.

Type: boolean (details)
Examples:
Purge the Main Page and the API page.
api.php?action=purge&titles=Main_Page|API [open in sandbox]
Purge the first 10 pages in the main namespace.
api.php?action=purge&generator=allpages&gapnamespace=0&gaplimit=10 [open in sandbox]

action=query

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Fetch data from and about MediaWiki.

All data modifications will first have to use query to acquire a token to prevent abuse from malicious sites.

Parameters:
prop

Which properties to get for the queried pages.

Values (separate with | or alternative): categories, categoryinfo, contributors, deletedrevisions, duplicatefiles, extlinks, fileusage, imageinfo, images, info, iwlinks, langlinks, links, linkshere, pageimages, pageprops, redirects, references, revisions, stashimageinfo, templates, transcludedin
list

Which lists to get.

Values (separate with | or alternative): allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, allusers, backlinks, blocks, categorymembers, checkuser, checkuserlog, deletedrevs, embeddedin, exturlusage, filearchive, imageusage, iwbacklinks, langbacklinks, logevents, mystashedfiles, pagepropnames, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, search, tags, usercontribs, users, watchlist, watchlistraw
meta

Which metadata to get.

Values (separate with | or alternative): allmessages, authmanagerinfo, filerepoinfo, siteinfo, tokens, userinfo
indexpageids

Include an additional pageids section listing all returned page IDs.

Type: boolean (details)
export

Export the current revisions of all given or generated pages.

Type: boolean (details)
exportnowrap

Return the export XML without wrapping it in an XML result (same format as Special:Export). Can only be used with export.

Type: boolean (details)
iwurl

Whether to get the full URL if the title is an interwiki link.

Type: boolean (details)
continue

When more results are available, use this to continue.

rawcontinue

Return raw query-continue data for continuation.

Type: boolean (details)
titles

A list of titles to work on.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw
redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz, zh.

Type: boolean (details)

prop=categories (cl)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all categories the pages belong to.

Parameters:
clprop

Which additional properties to get for each category:

sortkey
Adds the sortkey (hexadecimal string) and sortkey prefix (human-readable part) for the category.
timestamp
Adds timestamp of when the category was added.
hidden
Tags categories that are hidden with __HIDDENCAT__.
Values (separate with | or alternative): sortkey, timestamp, hidden
clshow

Which kind of categories to show.

Values (separate with | or alternative): hidden, !hidden
cllimit

How many categories to return.

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

When more results are available, use this to continue.

clcategories

Only list these categories. Useful for checking whether a certain page is in a certain category.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
cldir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
Get a list of categories the page Albert Einstein belongs to.
api.php?action=query&prop=categories&titles=Albert%20Einstein [open in sandbox]
Get information about all categories used in the page Albert Einstein.
api.php?action=query&generator=categories&titles=Albert%20Einstein&prop=info [open in sandbox]

prop=categoryinfo (ci)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns information about the given categories.

Parameter:
cicontinue

When more results are available, use this to continue.

Example:
Get information about Category:Foo and Category:Bar.
api.php?action=query&prop=categoryinfo&titles=Category:Foo|Category:Bar [open in sandbox]

prop=contributors (pc)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get the list of logged-in contributors and the count of anonymous contributors to a page.

Parameters:
pcgroup

Only include users in the given groups. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
pcexcludegroup

Exclude users in the given groups. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
pcrights

Only include users having the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, bigdelete, block, blockemail, bot, browsearchive, changetags, createaccount, createpage, createtalk, delete, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, edit, editcontentmodel, editinterface, editprotected, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmywatchlist, editsemiprotected, editusercssjs, editusercss, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, passwordreset, patrol, patrolmarks, protect, purge, read, reupload, reupload-own, reupload-shared, rollback, sendemail, siteadmin, suppressionlog, suppressredirect, suppressrevision, unblockself, undelete, unwatchedpages, upload, upload_by_url, userrights, userrights-interwiki, viewmyprivateinfo, viewmywatchlist, viewsuppressed, writeapi, checkuser, checkuser-log, skipcaptcha, nuke, renameuser, usermerge, deletebatch, interwiki
Maximum number of values is 50 (500 for bots).
pcexcluderights

Exclude users having the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, bigdelete, block, blockemail, bot, browsearchive, changetags, createaccount, createpage, createtalk, delete, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, edit, editcontentmodel, editinterface, editprotected, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmywatchlist, editsemiprotected, editusercssjs, editusercss, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, passwordreset, patrol, patrolmarks, protect, purge, read, reupload, reupload-own, reupload-shared, rollback, sendemail, siteadmin, suppressionlog, suppressredirect, suppressrevision, unblockself, undelete, unwatchedpages, upload, upload_by_url, userrights, userrights-interwiki, viewmyprivateinfo, viewmywatchlist, viewsuppressed, writeapi, checkuser, checkuser-log, skipcaptcha, nuke, renameuser, usermerge, deletebatch, interwiki
Maximum number of values is 50 (500 for bots).
pclimit

How many contributors to return.

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

When more results are available, use this to continue.

Example:
Show contributors to the page Main Page.
api.php?action=query&prop=contributors&titles=Main_Page [open in sandbox]

prop=deletedrevisions (drv)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get deleted revision information.

May be used in several ways:

  1. Get deleted revisions for a set of pages, by setting titles or pageids. Ordered by title and timestamp.
  2. Get data about a set of deleted revisions by setting their IDs with revids. Ordered by revision ID.
Parameters:
drvprop

Which properties to get for each revision:

ids
The ID of the revision.
flags
Revision flags (minor).
timestamp
The timestamp of the revision.
user
User that made the revision.
userid
User ID of the revision creator.
size
Length (bytes) of the revision.
sha1
SHA-1 (base 16) of the revision.
contentmodel
Content model ID of the revision.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Text of the revision.
tags
Tags for the revision.
parsetree
The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, sha1, contentmodel, comment, parsedcomment, content, tags, parsetree
Default: ids|timestamp|flags|comment|user
drvlimit

Limit how many revisions will be returned.

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

Expand templates in revision content (requires drvprop=content).

Type: boolean (details)
drvgeneratexml
Deprecated.

Generate XML parse tree for revision content (requires drvprop=content; replaced by drvprop=parsetree).

Type: boolean (details)
drvparse

Parse revision content (requires drvprop=content). For performance reasons, if this option is used, drvlimit is enforced to 1.

Type: boolean (details)
drvsection

Only retrieve the content of this section number.

drvdiffto

Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

drvdifftotext

Text to diff each revision to. Only diffs a limited number of revisions. Overrides drvdiffto. If drvsection is set, only that section will be diffed against this text.

drvdifftotextpst

Perform a pre-save transform on the text before diffing it. Only valid when used with drvdifftotext.

Type: boolean (details)
drvcontentformat

Serialization format used for drvdifftotext and expected for output of content.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
drvstart

The timestamp to start enumerating from. Ignored when processing a list of revision IDs.

Type: timestamp (allowed formats)
drvend

The timestamp to stop enumerating at. Ignored when processing a list of revision IDs.

Type: timestamp (allowed formats)
drvdir

In which direction to enumerate:

newer
List oldest first. Note: drvstart has to be before drvend.
older
List newest first (default). Note: drvstart has to be later than drvend.
One of the following values: newer, older
Default: older
drvtag

Only list revisions tagged with this tag.

drvuser

Only list revisions by this user.

Type: user name
drvexcludeuser

Don't list revisions by this user.

Type: user name
drvcontinue

When more results are available, use this to continue.

Examples:
List the deleted revisions of the pages Main Page and Talk:Main Page, with content.
api.php?action=query&prop=deletedrevisions&titles=Main%20Page|Talk:Main%20Page&drvprop=user|comment|content [open in sandbox]
List the information for deleted revision 123456.
api.php?action=query&prop=deletedrevisions&revids=123456 [open in sandbox]

prop=duplicatefiles (df)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all files that are duplicates of the given files based on hash values.

Parameters:
dflimit

How many duplicate files to return.

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

When more results are available, use this to continue.

dfdir

The direction in which to list.

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

Look only for files in the local repository.

Type: boolean (details)
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

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

Parameters:
ellimit

How many links to return.

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

When more results are available, use this to continue.

Type: integer
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]

prop=fileusage (fu)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that use the given files.

Parameters:
fuprop

Which properties to get:

pageid
Page ID of each page.
title
Title of each page.
redirect
Flag if the page is a redirect.
Values (separate with | or alternative): pageid, title, redirect
Default: pageid|title|redirect
funamespace

Only include pages in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
fushow

Show only items that meet these criteria:

redirect
Only show redirects.
!redirect
Only show non-redirects.
Values (separate with | or alternative): redirect, !redirect
fulimit

How many to return.

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

When more results are available, use this to continue.

prop=imageinfo (ii)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns file information and upload history.

Parameters:
iiprop

Which file information to get:

timestamp
Adds timestamp for the uploaded version.
user
Adds the user who uploaded each file version.
userid
Add the ID of the user that uploaded each file version.
comment
Comment on the version.
parsedcomment
Parse the comment on the version.
canonicaltitle
Adds the canonical title of the file.
url
Gives URL to the file and the description page.
size
Adds the size of the file in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
sha1
Adds SHA-1 hash for the file.
mime
Adds MIME type of the file.
thumbmime
Adds MIME type of the image thumbnail (requires url and param iiurlwidth).
mediatype
Adds the media type of the file.
metadata
Lists Exif metadata for the version of the file.
commonmetadata
Lists file format generic metadata for the version of the file.
extmetadata
Lists formatted metadata combined from multiple sources. Results are HTML formatted.
archivename
Adds the filename of the archive version for non-latest versions.
bitdepth
Adds the bit depth of the version.
uploadwarning
Used by the Special:Upload page to get information about an existing file. Not intended for use outside MediaWiki core.
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, canonicaltitle, url, size, dimensions, sha1, mime, thumbmime, mediatype, metadata, commonmetadata, extmetadata, archivename, bitdepth, uploadwarning
Default: timestamp|user
iilimit

How many file revisions to return per file.

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

Timestamp to start listing from.

Type: timestamp (allowed formats)
iiend

Timestamp to stop listing at.

Type: timestamp (allowed formats)
iiurlwidth

If iiprop=url is set, a URL to an image scaled to this width will be returned. For performance reasons if this option is used, no more than 50 scaled images will be returned.

Type: integer
Default: -1
iiurlheight

Similar to iiurlwidth.

Type: integer
Default: -1
iimetadataversion

Version of metadata to use. If latest is specified, use latest version. Defaults to 1 for backwards compatibility.

Default: 1
iiextmetadatalanguage

What language to fetch extmetadata in. This affects both which translation to fetch, if multiple are available, as well as how things like numbers and various values are formatted.

Default: en
iiextmetadatamultilang

If translations for extmetadata property are available, fetch all of them.

Type: boolean (details)
iiextmetadatafilter

If specified and non-empty, only these keys will be returned for iiprop=extmetadata.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
iiurlparam

A handler specific parameter string. For example, PDFs might use page15-100px. iiurlwidth must be used and be consistent with iiurlparam.

Default: (empty)
iicontinue

When more results are available, use this to continue.

iilocalonly

Look only for files in the local repository.

Type: boolean (details)

prop=images (im)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns all files contained on the given pages.

Parameters:
imlimit

How many files to return.

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

When more results are available, use this to continue.

imimages

Only list these files. Useful for checking whether a certain page has a certain file.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
imdir

The direction in which to list.

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

prop=info (in)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get basic page information.

Parameters:
inprop

Which additional properties to get:

protection
List the protection level of each page.
talkid
The page ID of the talk page for each non-talk page.
watched
List the watched status of each page.
watchers
The number of watchers, if allowed.
visitingwatchers
The number of watchers of each page who have visited recent edits to that page, if allowed.
notificationtimestamp
The watchlist notification timestamp of each page.
subjectid
The page ID of the parent page for each talk page.
url
Gives a full URL, an edit URL, and the canonical URL for each page.
readable
Whether the user can read this page.
preload
Gives the text returned by EditFormPreloadText.
displaytitle
Gives the manner in which the page title is actually displayed.
Values (separate with | or alternative): protection, talkid, watched, watchers, visitingwatchers, notificationtimestamp, subjectid, url, readable, preload, displaytitle
intestactions

Test whether the current user can perform certain actions on the page.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
intoken
Deprecated.

Use action=query&meta=tokens instead.

Values (separate with | or alternative): edit, delete, protect, move, block, unblock, email, import, watch
incontinue

When more results are available, use this to continue.

Examples:
Get information about the page Main Page.
api.php?action=query&prop=info&titles=Main%20Page [open in sandbox]
Get general and protection information about the page Main Page.
api.php?action=query&prop=info&inprop=protection&titles=Main%20Page [open in sandbox]
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns all interwiki links from the given pages.

Parameters:
iwprop

Which additional properties to get for each interlanguage link:

url
Adds the full URL.
Values (separate with | or alternative): url
iwprefix

Only return interwiki links with this prefix.

iwtitle

Interwiki link to search for. Must be used with iwprefix.

iwdir

The direction in which to list.

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

How many interwiki links to return.

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

When more results are available, use this to continue.

iwurl
Deprecated.

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

Type: boolean (details)
Example:
Get interwiki links from the page Main Page.
api.php?action=query&prop=iwlinks&titles=Main%20Page [open in sandbox]
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

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): url, langname, autonym
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.

No more than 500 (5,000 for bots) allowed.
Type: integer or max
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]
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns all links from the given pages.

Parameters:
plnamespace

Show links in these namespaces only.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
pllimit

How many links to return.

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

When more results are available, use this to continue.

pltitles

Only list links to these titles. Useful for checking whether a certain page links to a certain title.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pldir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
Get links from the page Main Page
api.php?action=query&prop=links&titles=Main%20Page [open in sandbox]
Get information about the link pages in the page Main Page.
api.php?action=query&generator=links&titles=Main%20Page&prop=info [open in sandbox]
Get links from the page Main Page in the User and Template namespaces.
api.php?action=query&prop=links&titles=Main%20Page&plnamespace=2|10 [open in sandbox]

prop=linkshere (lh)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that link to the given pages.

Parameters:
lhprop

Which properties to get:

pageid
Page ID of each page.
title
Title of each page.
redirect
Flag if the page is a redirect.
Values (separate with | or alternative): pageid, title, redirect
Default: pageid|title|redirect
lhnamespace

Only include pages in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
lhshow

Show only items that meet these criteria:

redirect
Only show redirects.
!redirect
Only show non-redirects.
Values (separate with | or alternative): redirect, !redirect
lhlimit

How many to return.

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

When more results are available, use this to continue.

prop=pageimages (pi)

  • This module requires read rights.
  • Source: PageImages
  • License: WTFPL

Returns information about images on the page, such as thumbnail and presence of photos.

Parameters:
piprop

Which information to return:

thumbnail
URL and dimensions of image associated with page, if any.
name
Image title.
Values (separate with | or alternative): thumbnail, name, original
Default: thumbnail|name
pithumbsize

Maximum thumbnail dimension.

Type: integer
Default: 50
pilimit

Properties of how many pages to return.

No more than 50 (100 for bots) allowed.
Type: integer or max
Default: 1
picontinue

When more results are available, use this to continue.

Type: integer
Example:
Get name and 100-pixel thumbnail of an image on the Albert Einstein page.
api.php?action=query&prop=pageimages&titles=Albert%20Einstein&pithumbsize=100 [open in sandbox]

prop=pageprops (pp)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get various page properties defined in the page content.

Parameters:
ppcontinue

When more results are available, use this to continue.

ppprop

Only list these page properties (action=query&list=pagepropnames returns page property names in use). Useful for checking whether pages use a certain page property.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
Example:
Get properties for the pages Main Page and MediaWiki.
api.php?action=query&prop=pageprops&titles=Main%20Page|MediaWiki [open in sandbox]

prop=redirects (rd)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns all redirects to the given pages.

Parameters:
rdprop

Which properties to get:

pageid
Page ID of each redirect.
title
Title of each redirect.
fragment
Fragment of each redirect, if any.
Values (separate with | or alternative): pageid, title, fragment
Default: pageid|title
rdnamespace

Only include pages in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
rdshow

Show only items that meet these criteria:

fragment
Only show redirects with a fragment.
!fragment
Only show redirects without a fragment.
Values (separate with | or alternative): fragment, !fragment
rdlimit

How many redirects to return.

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

When more results are available, use this to continue.

prop=references (rf)

  • This module requires read rights.
  • Source: Cite
  • License: GPL-2.0+

Return a data representation of references associated with the given pages.

Parameter:
rfcontinue

When more results are available, use this to continue.

Example:
References associated with Albert Einstein.
api.php?action=query&prop=references&titles=Albert%20Einstein [open in sandbox]

prop=revisions (rv)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get revision information.

May be used in several ways:

  1. Get data about a set of pages (last revision), by setting titles or pageids.
  2. Get revisions for one given page, by using titles or pageids with start, end, or limit.
  3. Get data about a set of revisions by setting their IDs with revids.
Parameters:
rvprop

Which properties to get for each revision:

ids
The ID of the revision.
flags
Revision flags (minor).
timestamp
The timestamp of the revision.
user
User that made the revision.
userid
User ID of the revision creator.
size
Length (bytes) of the revision.
sha1
SHA-1 (base 16) of the revision.
contentmodel
Content model ID of the revision.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Text of the revision.
tags
Tags for the revision.
parsetree
The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, sha1, contentmodel, comment, parsedcomment, content, tags, parsetree
Default: ids|timestamp|flags|comment|user
rvlimit

Limit how many revisions will be returned.

May only be used with a single page (mode #2).
No more than 500 (5,000 for bots) allowed.
Type: integer or max
rvexpandtemplates

Expand templates in revision content (requires rvprop=content).

Type: boolean (details)
rvgeneratexml
Deprecated.

Generate XML parse tree for revision content (requires rvprop=content; replaced by rvprop=parsetree).

Type: boolean (details)
rvparse

Parse revision content (requires rvprop=content). For performance reasons, if this option is used, rvlimit is enforced to 1.

Type: boolean (details)
rvsection

Only retrieve the content of this section number.

rvdiffto

Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

rvdifftotext

Text to diff each revision to. Only diffs a limited number of revisions. Overrides rvdiffto. If rvsection is set, only that section will be diffed against this text.

rvdifftotextpst

Perform a pre-save transform on the text before diffing it. Only valid when used with rvdifftotext.

Type: boolean (details)
rvcontentformat

Serialization format used for rvdifftotext and expected for output of content.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
rvstartid

From which revision ID to start enumeration.

May only be used with a single page (mode #2).
Type: integer
rvendid

Stop revision enumeration on this revision ID.

May only be used with a single page (mode #2).
Type: integer
rvstart

From which revision timestamp to start enumeration.

May only be used with a single page (mode #2).
Type: timestamp (allowed formats)
rvend

Enumerate up to this timestamp.

May only be used with a single page (mode #2).
Type: timestamp (allowed formats)
rvdir

In which direction to enumerate:

newer
List oldest first. Note: rvstart has to be before rvend.
older
List newest first (default). Note: rvstart has to be later than rvend.
May only be used with a single page (mode #2).
One of the following values: newer, older
Default: older
rvuser

Only include revisions made by user.

May only be used with a single page (mode #2).
Type: user name
rvexcludeuser

Exclude revisions made by user.

May only be used with a single page (mode #2).
Type: user name
rvtag

Only list revisions tagged with this tag.

rvtoken
Deprecated.

Which tokens to obtain for each revision.

Values (separate with | or alternative): rollback
rvcontinue

When more results are available, use this to continue.

prop=stashimageinfo (sii)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns file information for stashed files.

Parameters:
siifilekey

Key that identifies a previous upload that was stashed temporarily.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
siisessionkey
Deprecated.

Alias for siifilekey, for backward compatibility.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
siiprop

Which file information to get:

timestamp
Adds timestamp for the uploaded version.
canonicaltitle
Adds the canonical title of the file.
url
Gives URL to the file and the description page.
size
Adds the size of the file in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
sha1
Adds SHA-1 hash for the file.
mime
Adds MIME type of the file.
thumbmime
Adds MIME type of the image thumbnail (requires url and param siiurlwidth).
metadata
Lists Exif metadata for the version of the file.
commonmetadata
Lists file format generic metadata for the version of the file.
extmetadata
Lists formatted metadata combined from multiple sources. Results are HTML formatted.
bitdepth
Adds the bit depth of the version.
Values (separate with | or alternative): timestamp, canonicaltitle, url, size, dimensions, sha1, mime, thumbmime, metadata, commonmetadata, extmetadata, bitdepth
Default: timestamp|url
siiurlwidth

If siiprop=url is set, a URL to an image scaled to this width will be returned. For performance reasons if this option is used, no more than 50 scaled images will be returned.

Type: integer
Default: -1
siiurlheight

Similar to siiurlwidth.

Type: integer
Default: -1
siiurlparam

A handler specific parameter string. For example, PDFs might use page15-100px. siiurlwidth must be used and be consistent with siiurlparam.

Default: (empty)

prop=templates (tl)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Returns all pages transcluded on the given pages.

Parameters:
tlnamespace

Show templates in this namespaces only.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
tllimit

How many templates to return.

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

When more results are available, use this to continue.

tltemplates

Only list these templates. Useful for checking whether a certain page uses a certain template.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
tldir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
Get the templates used on the page Main Page.
api.php?action=query&prop=templates&titles=Main%20Page [open in sandbox]
Get information about the template pages used on Main Page.
api.php?action=query&generator=templates&titles=Main%20Page&prop=info [open in sandbox]
Get pages in the User and Template namespaces that are transcluded on the page Main Page.
api.php?action=query&prop=templates&titles=Main%20Page&tlnamespace=2|10 [open in sandbox]

prop=transcludedin (ti)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that transclude the given pages.

Parameters:
tiprop

Which properties to get:

pageid
Page ID of each page.
title
Title of each page.
redirect
Flag if the page is a redirect.
Values (separate with | or alternative): pageid, title, redirect
Default: pageid|title|redirect
tinamespace

Only include pages in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
tishow

Show only items that meet these criteria:

redirect
Only show redirects.
!redirect
Only show non-redirects.
Values (separate with | or alternative): redirect, !redirect
tilimit

How many to return.

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

When more results are available, use this to continue.

list=allcategories (ac)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all categories.

Parameters:
acfrom

The category to start enumerating from.

accontinue

When more results are available, use this to continue.

acto

The category to stop enumerating at.

acprefix

Search for all category titles that begin with this value.

acdir

Direction to sort in.

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

Only return categories with at least this many members.

Type: integer
acmax

Only return categories with at most this many members.

Type: integer
aclimit

How many categories to return.

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

Which properties to get:

size
Adds number of pages in the category.
hidden
Tags categories that are hidden with __HIDDENCAT__.
Values (separate with | or alternative): size, hidden
Default: (empty)
Examples:
List categories with information on the number of pages in each.
api.php?action=query&list=allcategories&acprop=size [open in sandbox]
Retrieve info about the category page itself for categories beginning List.
api.php?action=query&generator=allcategories&gacprefix=List&prop=info [open in sandbox]

list=alldeletedrevisions (adr)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all deleted revisions by a user or in a namespace.

Parameters:
adrprop

Which properties to get for each revision:

ids
The ID of the revision.
flags
Revision flags (minor).
timestamp
The timestamp of the revision.
user
User that made the revision.
userid
User ID of the revision creator.
size
Length (bytes) of the revision.
sha1
SHA-1 (base 16) of the revision.
contentmodel
Content model ID of the revision.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Text of the revision.
tags
Tags for the revision.
parsetree
The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, sha1, contentmodel, comment, parsedcomment, content, tags, parsetree
Default: ids|timestamp|flags|comment|user
adrlimit

Limit how many revisions will be returned.

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

Expand templates in revision content (requires adrprop=content).

Type: boolean (details)
adrgeneratexml
Deprecated.

Generate XML parse tree for revision content (requires adrprop=content; replaced by adrprop=parsetree).

Type: boolean (details)
adrparse

Parse revision content (requires adrprop=content). For performance reasons, if this option is used, adrlimit is enforced to 1.

Type: boolean (details)
adrsection

Only retrieve the content of this section number.

adrdiffto

Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

adrdifftotext

Text to diff each revision to. Only diffs a limited number of revisions. Overrides adrdiffto. If adrsection is set, only that section will be diffed against this text.

adrdifftotextpst

Perform a pre-save transform on the text before diffing it. Only valid when used with adrdifftotext.

Type: boolean (details)
adrcontentformat

Serialization format used for adrdifftotext and expected for output of content.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
adruser

Only list revisions by this user.

Type: user name
adrnamespace

Only list pages in this namespace.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
adrstart

The timestamp to start enumerating from.

May only be used with adruser.
Type: timestamp (allowed formats)
adrend

The timestamp to stop enumerating at.

May only be used with adruser.
Type: timestamp (allowed formats)
adrdir

In which direction to enumerate:

newer
List oldest first. Note: adrstart has to be before adrend.
older
List newest first (default). Note: adrstart has to be later than adrend.
One of the following values: newer, older
Default: older
adrfrom

Start listing at this title.

Cannot be used with adruser.
adrto

Stop listing at this title.

Cannot be used with adruser.
adrprefix

Search for all page titles that begin with this value.

Cannot be used with adruser.
adrexcludeuser

Don't list revisions by this user.

Cannot be used with adruser.
Type: user name
adrtag

Only list revisions tagged with this tag.

adrcontinue

When more results are available, use this to continue.

adrgeneratetitles

When being used as a generator, generate titles rather than revision IDs.

Type: boolean (details)

list=allfileusages (af)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all file usages, including non-existing.

Parameters:
afcontinue

When more results are available, use this to continue.

affrom

The title of the file to start enumerating from.

afto

The title of the file to stop enumerating at.

afprefix

Search for all file titles that begin with this value.

afunique

Only show distinct file titles. Cannot be used with afprop=ids. When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
afprop

Which pieces of information to include:

ids
Adds the page IDs of the using pages (cannot be used with afunique).
title
Adds the title of the file.
Values (separate with | or alternative): ids, title
Default: title
aflimit

How many total items to return.

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

The direction in which to list.

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

list=allimages (ai)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all images sequentially.

Parameters:
aisort

Property to sort by.

One of the following values: name, timestamp
Default: name
aidir

The direction in which to list.

One of the following values: ascending, descending, newer, older
Default: ascending
aifrom

The image title to start enumerating from. Can only be used with aisort=name.

aito

The image title to stop enumerating at. Can only be used with aisort=name.

aicontinue

When more results are available, use this to continue.

aistart

The timestamp to start enumerating from. Can only be used with aisort=timestamp.

Type: timestamp (allowed formats)
aiend

The timestamp to end enumerating. Can only be used with aisort=timestamp.

Type: timestamp (allowed formats)
aiprop

Which file information to get:

timestamp
Adds timestamp for the uploaded version.
user
Adds the user who uploaded each file version.
userid
Add the ID of the user that uploaded each file version.
comment
Comment on the version.
parsedcomment
Parse the comment on the version.
canonicaltitle
Adds the canonical title of the file.
url
Gives URL to the file and the description page.
size
Adds the size of the file in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
sha1
Adds SHA-1 hash for the file.
mime
Adds MIME type of the file.
mediatype
Adds the media type of the file.
metadata
Lists Exif metadata for the version of the file.
commonmetadata
Lists file format generic metadata for the version of the file.
extmetadata
Lists formatted metadata combined from multiple sources. Results are HTML formatted.
bitdepth
Adds the bit depth of the version.
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, canonicaltitle, url, size, dimensions, sha1, mime, mediatype, metadata, commonmetadata, extmetadata, bitdepth
Default: timestamp|url
aiprefix

Search for all image titles that begin with this value. Can only be used with aisort=name.

aiminsize

Limit to images with at least this many bytes.

Type: integer
aimaxsize

Limit to images with at most this many bytes.

Type: integer
aisha1

SHA1 hash of image. Overrides aisha1base36.

aisha1base36

SHA1 hash of image in base 36 (used in MediaWiki).

aiuser

Only return files uploaded by this user. Can only be used with aisort=timestamp. Cannot be used together with aifilterbots.

Type: user name
aifilterbots

How to filter files uploaded by bots. Can only be used with aisort=timestamp. Cannot be used together with aiuser.

One of the following values: all, bots, nobots
Default: all
aimime

What MIME types to search for, e.g. image/jpeg.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ailimit

How many images in total to return.

No more than 500 (5,000 for bots) allowed.
Type: integer or max
Default: 10
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all links that point to a given namespace.

Parameters:
alcontinue

When more results are available, use this to continue.

alfrom

The title of the link to start enumerating from.

alto

The title of the link to stop enumerating at.

alprefix

Search for all linked titles that begin with this value.

alunique

Only show distinct linked titles. Cannot be used with alprop=ids. When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
alprop

Which pieces of information to include:

ids
Adds the page ID of the linking page (cannot be used with alunique).
title
Adds the title of the link.
Values (separate with | or alternative): ids, title
Default: title
alnamespace

The namespace to enumerate.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
allimit

How many total items to return.

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

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
List linked titles, including missing ones, with page IDs they are from, starting at B.
api.php?action=query&list=alllinks&alfrom=B&alprop=ids|title [open in sandbox]
List unique linked titles.
api.php?action=query&list=alllinks&alunique=&alfrom=B [open in sandbox]
Gets all linked titles, marking the missing ones.
api.php?action=query&generator=alllinks&galunique=&galfrom=B [open in sandbox]
Gets pages containing the links.
api.php?action=query&generator=alllinks&galfrom=B [open in sandbox]

list=allpages (ap)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all pages sequentially in a given namespace.

Parameters:
apfrom

The page title to start enumerating from.

apcontinue

When more results are available, use this to continue.

apto

The page title to stop enumerating at.

apprefix

Search for all page titles that begin with this value.

apnamespace

The namespace to enumerate.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
apfilterredir

Which pages to list.

One of the following values: all, redirects, nonredirects
Default: all
apminsize

Limit to pages with at least this many bytes.

Type: integer
apmaxsize

Limit to pages with at most this many bytes.

Type: integer
apprtype

Limit to protected pages only.

Values (separate with | or alternative): edit, move, upload
apprlevel

Filter protections based on protection level (must be used with apprtype= parameter).

Values (separate with | or alternative): Can be empty, or autoconfirmed, sysop
apprfiltercascade

Filter protections based on cascadingness (ignored when apprtype isn't set).

One of the following values: cascading, noncascading, all
Default: all
aplimit

How many total pages to return.

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

The direction in which to list.

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

Filter based on whether a page has langlinks. Note that this may not consider langlinks added by extensions.

One of the following values: withlanglinks, withoutlanglinks, all
Default: all
apprexpiry

Which protection expiry to filter the page on:

indefinite
Get only pages with indefinite protection expiry.
definite
Get only pages with a definite (specific) protection expiry.
all
Get pages with any protections expiry.
One of the following values: indefinite, definite, all
Default: all

list=allredirects (ar)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all redirects to a namespace.

Parameters:
arcontinue

When more results are available, use this to continue.

arfrom

The title of the redirect to start enumerating from.

arto

The title of the redirect to stop enumerating at.

arprefix

Search for all target pages that begin with this value.

arunique

Only show distinct target pages. Cannot be used with arprop=ids|fragment|interwiki. When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
arprop

Which pieces of information to include:

ids
Adds the page ID of the redirecting page (cannot be used with arunique).
title
Adds the title of the redirect.
fragment
Adds the fragment from the redirect, if any (cannot be used with arunique).
interwiki
Adds the interwiki prefix from the redirect, if any (cannot be used with arunique).
Values (separate with | or alternative): ids, title, fragment, interwiki
Default: title
arnamespace

The namespace to enumerate.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
arlimit

How many total items to return.

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

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
List target pages, including missing ones, with page IDs they are from, starting at B.
api.php?action=query&list=allredirects&arfrom=B&arprop=ids|title [open in sandbox]
List unique target pages.
api.php?action=query&list=allredirects&arunique=&arfrom=B [open in sandbox]
Gets all target pages, marking the missing ones.
api.php?action=query&generator=allredirects&garunique=&garfrom=B [open in sandbox]
Gets pages containing the redirects.
api.php?action=query&generator=allredirects&garfrom=B [open in sandbox]

list=allrevisions (arv)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all revisions.

Parameters:
arvprop

Which properties to get for each revision:

ids
The ID of the revision.
flags
Revision flags (minor).
timestamp
The timestamp of the revision.
user
User that made the revision.
userid
User ID of the revision creator.
size
Length (bytes) of the revision.
sha1
SHA-1 (base 16) of the revision.
contentmodel
Content model ID of the revision.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Text of the revision.
tags
Tags for the revision.
parsetree
The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, sha1, contentmodel, comment, parsedcomment, content, tags, parsetree
Default: ids|timestamp|flags|comment|user
arvlimit

Limit how many revisions will be returned.

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

Expand templates in revision content (requires arvprop=content).

Type: boolean (details)
arvgeneratexml
Deprecated.

Generate XML parse tree for revision content (requires arvprop=content; replaced by arvprop=parsetree).

Type: boolean (details)
arvparse

Parse revision content (requires arvprop=content). For performance reasons, if this option is used, arvlimit is enforced to 1.

Type: boolean (details)
arvsection

Only retrieve the content of this section number.

arvdiffto

Revision ID to diff each revision to. Use prev, next and cur for the previous, next and current revision respectively.

arvdifftotext

Text to diff each revision to. Only diffs a limited number of revisions. Overrides arvdiffto. If arvsection is set, only that section will be diffed against this text.

arvdifftotextpst

Perform a pre-save transform on the text before diffing it. Only valid when used with arvdifftotext.

Type: boolean (details)
arvcontentformat

Serialization format used for arvdifftotext and expected for output of content.

One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
arvuser

Only list revisions by this user.

Type: user name
arvnamespace

Only list pages in this namespace.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
arvstart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
arvend

The timestamp to stop enumerating at.

Type: timestamp (allowed formats)
arvdir

In which direction to enumerate:

newer
List oldest first. Note: arvstart has to be before arvend.
older
List newest first (default). Note: arvstart has to be later than arvend.
One of the following values: newer, older
Default: older
arvexcludeuser

Don't list revisions by this user.

Type: user name
arvcontinue

When more results are available, use this to continue.

arvgeneratetitles

When being used as a generator, generate titles rather than revision IDs.

Type: boolean (details)

list=alltransclusions (at)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all transclusions (pages embedded using {{x}}), including non-existing.

Parameters:
atcontinue

When more results are available, use this to continue.

atfrom

The title of the transclusion to start enumerating from.

atto

The title of the transclusion to stop enumerating at.

atprefix

Search for all transcluded titles that begin with this value.

atunique

Only show distinct transcluded titles. Cannot be used with atprop=ids. When used as a generator, yields target pages instead of source pages.

Type: boolean (details)
atprop

Which pieces of information to include:

ids
Adds the page ID of the transcluding page (cannot be used with atunique).
title
Adds the title of the transclusion.
Values (separate with | or alternative): ids, title
Default: title
atnamespace

The namespace to enumerate.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 10
atlimit

How many total items to return.

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

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
Examples:
List transcluded titles, including missing ones, with page IDs they are from, starting at B.
api.php?action=query&list=alltransclusions&atfrom=B&atprop=ids|title [open in sandbox]
List unique transcluded titles.
api.php?action=query&list=alltransclusions&atunique=&atfrom=B [open in sandbox]
Gets all transcluded titles, marking the missing ones.
api.php?action=query&generator=alltransclusions&gatunique=&gatfrom=B [open in sandbox]
Gets pages containing the transclusions.
api.php?action=query&generator=alltransclusions&gatfrom=B [open in sandbox]

list=allusers (au)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all registered users.

Parameters:
aufrom

The user name to start enumerating from.

auto

The user name to stop enumerating at.

auprefix

Search for all users that begin with this value.

audir

Direction to sort in.

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

Only include users in the given groups.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
auexcludegroup

Exclude users in the given groups.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
aurights

Only include users with the given rights. Does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed.

Values (separate with | or alternative): apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, bigdelete, block, blockemail, bot, browsearchive, changetags, createaccount, createpage, createtalk, delete, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, edit, editcontentmodel, editinterface, editprotected, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmywatchlist, editsemiprotected, editusercssjs, editusercss, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, passwordreset, patrol, patrolmarks, protect, purge, read, reupload, reupload-own, reupload-shared, rollback, sendemail, siteadmin, suppressionlog, suppressredirect, suppressrevision, unblockself, undelete, unwatchedpages, upload, upload_by_url, userrights, userrights-interwiki, viewmyprivateinfo, viewmywatchlist, viewsuppressed, writeapi, checkuser, checkuser-log, skipcaptcha, nuke, renameuser, usermerge, deletebatch, interwiki
Maximum number of values is 50 (500 for bots).
auprop

Which pieces of information to include:

blockinfo
Adds the information about a current block on the user.
groups
Lists groups that the user is in. This uses more server resources and may return fewer results than the limit.
implicitgroups
Lists all the groups the user is automatically in.
rights
Lists rights that the user has.
editcount
Adds the edit count of the user.
registration
Adds the timestamp of when the user registered if available (may be blank).
centralids
Adds the central IDs and attachment status for the user.
Values (separate with | or alternative): blockinfo, groups, implicitgroups, rights, editcount, registration, centralids
aulimit

How many total user names to return.

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

Only list users who have made edits.

Type: boolean (details)
auactiveusers

Only list users active in the last 30 days.

Type: boolean (details)
auattachedwiki

With auprop=centralids, also indicate whether the user is attached with the wiki identified by this ID.

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that link to the given page.

Parameters:
bltitle

Title to search. Cannot be used together with blpageid.

blpageid

Page ID to search. Cannot be used together with bltitle.

Type: integer
blcontinue

When more results are available, use this to continue.

blnamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
bldir

The direction in which to list.

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

How to filter for redirects. If set to nonredirects when blredirect is enabled, this is only applied to the second level.

One of the following values: all, redirects, nonredirects
Default: all
bllimit

How many total pages to return. If blredirect is enabled, the limit applies to each level separately (which means up to 2 * bllimit results may be returned).

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

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)

list=blocks (bk)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

List all blocked users and IP addresses.

Parameters:
bkstart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
bkend

The timestamp to stop enumerating at.

Type: timestamp (allowed formats)
bkdir

In which direction to enumerate:

newer
List oldest first. Note: bkstart has to be before bkend.
older
List newest first (default). Note: bkstart has to be later than bkend.
One of the following values: newer, older
Default: older
bkids

List of block IDs to list (optional).

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
bkusers

List of users to search for (optional).

Type: list of user names
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
bkip

Get all blocks applying to this IP address or CIDR range, including range blocks. Cannot be used together with bkusers. CIDR ranges broader than IPv4/16 or IPv6/19 are not accepted.

bklimit

The maximum number of blocks to list.

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

Which properties to get:

id
Adds the ID of the block.
user
Adds the username of the blocked user.
userid
Adds the user ID of the blocked user.
by
Adds the username of the blocking user.
byid
Adds the user ID of the blocking user.
timestamp
Adds the timestamp of when the block was given.
expiry
Adds the timestamp of when the block expires.
reason
Adds the reason given for the block.
range
Adds the range of IP addresses affected by the block.
flags
Tags the ban with (autoblock, anononly, etc.).
Values (separate with | or alternative): id, user, userid, by, byid, timestamp, expiry, reason, range, flags
Default: id|user|by|timestamp|expiry|reason|flags
bkshow

Show only items that meet these criteria. For example, to see only indefinite blocks on IP addresses, set bkshow=ip|!temp.

Values (separate with | or alternative): account, !account, temp, !temp, ip, !ip, range, !range
bkcontinue

When more results are available, use this to continue.

list=categorymembers (cm)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all pages in a given category.

Parameters:
cmtitle

Which category to enumerate (required). Must include the Category: prefix. Cannot be used together with cmpageid.

cmpageid

Page ID of the category to enumerate. Cannot be used together with cmtitle.

Type: integer
cmprop

Which pieces of information to include:

ids
Adds the page ID.
title
Adds the title and namespace ID of the page.
sortkey
Adds the sortkey used for sorting in the category (hexadecimal string).
sortkeyprefix
Adds the sortkey prefix used for sorting in the category (human-readable part of the sortkey).
type
Adds the type that the page has been categorised as (page, subcat or file).
timestamp
Adds the timestamp of when the page was included.
Values (separate with | or alternative): ids, title, sortkey, sortkeyprefix, type, timestamp
Default: ids|title
cmnamespace

Only include pages in these namespaces. Note that cmtype=subcat or cmtype=file may be used instead of cmnamespace=14 or 6.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
cmtype

Which type of category members to include. Ignored when cmsort=timestamp is set.

Values (separate with | or alternative): page, subcat, file
Default: page|subcat|file
cmcontinue

When more results are available, use this to continue.

cmlimit

The maximum number of pages to return.

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

Property to sort by.

One of the following values: sortkey, timestamp
Default: sortkey
cmdir

In which direction to sort.

One of the following values: asc, desc, ascending, descending, newer, older
Default: ascending
cmstart

Timestamp to start listing from. Can only be used with cmsort=timestamp.

Type: timestamp (allowed formats)
cmend

Timestamp to end listing at. Can only be used with cmsort=timestamp.

Type: timestamp (allowed formats)
cmstarthexsortkey

Sortkey to start listing from, as returned by cmprop=sortkey. Can only be used with cmsort=sortkey.

cmendhexsortkey

Sortkey to end listing at, as returned by cmprop=sortkey. Can only be used with cmsort=sortkey.

cmstartsortkeyprefix

Sortkey prefix to start listing from. Can only be used with cmsort=sortkey. Overrides cmstarthexsortkey.

cmendsortkeyprefix

Sortkey prefix to end listing before (not at; if this value occurs it will not be included!). Can only be used with cmsort=sortkey. Overrides cmendhexsortkey.

cmstartsortkey
Deprecated.

Use cmstarthexsortkey instead.

cmendsortkey
Deprecated.

Use cmendhexsortkey instead.

list=checkuser (cu)

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: CheckUser
  • License: GPL-2.0+

Check which IP addresses are used by a given username or which usernames are used by a given IP address.

Parameters:
curequest

Type of CheckUser request:

userips
Get IP address of target user.
edits
Get changes from target IP address or range.
ipusers
Get users from target IP address or range.
This parameter is required.
One of the following values: userips, edits, ipusers
cutarget

Username, IP address, or CIDR range to check.

This parameter is required.
cureason

Reason to check.

culimit

Limit of rows.

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

Time limit of user data (like "-2 weeks" or "2 weeks ago").

Default: -2 weeks
cuxff

Use XFF data instead of IP address.

cutoken

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

list=checkuserlog (cul)

  • This module requires read rights.
  • Source: CheckUser
  • License: GPL-2.0+

Get entries from the CheckUser log.

Parameters:
culuser

Username of the CheckUser.

cultarget

Checked user, IP address, or CIDR range.

cullimit

Limit of rows.

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

In which direction to enumerate:

newer
List oldest first. Note: culstart has to be before culend.
older
List newest first (default). Note: culstart has to be later than culend.
One of the following values: newer, older
Default: older
culfrom

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
culto

The timestamp to end enumerating.

Type: timestamp (allowed formats)
culcontinue

When more results are available, use this to continue.

list=deletedrevs (dr)

  • This module is deprecated.
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

List deleted revisions.

Operates in three modes:

  1. List deleted revisions for the given titles, sorted by timestamp.
  2. List deleted contributions for the given user, sorted by timestamp (no titles specified).
  3. List all deleted revisions in the given namespace, sorted by title and timestamp (no titles specified, druser not set).

Certain parameters only apply to some modes and are ignored in others.

Parameters:
drstart

The timestamp to start enumerating from.

Modes: 1, 2
Type: timestamp (allowed formats)
drend

The timestamp to stop enumerating at.

Modes: 1, 2
Type: timestamp (allowed formats)
drdir

In which direction to enumerate:

newer
List oldest first. Note: drstart has to be before drend.
older
List newest first (default). Note: drstart has to be later than drend.
Modes: 1, 3
One of the following values: newer, older
Default: older
drfrom

Start listing at this title.

Mode: 3
drto

Stop listing at this title.

Mode: 3
drprefix

Search for all page titles that begin with this value.

Mode: 3
drunique

List only one revision for each page.

Mode: 3
Type: boolean (details)
drnamespace

Only list pages in this namespace.

Mode: 3
One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
drtag

Only list revisions tagged with this tag.

druser

Only list revisions by this user.

Type: user name
drexcludeuser

Don't list revisions by this user.

Type: user name
drprop

Which properties to get:

revid
Adds the revision ID of the deleted revision.
parentid
Adds the revision ID of the previous revision to the page.
user
Adds the user who made the revision.
userid
Adds the ID of the user who made the revision.
comment
Adds the comment of the revision.
parsedcomment
Adds the parsed comment of the revision.
minor
Tags if the revision is minor.
len
Adds the length (bytes) of the revision.
sha1
Adds the SHA-1 (base 16) of the revision.
content
Adds the content of the revision.
token
Deprecated. Gives the edit token.
tags
Tags for the revision.
Values (separate with | or alternative): revid, parentid, user, userid, comment, parsedcomment, minor, len, sha1, content, token, tags
Default: user|comment
drlimit

The maximum amount of revisions to list.

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

When more results are available, use this to continue.

Examples:
List the last deleted revisions of the pages Main Page and Talk:Main Page, with content (mode 1).
api.php?action=query&list=deletedrevs&titles=Main%20Page|Talk:Main%20Page&drprop=user|comment|content [open in sandbox]
List the last 50 deleted contributions by Bob (mode 2).
api.php?action=query&list=deletedrevs&druser=Bob&drlimit=50 [open in sandbox]
List the first 50 deleted revisions in the main namespace (mode 3).
api.php?action=query&list=deletedrevs&drdir=newer&drlimit=50 [open in sandbox]
List the first 50 deleted pages in the Talk namespace (mode 3).
api.php?action=query&list=deletedrevs&drdir=newer&drlimit=50&drnamespace=1&drunique= [open in sandbox]

list=embeddedin (ei)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that embed (transclude) the given title.

Parameters:
eititle

Title to search. Cannot be used together with eipageid.

eipageid

Page ID to search. Cannot be used together with eititle.

Type: integer
eicontinue

When more results are available, use this to continue.

einamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
eidir

The direction in which to list.

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

How to filter for redirects.

One of the following values: all, redirects, nonredirects
Default: all
eilimit

How many total pages to return.

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

list=exturlusage (eu)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

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
euoffset

When more results are available, use this to continue.

Type: integer
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.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
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)

list=filearchive (fa)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate all deleted files sequentially.

Parameters:
fafrom

The image title to start enumerating from.

fato

The image title to stop enumerating at.

faprefix

Search for all image titles that begin with this value.

fadir

The direction in which to list.

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

SHA1 hash of image. Overrides fasha1base36.

fasha1base36

SHA1 hash of image in base 36 (used in MediaWiki).

faprop

Which image information to get:

sha1
Adds SHA-1 hash for the image.
timestamp
Adds timestamp for the uploaded version.
user
Adds user who uploaded the image version.
size
Adds the size of the image in bytes and the height, width and page count (if applicable).
dimensions
Alias for size.
description
Adds description of the image version.
parseddescription
Parse the description of the version.
mime
Adds MIME of the image.
mediatype
Adds the media type of the image.
metadata
Lists Exif metadata for the version of the image.
bitdepth
Adds the bit depth of the version.
archivename
Adds the filename of the archive version for non-latest versions.
Values (separate with | or alternative): sha1, timestamp, user, size, dimensions, description, parseddescription, mime, mediatype, metadata, bitdepth, archivename
Default: timestamp
falimit

How many images to return in total.

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

When more results are available, use this to continue.

Example:
Show a list of all deleted files.
api.php?action=query&list=filearchive [open in sandbox]

list=imageusage (iu)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that use the given image title.

Parameters:
iutitle

Title to search. Cannot be used together with iupageid.

iupageid

Page ID to search. Cannot be used together with iutitle.

Type: integer
iucontinue

When more results are available, use this to continue.

iunamespace

The namespace to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
iudir

The direction in which to list.

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

How to filter for redirects. If set to nonredirects when iuredirect is enabled, this is only applied to the second level.

One of the following values: all, redirects, nonredirects
Default: all
iulimit

How many total pages to return. If iuredirect is enabled, the limit applies to each level separately (which means up to 2 * iulimit results may be returned).

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

If linking page is a redirect, find all pages that link to that redirect as well. Maximum limit is halved.

Type: boolean (details)
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that link to the given interwiki link.

Can be used to find all links with a prefix, or all links to a title (with a given prefix). Using neither parameter is effectively "all interwiki links".

Parameters:
iwblprefix

Prefix for the interwiki.

iwbltitle

Interwiki link to search for. Must be used with iwblblprefix.

iwblcontinue

When more results are available, use this to continue.

iwbllimit

How many total pages to return.

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

Which properties to get:

iwprefix
Adds the prefix of the interwiki.
iwtitle
Adds the title of the interwiki.
Values (separate with | or alternative): iwprefix, iwtitle
Default: (empty)
iwbldir

The direction in which to list.

One of the following values: ascending, descending
Default: ascending
  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Find all pages that link to the given language link.

Can be used to find all links with a language code, or all links to a title (with a given language). Using neither parameter is effectively "all language links".

Note that this may not consider language links added by extensions.

Parameters:
lbllang

Language for the language link.

lbltitle

Language link to search for. Must be used with lbllang.

lblcontinue

When more results are available, use this to continue.

lbllimit

How many total pages to return.

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

Which properties to get:

lllang
Adds the language code of the language link.
lltitle
Adds the title of the language link.
Values (separate with | or alternative): lllang, lltitle
Default: (empty)
lbldir

The direction in which to list.

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

list=logevents (le)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get events from logs.

Parameters:
leprop

Which properties to get:

ids
Adds the ID of the log event.
title
Adds the title of the page for the log event.
type
Adds the type of log event.
user
Adds the user responsible for the log event.
userid
Adds the user ID who was responsible for the log event.
timestamp
Adds the timestamp for the log event.
comment
Adds the comment of the log event.
parsedcomment
Adds the parsed comment of the log event.
details
Lists additional details about the log event.
tags
Lists tags for the log event.
Values (separate with | or alternative): ids, title, type, user, userid, timestamp, comment, parsedcomment, details, tags
Default: ids|title|type|user|timestamp|comment|details
letype

Filter log entries to only this type.

One of the following values: Can be empty, or renameuser, usermerge, block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, newusers, interwiki
leaction

Filter log actions to only this action. Overrides letype. In the list of possible values, values with the asterisk wildcard such as action/* can have different strings after the slash (/).

One of the following values: usermerge/mergeuser, usermerge/deleteuser, renameuser/renameuser, block/block, block/reblock, block/unblock, contentmodel/change, contentmodel/new, delete/delete, delete/delete_redir, delete/event, delete/restore, delete/revision, import/interwiki, import/upload, managetags/activate, managetags/create, managetags/deactivate, managetags/delete, merge/merge, move/move, move/move_redir, patrol/patrol, patrol/autopatrol, protect/modify, protect/move_prot, protect/protect, protect/unprotect, rights/autopromote, rights/rights, suppress/block, suppress/delete, suppress/event, suppress/reblock, suppress/revision, tag/update, upload/overwrite, upload/revert, upload/upload, newusers/newusers, newusers/create, newusers/create2, newusers/byemail, newusers/autocreate, interwiki/*
lestart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
leend

The timestamp to end enumerating.

Type: timestamp (allowed formats)
ledir

In which direction to enumerate:

newer
List oldest first. Note: lestart has to be before leend.
older
List newest first (default). Note: lestart has to be later than leend.
One of the following values: newer, older
Default: older
leuser

Filter entries to those made by the given user.

Type: user name
letitle

Filter entries to those related to a page.

lenamespace

Filter entries to those in the given namespace.

One of the following values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
leprefix

Filter entries that start with this prefix.

letag

Only list event entries tagged with this tag.

lelimit

How many total event entries to return.

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

When more results are available, use this to continue.

list=mystashedfiles (msf)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get a list of files in the current user's upload stash.

Parameters:
msfprop

Which properties to fetch for the files.

size
Fetch the file size and image dimensions.
type
Fetch the file's MIME type and media type.
Values (separate with | or alternative): size, type
Default: (empty)
msflimit

How many files to get.

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

When more results are available, use this to continue.

Example:
Get the filekey, file size, and pixel size of files in the current user's upload stash.
api.php?action=query&list=mystashedfiles&msfprop=size [open in sandbox]

list=pagepropnames (ppn)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

List all page property names in use on the wiki.

Parameters:
ppncontinue

When more results are available, use this to continue.

ppnlimit

The maximum number of names to return.

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

list=pageswithprop (pwp)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all pages using a given page property.

Parameters:
pwppropname

Page property for which to enumerate pages (action=query&list=pagepropnames returns page property names in use).

This parameter is required.
pwpprop

Which pieces of information to include:

ids
Adds the page ID.
title
Adds the title and namespace ID of the page.
value
Adds the value of the page property.
Values (separate with | or alternative): ids, title, value
Default: ids|title
pwpcontinue

When more results are available, use this to continue.

pwplimit

The maximum number of pages to return.

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

In which direction to sort.

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

list=prefixsearch (ps)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Perform a prefix search for page titles.

Despite the similarity in names, this module is not intended to be equivalent to Special:PrefixIndex; for that, see action=query&list=allpages with the apprefix parameter. The purpose of this module is similar to action=opensearch: to take user input and provide the best-matching titles. Depending on the search engine backend, this might include typo correction, redirect avoidance, or other heuristics.

Parameters:
pssearch

Search string.

This parameter is required.
psnamespace

Namespaces to search.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
pslimit

Maximum number of results to return.

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

When more results are available, use this to continue.

Type: integer
Default: 0
Example:
Search for page titles beginning with meaning.
api.php?action=query&list=prefixsearch&pssearch=meaning [open in sandbox]

list=protectedtitles (pt)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

List all titles protected from creation.

Parameters:
ptnamespace

Only list titles in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
ptlevel

Only list titles with these protection levels.

Values (separate with | or alternative): autoconfirmed, sysop
ptlimit

How many total pages to return.

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

In which direction to enumerate:

newer
List oldest first. Note: ptstart has to be before ptend.
older
List newest first (default). Note: ptstart has to be later than ptend.
One of the following values: newer, older
Default: older
ptstart

Start listing at this protection timestamp.

Type: timestamp (allowed formats)
ptend

Stop listing at this protection timestamp.

Type: timestamp (allowed formats)
ptprop

Which properties to get:

timestamp
Adds the timestamp of when protection was added.
user
Adds the user that added the protection.
userid
Adds the user ID that added the protection.
comment
Adds the comment for the protection.
parsedcomment
Adds the parsed comment for the protection.
expiry
Adds the timestamp of when the protection will be lifted.
level
Adds the protection level.
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, expiry, level
Default: timestamp|level
ptcontinue

When more results are available, use this to continue.

list=querypage (qp)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get a list provided by a QueryPage-based special page.

Parameters:
qppage

The name of the special page. Note, this is case sensitive.

This parameter is required.
One of the following values: Ancientpages, BrokenRedirects, Deadendpages, DoubleRedirects, ListDuplicatedFiles, Listredirects, Lonelypages, Longpages, MediaStatistics, Mostcategories, Mostimages, Mostinterwikis, Mostlinkedcategories, Mostlinkedtemplates, Mostlinked, Mostrevisions, Fewestrevisions, Shortpages, Uncategorizedcategories, Uncategorizedpages, Uncategorizedimages, Uncategorizedtemplates, Unusedcategories, Unusedimages, Wantedcategories, Wantedfiles, Wantedpages, Wantedtemplates, Unwatchedpages, Unusedtemplates, Withoutinterwiki
qpoffset

When more results are available, use this to continue.

Type: integer
Default: 0
qplimit

Number of results to return.

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

list=random (rn)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get a set of random pages.

Pages are listed in a fixed sequence, only the starting point is random. This means that if, for example, Main Page is the first random page in the list, List of fictional monkeys will always be second, List of people on stamps of Vanuatu third, etc.

Parameters:
rnnamespace

Return pages in these namespaces only.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
rnfilterredir

How to filter for redirects.

One of the following values: all, redirects, nonredirects
Default: nonredirects
rnredirect
Deprecated.

Use rnfilterredir=redirects instead.

Type: boolean (details)
rnlimit

Limit how many random pages will be returned.

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

When more results are available, use this to continue.

Examples:
Return two random pages from the main namespace.
api.php?action=query&list=random&rnnamespace=0&rnlimit=2 [open in sandbox]
Return page info about two random pages from the main namespace.
api.php?action=query&generator=random&grnnamespace=0&grnlimit=2&prop=info [open in sandbox]

list=recentchanges (rc)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Enumerate recent changes.

Parameters:
rcstart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
rcend

The timestamp to end enumerating.

Type: timestamp (allowed formats)
rcdir

In which direction to enumerate:

newer
List oldest first. Note: rcstart has to be before rcend.
older
List newest first (default). Note: rcstart has to be later than rcend.
One of the following values: newer, older
Default: older
rcnamespace

Filter changes to only these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
rcuser

Only list changes by this user.

Type: user name
rcexcludeuser

Don't list changes by this user.

Type: user name
rctag

Only list changes tagged with this tag.

rcprop

Include additional pieces of information:

user
Adds the user responsible for the edit and tags if they are an IP.
userid
Adds the user ID responsible for the edit.
comment
Adds the comment for the edit.
parsedcomment
Adds the parsed comment for the edit.
flags
Adds flags for the edit.
timestamp
Adds timestamp of the edit.
title
Adds the page title of the edit.
ids
Adds the page ID, recent changes ID and the new and old revision ID.
sizes
Adds the new and old page length in bytes.
redirect
Tags edit if page is a redirect.
patrolled
Tags patrollable edits as being patrolled or unpatrolled.
loginfo
Adds log information (log ID, log type, etc) to log entries.
tags
Lists tags for the entry.
sha1
Adds the content checksum for entries associated with a revision.
Values (separate with | or alternative): user, userid, comment, parsedcomment, flags, timestamp, title, ids, sizes, redirect, patrolled, loginfo, tags, sha1
Default: title|timestamp|ids
rctoken
Deprecated.

Use action=query&meta=tokens instead.

Values (separate with | or alternative): patrol
rcshow

Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set rcshow=minor|!anon.

Values (separate with | or alternative): minor, !minor, bot, !bot, anon, !anon, redirect, !redirect, patrolled, !patrolled, unpatrolled
rclimit

How many total changes to return.

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

Which types of changes to show.

Values (separate with | or alternative): edit, new, log, external, categorize
Default: edit|new|log|categorize
rctoponly

Only list changes which are the latest revision.

Type: boolean (details)
rccontinue

When more results are available, use this to continue.

rcgeneraterevisions

When being used as a generator, generate revision IDs rather than titles. Recent change entries without associated revision IDs (e.g. most log entries) will generate nothing.

Type: boolean (details)

list=search (sr)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Perform a full text search.

Parameters:
srsearch

Search for page titles or content matching this value. You can use the search string to invoke special search features, depending on what the wiki's search backend implements.

This parameter is required.
srnamespace

Search only within these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
Default: 0
srlimit

How many total pages to return.

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

When more results are available, use this to continue.

Type: integer
Default: 0
srwhat

Which type of search to perform.

One of the following values: title, text, nearmatch
srinfo

Which metadata to return.

Values (separate with | or alternative): totalhits, suggestion, rewrittenquery
Default: totalhits|suggestion|rewrittenquery
srprop

Which properties to return:

size
Adds the size of the page in bytes.
wordcount
Adds the word count of the page.
timestamp
Adds the timestamp of when the page was last edited.
snippet
Adds a parsed snippet of the page.
titlesnippet
Adds a parsed snippet of the page title.
redirecttitle
Adds the title of the matching redirect.
redirectsnippet
Adds a parsed snippet of the redirect title.
sectiontitle
Adds the title of the matching section.
sectionsnippet
Adds a parsed snippet of the matching section title.
isfilematch
Adds a boolean indicating if the search matched file content.
categorysnippet
Adds a parsed snippet of the matching category.
score
Deprecated and ignored.
hasrelated
Deprecated and ignored.
Values (separate with | or alternative): size, wordcount, timestamp, snippet, titlesnippet, redirecttitle, redirectsnippet, sectiontitle, sectionsnippet, isfilematch, categorysnippet, score, hasrelated
Default: size|wordcount|timestamp|snippet
srinterwiki

Include interwiki results in the search, if available.

Type: boolean (details)
srenablerewrites

Enable internal query rewriting. Some search backends can rewrite the query into one its thinks gives better results, such as correcting spelling errors.

Type: boolean (details)

list=tags (tg)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

List change tags.

Parameters:
tgcontinue

When more results are available, use this to continue.

tglimit

The maximum number of tags to list.

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

Which properties to get:

name
Adds name of tag.
displayname
Adds system message for the tag.
description
Adds description of the tag.
hitcount
Adds the number of revisions and log entries that have this tag.
defined
Indicate whether the tag is defined.
source
Gets the sources of the tag, which may include extension for extension-defined tags and manual for tags that may be applied manually by users.
active
Whether the tag is still being applied.
Values (separate with | or alternative): name, displayname, description, hitcount, defined, source, active
Default: name

list=usercontribs (uc)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get all edits by a user.

Parameters:
uclimit

The maximum number of contributions to return.

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

The start timestamp to return from.

Type: timestamp (allowed formats)
ucend

The end timestamp to return to.

Type: timestamp (allowed formats)
uccontinue

When more results are available, use this to continue.

ucuser

The users to retrieve contributions for.

Type: list of user names
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ucuserprefix

Retrieve contributions for all users whose names begin with this value. Overrides ucuser.

ucdir

In which direction to enumerate:

newer
List oldest first. Note: ucstart has to be before ucend.
older
List newest first (default). Note: ucstart has to be later than ucend.
One of the following values: newer, older
Default: older
ucnamespace

Only list contributions in these namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
ucprop

Include additional pieces of information:

ids
Adds the page ID and revision ID.
title
Adds the title and namespace ID of the page.
timestamp
Adds the timestamp of the edit.
comment
Adds the comment of the edit.
parsedcomment
Adds the parsed comment of the edit.
size
Adds the new size of the edit.
sizediff
Adds the size delta of the edit against its parent.
flags
Adds flags of the edit.
patrolled
Tags patrolled edits.
tags
Lists tags for the edit.
Values (separate with | or alternative): ids, title, timestamp, comment, parsedcomment, size, sizediff, flags, patrolled, tags
Default: ids|title|timestamp|comment|size|flags
ucshow

Show only items that meet these criteria, e.g. non minor edits only: ucshow=!minor.

If ucshow=patrolled or ucshow=!patrolled is set, revisions older than $wgRCMaxAge (7776000 seconds) won't be shown.

Values (separate with | or alternative): minor, !minor, patrolled, !patrolled, top, !top, new, !new
uctag

Only list revisions tagged with this tag.

uctoponly
Deprecated.

Only list changes which are the latest revision.

Type: boolean (details)
Examples:
Show contributions of user Example.
api.php?action=query&list=usercontribs&ucuser=Example [open in sandbox]
Show contributions from all IP addresses with prefix 192.0.2..
api.php?action=query&list=usercontribs&ucuserprefix=192.0.2. [open in sandbox]

list=users (us)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get information about a list of users.

Parameters:
usprop

Which pieces of information to include:

blockinfo
Tags if the user is blocked, by whom, and for what reason.
groups
Lists all the groups each user belongs to.
implicitgroups
Lists all the groups a user is automatically a member of.
rights
Lists all the rights each user has.
editcount
Adds the user's edit count.
registration
Adds the user's registration timestamp.
emailable
Tags if the user can and wants to receive email through Special:Emailuser.
gender
Tags the gender of the user. Returns "male", "female", or "unknown".
centralids
Adds the central IDs and attachment status for the user.
cancreate
Indicates whether an account for valid but unregistered usernames can be created.
Values (separate with | or alternative): blockinfo, groups, implicitgroups, rights, editcount, registration, emailable, gender, centralids, cancreate
usattachedwiki

With usprop=centralids, indicate whether the user is attached with the wiki identified by this ID.

ususers

A list of users to obtain information for.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
ustoken
Deprecated.

Use action=query&meta=tokens instead.

Values (separate with | or alternative): userrights

list=watchlist (wl)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get recent changes to pages in the current user's watchlist.

Parameters:
wlallrev

Include multiple revisions of the same page within given timeframe.

Type: boolean (details)
wlstart

The timestamp to start enumerating from.

Type: timestamp (allowed formats)
wlend

The timestamp to end enumerating.

Type: timestamp (allowed formats)
wlnamespace

Filter changes to only the given namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
wluser

Only list changes by this user.

Type: user name
wlexcludeuser

Don't list changes by this user.

Type: user name
wldir

In which direction to enumerate:

newer
List oldest first. Note: wlstart has to be before wlend.
older
List newest first (default). Note: wlstart has to be later than wlend.
One of the following values: newer, older
Default: older
wllimit

How many total results to return per request.

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

Which additional properties to get:

ids
Adds revision IDs and page IDs.
title
Adds title of the page.
flags
Adds flags for the edit.
user
Adds the user who made the edit.
userid
Adds user ID of whoever made the edit.
comment
Adds comment of the edit.
parsedcomment
Adds parsed comment of the edit.
timestamp
Adds timestamp of the edit.
patrol
Tags edits that are patrolled.
sizes
Adds the old and new lengths of the page.
notificationtimestamp
Adds timestamp of when the user was last notified about the edit.
loginfo
Adds log information where appropriate.
Values (separate with | or alternative): ids, title, flags, user, userid, comment, parsedcomment, timestamp, patrol, sizes, notificationtimestamp, loginfo
Default: ids|title|flags
wlshow

Show only items that meet these criteria. For example, to see only minor edits done by logged-in users, set wlshow=minor|!anon.

Values (separate with | or alternative): minor, !minor, bot, !bot, anon, !anon, patrolled, !patrolled, unread, !unread
wltype

Which types of changes to show:

edit
Regular page edits.
new
Page creations.
log
Log entries.
external
External changes.
categorize
Category membership changes.
Values (separate with | or alternative): edit, new, log, external, categorize
Default: edit|new|log|categorize
wlowner

Used along with wltoken to access a different user's watchlist.

Type: user name
wltoken

A security token (available in the user's preferences) to allow access to another user's watchlist.

wlcontinue

When more results are available, use this to continue.

Examples:
List the top revision for recently changed pages on the current user's watchlist.
api.php?action=query&list=watchlist [open in sandbox]
Fetch additional information about the top revision for recently changed pages on the current user's watchlist.
api.php?action=query&list=watchlist&wlprop=ids|title|timestamp|user|comment [open in sandbox]
Fetch information about all recent changes to pages on the current user's watchlist.
api.php?action=query&list=watchlist&wlallrev=&wlprop=ids|title|timestamp|user|comment [open in sandbox]
Fetch page info for recently changed pages on the current user's watchlist.
api.php?action=query&generator=watchlist&prop=info [open in sandbox]
Fetch revision info for recent changes to pages on the current user's watchlist.
api.php?action=query&generator=watchlist&gwlallrev=&prop=revisions&rvprop=timestamp|user [open in sandbox]
List the top revision for recently changed pages on the watchlist of user Example.
api.php?action=query&list=watchlist&wlowner=Example&wltoken=123ABC [open in sandbox]

list=watchlistraw (wr)

  • This module requires read rights.
  • This module can be used as a generator.
  • Source: MediaWiki
  • License: GPL-2.0+

Get all pages on the current user's watchlist.

Parameters:
wrcontinue

When more results are available, use this to continue.

wrnamespace

Only list pages in the given namespaces.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 110, 3330, 3331
wrlimit

How many total results to return per request.

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

Which additional properties to get:

changed
Adds timestamp of when the user was last notified about the edit.
Values (separate with | or alternative): changed
wrshow

Only list items that meet these criteria.

Values (separate with | or alternative): changed, !changed
wrowner

Used along with wrtoken to access a different user's watchlist.

Type: user name
wrtoken

A security token (available in the user's preferences) to allow access to another user's watchlist.

wrdir

The direction in which to list.

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

Title (with namespace prefix) to begin enumerating from.

wrtotitle

Title (with namespace prefix) to stop enumerating at.

Examples:
List pages on the current user's watchlist.
api.php?action=query&list=watchlistraw [open in sandbox]
Fetch page info for pages on the current user's watchlist.
api.php?action=query&generator=watchlistraw&gwrshow=changed&prop=info [open in sandbox]

meta=allmessages (am)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Return messages from this site.

Parameters:
ammessages

Which messages to output. * (default) means all messages.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
Default: *
amprop

Which properties to get.

Values (separate with | or alternative): default
amenableparser

Set to enable parser, will preprocess the wikitext of message (substitute magic words, handle templates, etc.).

Type: boolean (details)
amnocontent

If set, do not include the content of the messages in the output.

Type: boolean (details)
amincludelocal

Also include local messages, i.e. messages that don't exist in the software but do exist as a MediaWiki: page. This lists all MediaWiki: pages, so it will also list those that aren't really messages such as Common.js.

Type: boolean (details)
amargs

Arguments to be substituted into message.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
amfilter

Return only messages with names that contain this string.

amcustomised

Return only messages in this customisation state.

One of the following values: all, modified, unmodified
Default: all
amlang

Return messages in this language.

amfrom

Return messages starting at this message.

amto

Return messages ending at this message.

amtitle

Page name to use as context when parsing message (for amenableparser option).

amprefix

Return messages with this prefix.

meta=authmanagerinfo (ami)

Retrieve information about the current authentication status.

Parameters:
amisecuritysensitiveoperation

Test whether the user's current authentication status is sufficient for the specified security-sensitive operation.

amirequestsfor

Fetch information about the authentication requests needed for the specified authentication action.

One of the following values: login, login-continue, create, create-continue, link, link-continue, change, remove, unlink
amimergerequestfields

Merge field information for all authentication requests into one array.

Type: boolean (details)
amimessageformat

Format to use for returning messages.

One of the following values: html, wikitext, raw, none
Default: wikitext
Examples:
Fetch the requests that may be used when beginning a login.
api.php?action=query&meta=authmanagerinfo&amirequestsfor=login [open in sandbox]
Fetch the requests that may be used when beginning a login, with form fields merged.
api.php?action=query&meta=authmanagerinfo&amirequestsfor=login&amimergerequestfields=1 [open in sandbox]
Test whether authentication is sufficient for action foo.
api.php?action=query&meta=authmanagerinfo&amisecuritysensitiveoperation=foo [open in sandbox]

meta=filerepoinfo (fri)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Return meta information about image repositories configured on the wiki.

Parameter:
friprop

Which repository properties to get (there may be more available on some wikis):

apiurl
URL to the repository API - helpful for getting image info from the host.
name
The key of the repository - used in e.g. $wgForeignFileRepos and imageinfo return values.
displayname
The human-readable name of the repository wiki.
rooturl
Root URL for image paths.
local
Whether that repository is the local one or not.
Values (separate with | or alternative): name, displayname, rootUrl, local, url, thumbUrl, initialCapital, scriptDirUrl, scriptExtension, favicon, canUpload
Default: name|displayname|rootUrl|local|url|thumbUrl|initialCapital|scriptDirUrl|scriptExtension|favicon|canUpload

meta=siteinfo (si)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Return general information about the site.

Parameters:
siprop

Which information to get:

general
Overall system information.
namespaces
List of registered namespaces and their canonical names.
namespacealiases
List of registered namespace aliases.
specialpagealiases
List of special page aliases.
magicwords
List of magic words and their aliases.
interwikimap
Returns interwiki map (optionally filtered, optionally localised by using siinlanguagecode).
dbrepllag
Returns database server with the highest replication lag.
statistics
Returns site statistics.
usergroups
Returns user groups and the associated permissions.
libraries
Returns libraries installed on the wiki.
extensions
Returns extensions installed on the wiki.
fileextensions
Returns list of file extensions (file types) allowed to be uploaded.
rightsinfo
Returns wiki rights (license) information if available.
restrictions
Returns information on available restriction (protection) types.
languages
Returns a list of languages MediaWiki supports (optionally localised by using siinlanguagecode).
skins
Returns a list of all enabled skins (optionally localised by using siinlanguagecode, otherwise in the content language).
extensiontags
Returns a list of parser extension tags.
functionhooks
Returns a list of parser function hooks.
showhooks
Returns a list of all subscribed hooks (contents of $wgHooks).
variables
Returns a list of variable IDs.
protocols
Returns a list of protocols that are allowed in external links.
defaultoptions
Returns the default values for user preferences.
uploaddialog
Returns the upload dialog configuration.
Values (separate with | or alternative): general, namespaces, namespacealiases, specialpagealiases, magicwords, interwikimap, dbrepllag, statistics, usergroups, libraries, extensions, fileextensions, rightsinfo, restrictions, languages, skins, extensiontags, functionhooks, showhooks, variables, protocols, defaultoptions, uploaddialog
Default: general
sifilteriw

Return only local or only nonlocal entries of the interwiki map.

One of the following values: local, !local
sishowalldb

List all database servers, not just the one lagging the most.

Type: boolean (details)
sinumberingroup

Lists the number of users in user groups.

Type: boolean (details)
siinlanguagecode

Language code for localised language names (best effort) and skin names.

meta=tokens

Gets tokens for data-modifying actions.

Parameter:
type

Types of token to request.

Values (separate with | or alternative): createaccount, csrf, login, patrol, rollback, userrights, watch
Default: csrf
Examples:
Retrieve a csrf token (the default).
api.php?action=query&meta=tokens [open in sandbox]
Retrieve a watch token and a patrol token.
api.php?action=query&meta=tokens&type=watch|patrol [open in sandbox]

meta=userinfo (ui)

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get information about the current user.

Parameters:
uiprop

Which pieces of information to include:

blockinfo
Tags if the current user is blocked, by whom, and for what reason.
hasmsg
Adds a tag messages if the current user has pending messages.
groups
Lists all the groups the current user belongs to.
implicitgroups
Lists all the groups the current user is automatically a member of.
rights
Lists all the rights the current user has.
changeablegroups
Lists the groups the current user can add to and remove from.
options
Lists all preferences the current user has set.
preferencestoken
Deprecated. Get a token to change current user's preferences.
editcount
Adds the current user's edit count.
ratelimits
Lists all rate limits applying to the current user.
email
Adds the user's email address and email authentication date.
realname
Adds the user's real name.
acceptlang
Echoes the Accept-Language header sent by the client in a structured format.
registrationdate
Adds the user's registration date.
unreadcount
Adds the count of unread pages on the user's watchlist (maximum 999; returns 1000+ if more).
centralids
Adds the central IDs and attachment status for the user.
Values (separate with | or alternative): blockinfo, hasmsg, groups, implicitgroups, rights, changeablegroups, options, preferencestoken, editcount, ratelimits, email, realname, acceptlang, registrationdate, unreadcount, centralids
uiattachedwiki

With uiprop=centralids, indicate whether the user is attached with the wiki identified by this ID.

Examples:
Get information about the current user.
api.php?action=query&meta=userinfo [open in sandbox]
Get additional information about the current user.
api.php?action=query&meta=userinfo&uiprop=blockinfo|groups|rights|hasmsg [open in sandbox]

action=removeauthenticationdata

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Remove authentication data for the current user.

Parameters:
request

Use this authentication request, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=remove.

This parameter is required.
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Example:
Attempt to remove the current user's data for FooAuthenticationRequest.
api.php?action=removeauthenticationdata&request=FooAuthenticationRequest&token=123ABC [open in sandbox]

action=resetpassword

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Send a password reset email to a user.

Parameters:
user

User being reset.

Type: user name
email

Email address of the user being reset.

capture

Return the temporary passwords that were sent. Requires the passwordreset user right.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Examples:
Send a password reset email to user Example.
api.php?action=resetpassword&user=Example&token=123ABC [open in sandbox]
Send a password reset email for all users with email address user@example.com.
api.php?action=resetpassword&user=user@example.com&token=123ABC [open in sandbox]

action=revisiondelete

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Delete and undelete revisions.

Parameters:
type

Type of revision deletion being performed.

This parameter is required.
One of the following values: revision, archive, oldimage, filearchive, logging
target

Page title for the revision deletion, if required for the type.

ids

Identifiers for the revisions to be deleted.

This parameter is required.
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
hide

What to hide for each revision.

Values (separate with | or alternative): content, comment, user
show

What to unhide for each revision.

Values (separate with | or alternative): content, comment, user
suppress

Whether to suppress data from administrators as well as others.

One of the following values: yes, no, nochange
Default: nochange
reason

Reason for the deletion or undeletion.

token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=rollback

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Undo the last edit to the page.

If the last user who edited the page made multiple edits in a row, they will all be rolled back.

Parameters:
title

Title of the page to roll back. Cannot be used together with pageid.

pageid

Page ID of the page to roll back. Cannot be used together with title.

Type: integer
tags

Tags to apply to the rollback.

Values (separate with | or alternative):
user

Name of the user whose edits are to be rolled back.

This parameter is required.
Type: user name
summary

Custom edit summary. If empty, default summary will be used.

Default: (empty)
markbot

Mark the reverted edits and the revert as bot edits.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
token

A "rollback" token retrieved from action=query&meta=tokens

For compatibility, the token used in the web UI is also accepted.

This parameter is required.
Examples:
Roll back the last edits to page Main Page by user Example.
api.php?action=rollback&title=Main%20Page&user=Example&token=123ABC [open in sandbox]
Roll back the last edits to page Main Page by IP user 192.0.2.5 with summary Reverting vandalism, and mark those edits and the revert as bot edits.
api.php?action=rollback&title=Main%20Page&user=192.0.2.5&token=123ABC&summary=Reverting%20vandalism&markbot=1 [open in sandbox]

action=rsd

(main | rsd)

Export an RSD (Really Simple Discovery) schema.

Example:
Export the RSD schema.
api.php?action=rsd [open in sandbox]

action=setnotificationtimestamp

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Update the notification timestamp for watched pages.

This affects the highlighting of changed pages in the watchlist and history, and the sending of email when the "Email me when a page or a file on my watchlist is changed" preference is enabled.

Parameters:
entirewatchlist

Work on all watched pages.

Type: boolean (details)
timestamp

Timestamp to which to set the notification timestamp.

Type: timestamp (allowed formats)
torevid

Revision to set the notification timestamp to (one page only).

Type: integer
newerthanrevid

Revision to set the notification timestamp newer than (one page only).

Type: integer
continue

When more results are available, use this to continue.

titles

A list of titles to work on.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw
redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz, zh.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Examples:
Reset the notification status for the entire watchlist.
api.php?action=setnotificationtimestamp&entirewatchlist=&token=123ABC [open in sandbox]
Reset the notification status for Main page.
api.php?action=setnotificationtimestamp&titles=Main_page&token=123ABC [open in sandbox]
Set the notification timestamp for Main page so all edits since 1 January 2012 are unviewed.
api.php?action=setnotificationtimestamp&titles=Main_page&timestamp=2012-01-01T00:00:00Z&token=123ABC [open in sandbox]
Reset the notification status for pages in the User namespace.
api.php?action=setnotificationtimestamp&generator=allpages&gapnamespace=2&token=123ABC [open in sandbox]

action=stashedit

  • This module is internal or unstable. Its operation may change without notice.
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Prepare an edit in shared cache.

This is intended to be used via AJAX from the edit form to improve the performance of the page save.

Parameters:
title

Title of the page being edited.

This parameter is required.
section

Section number. 0 for the top section, new for a new section.

sectiontitle

The title for a new section.

text

Page content.

stashedtexthash

Page content hash from a prior stash to use instead.

summary

Change summary.

contentmodel

Content model of the new content.

This parameter is required.
One of the following values: wikitext, javascript, json, css, text
contentformat

Content serialization format used for the input text.

This parameter is required.
One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
baserevid

Revision ID of the base revision.

This parameter is required.
Type: integer
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=tag

(main | tag)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Add or remove change tags from individual revisions or log entries.

Parameters:
rcid

One or more recent changes IDs from which to add or remove the tag.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revid

One or more revision IDs from which to add or remove the tag.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
logid

One or more log entry IDs from which to add or remove the tag.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
add

Tags to add. Only manually defined tags can be added.

Values (separate with | or alternative):
remove

Tags to remove. Only tags that are either manually defined or completely undefined can be removed.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
reason

Reason for the change.

Default: (empty)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Examples:
Add the vandalism tag to revision ID 123 without specifying a reason
api.php?action=tag&revid=123&add=vandalism&token=123ABC [open in sandbox]
Remove the spam tag from log entry ID 123 with the reason Wrongly applied
api.php?action=tag&logid=123&remove=spam&reason=Wrongly+applied&token=123ABC [open in sandbox]

action=tokens

  • This module is deprecated.
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Get tokens for data-modifying actions.

This module is deprecated in favor of action=query&meta=tokens.

Parameter:
type

Types of token to request.

Values (separate with | or alternative): block, createaccount, csrf, delete, edit, email, import, login, move, options, patrol, protect, rollback, unblock, userrights, watch
Default: edit
Examples:
Retrieve an edit token (the default).
api.php?action=tokens [open in sandbox]
Retrieve an email token and a move token.
api.php?action=tokens&type=email|move [open in sandbox]

action=unblock

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Unblock a user.

Parameters:
id

ID of the block to unblock (obtained through list=blocks). Cannot be used together with user.

Type: integer
user

Username, IP address or IP address range to unblock. Cannot be used together with id.

reason

Reason for unblock.

Default: (empty)
tags

Change tags to apply to the entry in the block log.

Values (separate with | or alternative):
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=undelete

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Restore revisions of a deleted page.

A list of deleted revisions (including timestamps) can be retrieved through list=deletedrevs, and a list of deleted file IDs can be retrieved through list=filearchive.

Parameters:
title

Title of the page to restore.

This parameter is required.
reason

Reason for restoring.

Default: (empty)
tags

Change tags to apply to the entry in the deletion log.

Values (separate with | or alternative):
timestamps

Timestamps of the revisions to restore. If both timestamps and fileids are empty, all will be restored.

Type: list of timestamps (allowed formats)
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
fileids

IDs of the file revisions to restore. If both timestamps and fileids are empty, all will be restored.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, unwatch, preferences, nochange
Default: preferences
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=unlinkaccount

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Remove a linked third-party account from the current user.

Parameters:
request

Use this authentication request, by the id returned from action=query&meta=authmanagerinfo with amirequestsfor=unlink.

This parameter is required.
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.
Example:
Attempt to remove the current user's link for the provider associated with FooAuthenticationRequest.
api.php?action=unlinkaccount&request=FooAuthenticationRequest&token=123ABC [open in sandbox]

action=upload

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Upload a file, or get the status of pending uploads.

Several methods are available:

  • Upload file contents directly, using the file parameter.
  • Upload the file in pieces, using the filesize, chunk, and offset parameters.
  • Have the MediaWiki server fetch a file from a URL, using the url parameter.
  • Complete an earlier upload that failed due to warnings, using the filekey parameter.

Note that the HTTP POST must be done as a file upload (i.e. using multipart/form-data) when sending the file.

Parameters:
filename

Target filename.

comment

Upload comment. Also used as the initial page text for new files if text is not specified.

Default: (empty)
tags

Change tags to apply to the upload log entry and file page revision.

Values (separate with | or alternative):
text

Initial page text for new files.

watch
Deprecated.

Watch the page.

Type: boolean (details)
watchlist

Unconditionally add or remove the page from the current user's watchlist, use preferences or do not change watch.

One of the following values: watch, preferences, nochange
Default: preferences
ignorewarnings

Ignore any warnings.

Type: boolean (details)
file

File contents.

Must be posted as a file upload using multipart/form-data.
url

URL to fetch the file from.

filekey

Key that identifies a previous upload that was stashed temporarily.

sessionkey
Deprecated.

Same as filekey, maintained for backward compatibility.

stash

If set, the server will stash the file temporarily instead of adding it to the repository.

Type: boolean (details)
filesize

Filesize of entire upload.

The value must be between 0 and 104,857,600.
Type: integer
offset

Offset of chunk in bytes.

The value must be no less than 0.
Type: integer
chunk

Chunk contents.

Must be posted as a file upload using multipart/form-data.
async

Make potentially large file operations asynchronous when possible.

Type: boolean (details)
checkstatus

Only fetch the upload status for the given file key.

Type: boolean (details)
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

action=userrights

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Change a user's group membership.

Parameters:
user

User name.

Type: user name
userid

User ID.

Type: integer
add

Add the user to these groups.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
remove

Remove the user from these groups.

Values (separate with | or alternative): bot, sysop, bureaucrat, maintenanceshell, checkuser
reason

Reason for the change.

Default: (empty)
token

A "userrights" token retrieved from action=query&meta=tokens

For compatibility, the token used in the web UI is also accepted.

This parameter is required.
Examples:
Add user FooBot to group bot, and remove from groups sysop and bureaucrat.
api.php?action=userrights&user=FooBot&add=bot&remove=sysop|bureaucrat&token=123ABC [open in sandbox]
Add the user with ID 123 to group bot, and remove from groups sysop and bureaucrat.
api.php?action=userrights&userid=123&add=bot&remove=sysop|bureaucrat&token=123ABC [open in sandbox]

action=watch

  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0+

Add or remove pages from the current user's watchlist.

Parameters:
title
Deprecated.

The page to (un)watch. Use titles instead.

unwatch

If set the page will be unwatched rather than watched.

Type: boolean (details)
continue

When more results are available, use this to continue.

titles

A list of titles to work on.

Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
pageids

A list of page IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
revids

A list of revision IDs to work on.

Type: list of integers
Separate values with | or alternative. Maximum number of values is 50 (500 for bots).
generator

Get the list of pages to work on by executing the specified query module.

Note: Generator parameter names must be prefixed with a "g", see examples.

One of the following values: allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, backlinks, categories, categorymembers, deletedrevisions, duplicatefiles, embeddedin, exturlusage, fileusage, images, imageusage, iwbacklinks, langbacklinks, links, linkshere, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, revisions, search, templates, transcludedin, watchlist, watchlistraw
redirects

Automatically resolve redirects in titles, pageids, and revids, and in pages returned by generator.

Type: boolean (details)
converttitles

Convert titles to other variants if necessary. Only works if the wiki's content language supports variant conversion. Languages that support variant conversion include gan, iu, kk, ku, shi, sr, tg, uz, zh.

Type: boolean (details)
token

A "watch" token retrieved from action=query&meta=tokens

This parameter is required.

format=json

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in JSON format.

Parameters:
callback

If specified, wraps the output into a given function call. For safety, all user-specific data will be restricted.

utf8

If specified, encodes most (but not all) non-ASCII characters as UTF-8 instead of replacing them with hexadecimal escape sequences. Default when formatversion is not 1.

Type: boolean (details)
ascii

If specified, encodes all non-ASCII using hexadecimal escape sequences. Default when formatversion is 1.

Type: boolean (details)
formatversion

Output formatting:

1
Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.).
2
Experimental modern format. Details may change!
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=jsonfm

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in JSON format (pretty-print in HTML).

Parameters:
wrappedhtml

Return the pretty-printed HTML and associated ResourceLoader modules as a JSON object.

Type: boolean (details)
callback

If specified, wraps the output into a given function call. For safety, all user-specific data will be restricted.

utf8

If specified, encodes most (but not all) non-ASCII characters as UTF-8 instead of replacing them with hexadecimal escape sequences. Default when formatversion is not 1.

Type: boolean (details)
ascii

If specified, encodes all non-ASCII using hexadecimal escape sequences. Default when formatversion is 1.

Type: boolean (details)
formatversion

Output formatting:

1
Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.).
2
Experimental modern format. Details may change!
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=none

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output nothing.

format=php

(main | php)
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in serialized PHP format.

Parameter:
formatversion

Output formatting:

1
Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.).
2
Experimental modern format. Details may change!
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=phpfm

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in serialized PHP format (pretty-print in HTML).

Parameters:
wrappedhtml

Return the pretty-printed HTML and associated ResourceLoader modules as a JSON object.

Type: boolean (details)
formatversion

Output formatting:

1
Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.).
2
Experimental modern format. Details may change!
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=rawfm

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data, including debugging elements, in JSON format (pretty-print in HTML).

Parameter:
wrappedhtml

Return the pretty-printed HTML and associated ResourceLoader modules as a JSON object.

Type: boolean (details)

format=xml

(main | xml)
  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in XML format.

Parameters:
xslt

If specified, adds the named page as an XSL stylesheet. The value must be a title in the MediaWiki namespace ending in .xsl.

includexmlnamespace

If specified, adds an XML namespace.

Type: boolean (details)

format=xmlfm

  • This module requires read rights.
  • Source: MediaWiki
  • License: GPL-2.0+

Output data in XML format (pretty-print in HTML).

Parameters:
wrappedhtml

Return the pretty-printed HTML and associated ResourceLoader modules as a JSON object.

Type: boolean (details)
xslt

If specified, adds the named page as an XSL stylesheet. The value must be a title in the MediaWiki namespace ending in .xsl.

includexmlnamespace

If specified, adds an XML namespace.

Type: boolean (details)

Data types

Input to MediaWiki should be NFC-normalized UTF-8. MediaWiki may attempt to convert other input, but this may cause some operations (such as edits with MD5 checks) to fail.

Some parameter types in API requests need further explanation:

boolean
Boolean parameters work like HTML checkboxes: if the parameter is specified, regardless of value, it is considered true. For a false value, omit the parameter entirely.
timestamp
Timestamps may be specified in several formats. ISO 8601 date and time is recommended. All times are in UTC, any included timezone is ignored.
  • ISO 8601 date and time, 2001-01-15T14:56:00Z (punctuation and Z are optional)
  • ISO 8601 date and time with (ignored) fractional seconds, 2001-01-15T14:56:00.00001Z (dashes, colons, and Z are optional)
  • MediaWiki format, 20010115145600
  • Generic numeric format, 2001-01-15 14:56:00 (optional timezone of GMT, +##, or -## is ignored)
  • EXIF format, 2001:01:15 14:56:00
  • RFC 2822 format (timezone may be omitted), Mon, 15 Jan 2001 14:56:00
  • RFC 850 format (timezone may be omitted), Monday, 15-Jan-2001 14:56:00
  • C ctime format, Mon Jan 15 14:56:00 2001
  • Seconds since 1970-01-01T00:00:00Z as a 1 to 13 digit integer (excluding 0)
  • The string now
alternative multiple-value separator
Parameters that take multiple values are normally submitted with the values separated using the pipe character, e.g. param=value1|value2 or param=value1%7Cvalue2. If a value must contain the pipe character, use U+001F (Unit Separator) as the separator and prefix the value with U+001F, e.g. param=%1Fvalue1%1Fvalue2.

Credits

API developers:

  • Yuri Astrakhan (creator, lead developer Sep 2006–Sep 2007)
  • Roan Kattouw (lead developer Sep 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch (lead developer 2013–present)

Please send your comments, suggestions and questions to mediawiki-api@lists.wikimedia.org or file a bug report at https://phabricator.wikimedia.org/.