MediaWiki API help

This is an auto-generated MediaWiki API documentation page.

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

Main module

Status: The MediaWiki API is a mature and stable interface that is actively supported and improved. While we try to avoid it, we may occasionally need to make breaking changes; 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.

Parameters:
action

Which action to perform.

block
Block a user.
changeauthenticationdata
Change authentication data for the current user.
checktoken
Check the validity of a token from action=query&meta=tokens.
clearhasmsg
Clears the hasmsg flag for the current user.
clientlogin
Log in to the wiki using the interactive flow.
compare
Get the difference between two pages.
createaccount
Create a new user account.
cspreport
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.
delete
Delete a page.
edit
Create and edit pages.
emailuser
Email a user.
expandtemplates
Expands all templates within wikitext.
feedcontributions
Returns a user contributions feed.
feedrecentchanges
Returns a recent changes feed.
feedwatchlist
Returns a watchlist feed.
filerevert
Revert a file to an old version.
help
Display help for the specified modules.
imagerotate
Rotate one or more images.
import
Import a page from another wiki, or from an XML file.
linkaccount
Link an account from a third-party provider to the current user.
login
Log in and get authentication cookies.
logout
Log out and clear session data.
managetags
Perform management tasks relating to change tags.
mergehistory
Merge page histories.
move
Move a page.
opensearch
Search the wiki using the OpenSearch protocol.
options
Change preferences of the current user.
paraminfo
Obtain information about API modules.
parse
Parses content and returns parser output.
patrol
Patrol a page or revision.
protect
Change the protection level of a page.
purge
Purge the cache for the given titles.
query
Fetch data from and about MediaWiki.
removeauthenticationdata
Remove authentication data for the current user.
resetpassword
Send a password reset email to a user.
revisiondelete
Delete and undelete revisions.
rollback
Undo the last edit to the page.
rsd
Export an RSD (Really Simple Discovery) schema.
setnotificationtimestamp
Update the notification timestamp for watched pages.
setpagelanguage
Change the language of a page.
stashedit
Prepare an edit in shared cache.
tag
Add or remove change tags from individual revisions or log entries.
unblock
Unblock a user.
undelete
Restore revisions of a deleted page.
unlinkaccount
Remove a linked third-party account from the current user.
upload
Upload a file, or get the status of pending uploads.
userrights
Change a user's group membership.
validatepassword
Validate a password against the wiki's password policies.
watch
Add or remove pages from the current user's watchlist.
tokens
Deprecated. Get tokens for data-modifying actions.
One of the following values: block, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, stashedit, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens
Default: help
format

The format of the output.

json
Output data in JSON format.
jsonfm
Output data in JSON format (pretty-print in HTML).
none
Output nothing.
php
Output data in serialized PHP format.
phpfm
Output data in serialized PHP format (pretty-print in HTML).
rawfm
Output data, including debugging elements, in JSON format (pretty-print in HTML).
xml
Output data in XML format.
xmlfm
Output data in XML format (pretty-print in HTML).
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)
responselanginfo

Include the languages used for uselang and errorlang 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
errorformat

Format to use for warning and error text output.

plaintext
Wikitext with HTML tags removed and entities replaced.
wikitext
Unparsed wikitext.
html
HTML.
raw
Message key and parameters.
none
No text output, only the error codes.
bc
Format used prior to MediaWiki 1.29. errorlang and errorsuselocal are ignored.
One of the following values: plaintext, wikitext, html, raw, none, bc
Default: bc
errorlang

Language to use for warnings and errors. action=query&meta=siteinfo with siprop=languages returns a list of language codes, or specify content to use this wiki's content language, or specify uselang to use the same value as the uselang parameter.

Default: uselang
errorsuselocal

If given, error texts will use locally-customized messages from the MediaWiki namespace.

Type: boolean (details)
Permissions:
writeapi
Use of the write API
Granted to: all, user and 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 and 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-or-later

Block a user.

Parameters:
user

Username, IP address, or IP address range to block. Cannot be used together with userid

Type: user name
userid

User ID to block. Cannot be used together with user.

Type: integer
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)
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.
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=changeauthenticationdata (changeauth)

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

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

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.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

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-or-later

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

Get the difference between two pages.

A revision number, a page title, a page ID, text, or a relative reference 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
fromslots

Override content of the revision specified by fromtitle, fromid or fromrev.

This parameter specifies the slots that are to be modified. Use fromtext-{slot}, fromcontentmodel-{slot}, and fromcontentformat-{slot} to specify content for each slot.

Values (separate with | or alternative): main
fromtext-{slot}

Text of the specified slot. If omitted, the slot is removed from the revision.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
fromsection-{slot}

When fromtext-{slot} is the content of a single section, this is the section number. It will be merged into the revision specified by fromtitle, fromid or fromrev as if for a section edit.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
fromcontentformat-{slot}

Content serialization format of fromtext-{slot}.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
fromcontentmodel-{slot}

Content model of fromtext-{slot}. If not supplied, it will be guessed based on the other parameters.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of fromslots.
One of the following values: wikitext, javascript, json, css, text
frompst

Do a pre-save transform on fromtext-{slot}.

Type: boolean (details)
fromtext
Deprecated.

Specify fromslots=main and use fromtext-main instead.

fromcontentformat
Deprecated.

Specify fromslots=main and use fromcontentformat-main instead.

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

Specify fromslots=main and use fromcontentmodel-main instead.

One of the following values: wikitext, javascript, json, css, text
fromsection
Deprecated.

Only use the specified section of the specified 'from' content.

totitle

Second title to compare.

toid

Second page ID to compare.

Type: integer
torev

Second revision to compare.

Type: integer
torelative

Use a revision relative to the revision determined from fromtitle, fromid or fromrev. All of the other 'to' options will be ignored.

One of the following values: prev, next, cur
toslots

Override content of the revision specified by totitle, toid or torev.

This parameter specifies the slots that are to be modified. Use totext-{slot}, tocontentmodel-{slot}, and tocontentformat-{slot} to specify content for each slot.

Values (separate with | or alternative): main
totext-{slot}

Text of the specified slot. If omitted, the slot is removed from the revision.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
tosection-{slot}

When totext-{slot} is the content of a single section, this is the section number. It will be merged into the revision specified by totitle, toid or torev as if for a section edit.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
tocontentformat-{slot}

Content serialization format of totext-{slot}.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
One of the following values: text/x-wiki, text/javascript, application/json, text/css, text/plain
tocontentmodel-{slot}

Content model of totext-{slot}. If not supplied, it will be guessed based on the other parameters.

This is a templated parameter. When making the request, {slot} in the parameter's name should be replaced with values of toslots.
One of the following values: wikitext, javascript, json, css, text
topst

Do a pre-save transform on totext.

Type: boolean (details)
totext
Deprecated.

Specify toslots=main and use totext-main instead.

tocontentformat
Deprecated.

Specify toslots=main and use tocontentformat-main instead.

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

Specify toslots=main and use tocontentmodel-main instead.

One of the following values: wikitext, javascript, json, css, text
tosection
Deprecated.

Only use the specified section of the specified 'to' content.

prop

Which pieces of information to get.

diff
The diff HTML.
diffsize
The size of the diff HTML, in bytes.
rel
The revision IDs of the revision previous to 'from' and after 'to', if any.
ids
The page and revision IDs of the 'from' and 'to' revisions.
title
The page titles of the 'from' and 'to' revisions.
user
The user name and ID of the 'from' and 'to' revisions.
comment
The comment on the 'from' and 'to' revisions.
parsedcomment
The parsed comment on the 'from' and 'to' revisions.
size
The size of the 'from' and 'to' revisions.
Values (separate with | or alternative): diff, diffsize, rel, ids, title, user, comment, parsedcomment, size
Default: diff|ids|title
slots

Return individual diffs for these slots, rather than one combined diff for all slots.

Values (separate with | or alternative): main
To specify all values, use *.
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-or-later

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-or-later

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-or-later

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-or-later

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

Mark this edit as a minor edit.

Type: boolean (details)
notminor

Do not mark this edit as a minor edit even if the "Mark all edits minor by default" user preference is set.

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.

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

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

The value must be no less than 0.
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.

action=emailuser

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

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=expandtemplates

Expands all templates within wikitext.

Parameters:
title

Title of page.

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

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
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, mw-new-redirect, mw-removed-redirect, mw-changed-redirect-target, mw-blank, mw-replace, mw-rollback, mw-undo
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

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

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, autopatrolled, !autopatrolled, 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-or-later

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-or-later

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.

tags

Tags to apply to the entry in the upload log.

Values (separate with | or alternative):
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.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
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 en, crh, gan, iu, kk, ku, shi, sr, tg, uz and 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-or-later

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

For uploaded imports: interwiki prefix to apply to unknown user names (and known users if assignknownusers is set).

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
assignknownusers

Assign edits to local users where the named user exists locally.

Type: boolean (details)
rootpage

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

tags

Change tags to apply to the entry in the import log and to the null revision on the imported pages.

Values (separate with | or alternative):
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-or-later

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-or-later

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

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

Log out and clear session data.

Parameter:
token

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

This parameter is required.
Example:
Log the current user out.
api.php?action=logout&token=123ABC [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-or-later

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)
tags

Change tags to apply to the entry in the tag management log.

Values (separate with | or alternative):
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-or-later

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=move

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

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)
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)
tags

Change tags to apply to the entry in the move log and to the null revision on the destination page.

Values (separate with | or alternative):
token

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

This parameter is required.

action=opensearch

Search the wiki using the OpenSearch protocol.

Parameters:
search

Search string.

This parameter is required.
namespace

Namespaces to search. Ignored if search begins with a valid namespace prefix.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
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-or-later

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, contributors, deletedrevisions, deletedrevs, duplicatefiles, embeddedin, extlinks, exturlusage, filearchive, filerepoinfo, fileusage, imageinfo, images, imageusage, info, iwbacklinks, iwlinks, langbacklinks, langlinks, languageinfo, links, linkshere, logevents, mystashedfiles, pagepropnames, pageprops, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, redirects, 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

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, revid, 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.

revid

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

Type: integer
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.
headhtml
Gives parsed doctype, opening <html>, <head> element and opening <body> 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)
parsewarnings
Gives the warnings that occurred while parsing content.
headitems
Deprecated. Gives items to put in the <head> of the page.
Values (separate with | or alternative): text, langlinks, categories, categorieshtml, links, templates, images, externallinks, sections, revid, displaytitle, headhtml, modules, jsconfigvars, encodedjsconfigvars, indicators, iwlinks, wikitext, properties, limitreportdata, limitreporthtml, parsetree, parsewarnings, headitems
Default: text|langlinks|categories|links|templates|images|externallinks|sections|revid|displaytitle|iwlinks|properties|parsewarnings
wrapoutputclass

CSS class to use to wrap the parser output.

Default: mw-parser-output
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
Deprecated.

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

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

Type: boolean (details)
disablestylededuplication

Do not deduplicate inline stylesheets in 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)
useskin

Apply the selected skin to the parser output. May affect the following properties: langlinks, headitems, modules, jsconfigvars, indicators.

One of the following values: monobook, timeless, vector, anisa
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

action=patrol

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

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-or-later

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-or-later

Purge the cache for the given titles.

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.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
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 en, crh, gan, iu, kk, ku, shi, sr, tg, uz and 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

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.

categories
List all categories the pages belong to.
categoryinfo
Returns information about the given categories.
contributors
Get the list of logged-in contributors and the count of anonymous contributors to a page.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
extlinks
Returns all external URLs (not interwikis) from the given pages.
fileusage
Find all pages that use the given files.
imageinfo
Returns file information and upload history.
images
Returns all files contained on the given pages.
info
Get basic page information.
iwlinks
Returns all interwiki links from the given pages.
langlinks
Returns all interlanguage links from the given pages.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageprops
Get various page properties defined in the page content.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
stashimageinfo
Returns file information for stashed files.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
Values (separate with | or alternative): categories, categoryinfo, contributors, deletedrevisions, duplicatefiles, extlinks, fileusage, imageinfo, images, info, iwlinks, langlinks, links, linkshere, pageprops, redirects, revisions, stashimageinfo, templates, transcludedin
list

Which lists to get.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
allusers
Enumerate all registered users.
backlinks
Find all pages that link to the given page.
blocks
List all blocked users and IP addresses.
categorymembers
List all pages in a given category.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
filearchive
Enumerate all deleted files sequentially.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
logevents
Get events from logs.
mystashedfiles
Get a list of files in the current user's upload stash.
pagepropnames
List all page property names in use on the wiki.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
search
Perform a full text search.
tags
List change tags.
usercontribs
Get all edits by a user.
users
Get information about a list of users.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
deletedrevs
Deprecated. List deleted revisions.
Values (separate with | or alternative): allcategories, alldeletedrevisions, allfileusages, allimages, alllinks, allpages, allredirects, allrevisions, alltransclusions, allusers, backlinks, blocks, categorymembers, embeddedin, exturlusage, filearchive, imageusage, iwbacklinks, langbacklinks, logevents, mystashedfiles, pagepropnames, pageswithprop, prefixsearch, protectedtitles, querypage, random, recentchanges, search, tags, usercontribs, users, watchlist, watchlistraw, deletedrevs
meta

Which metadata to get.

allmessages
Return messages from this site.
authmanagerinfo
Retrieve information about the current authentication status.
filerepoinfo
Return meta information about image repositories configured on the wiki.
languageinfo
Return information about available languages.
siteinfo
Return general information about the site.
tokens
Gets tokens for data-modifying actions.
userinfo
Get information about the current user.
Values (separate with | or alternative): allmessages, authmanagerinfo, filerepoinfo, languageinfo, 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 query+export.

Type: boolean (details)
exportschema

Target the given version of the XML dump format when exporting. Can only be used with query+export.

One of the following values: 0.10, 0.11
Default: 0.10
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.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
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 query+titles, query+pageids, and query+revids, and in pages returned by query+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 en, crh, gan, iu, kk, ku, shi, sr, tg, uz and 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-or-later

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)

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)

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, interface-admin, bureaucrat, suppress
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, interface-admin, bureaucrat, suppress
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, editmyuserjson, editmyuserjs, editmyuserjsredirect, editmywatchlist, editsemiprotected, editsitecss, editsitejson, editsitejs, editusercss, edituserjson, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, 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
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, editmyuserjson, editmyuserjs, editmyuserjsredirect, editmywatchlist, editsemiprotected, editsitecss, editsitejson, editsitejs, editusercss, edituserjson, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, 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
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-or-later

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.
slotsize
Length (bytes) of each revision slot.
sha1
SHA-1 (base 16) of the revision.
slotsha1
SHA-1 (base 16) of each revision slot.
contentmodel
Content model ID of each revision slot.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Content of each revision slot.
tags
Tags for the revision.
roles
List content slot roles that exist in the revision.
parsetree
Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, slotsize, sha1, slotsha1, contentmodel, comment, parsedcomment, content, tags, roles, parsetree
Default: ids|timestamp|flags|comment|user
drvslots

Which revision slots to return data for, when slot-related properties are included in drvprops. If omitted, data from the main slot will be returned in a backwards-compatible format.

Values (separate with | or alternative): main
To specify all values, use *.
drvlimit

Limit how many revisions will be returned.

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

Use action=expandtemplates instead. Expand templates in revision content (requires drvprop=content).

Type: boolean (details)
drvgeneratexml
Deprecated.

Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires drvprop=content).

Type: boolean (details)
drvparse
Deprecated.

Use action=parse instead. 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
Deprecated.

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

drvdifftotext
Deprecated.

Use action=compare instead. 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
Deprecated.

Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with drvdifftotext.

Type: boolean (details)
drvcontentformat
Deprecated.

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&drvslots=*&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-or-later

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)

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
elcontinue

When more results are available, use this to continue.

elprotocol

Protocol of the URL. If empty and elquery is set, the protocol is http. Leave both this and elquery empty to list all external links.

One of the following values: Can be empty, or bitcoin, ftp, ftps, geo, git, gopher, http, https, irc, ircs, magnet, mailto, mms, news, nntp, redis, sftp, sip, sips, sms, ssh, svn, tel, telnet, urn, worldwind, xmpp
Default: (empty)
elquery

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

elexpandurl

Expand protocol-relative URLs with the canonical protocol.

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

prop=fileusage (fu)

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

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
To specify all values, use *.
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)

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.
badfile
Adds whether the file is on the MediaWiki:Bad image list
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, canonicaltitle, url, size, dimensions, sha1, mime, thumbmime, mediatype, metadata, commonmetadata, extmetadata, archivename, bitdepth, uploadwarning, badfile
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)
iibadfilecontexttitle

If badfilecontexttitleprop=badfile is set, this is the page title used when evaluating the MediaWiki:Bad image list

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-or-later

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)

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
Deprecated. Whether the user can read this page. Use intestactions=read instead.
preload
Gives the text returned by EditFormPreloadText.
displaytitle
Gives the manner in which the page title is actually displayed.
varianttitles
Gives the display title in all variants of the site content language.
Values (separate with | or alternative): protection, talkid, watched, watchers, visitingwatchers, notificationtimestamp, subjectid, url, readable, preload, displaytitle, varianttitles
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).
intestactionsdetail

Detail level for intestactions. Use the main module's errorformat and errorlang parameters to control the format of the messages returned.

boolean
Return a boolean value for each action.
full
Return messages describing why the action is disallowed, or an empty array if it is allowed.
quick
Like full but skipping expensive checks.
One of the following values: boolean, full, quick
Default: boolean
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]

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]

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-or-later

Returns all links from the given pages.

Parameters:
plnamespace

Show links in these namespaces only.

Values (separate with | or alternative): -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
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-or-later

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
To specify all values, use *.
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=pageprops (pp)

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-or-later

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
To specify all values, use *.
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=revisions (rv)

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

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.
slotsize
Length (bytes) of each revision slot.
sha1
SHA-1 (base 16) of the revision.
slotsha1
SHA-1 (base 16) of each revision slot.
contentmodel
Content model ID of each revision slot.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Content of each revision slot.
tags
Tags for the revision.
roles
List content slot roles that exist in the revision.
parsetree
Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, slotsize, sha1, slotsha1, contentmodel, comment, parsedcomment, content, tags, roles, parsetree
Default: ids|timestamp|flags|comment|user
rvslots

Which revision slots to return data for, when slot-related properties are included in rvprops. If omitted, data from the main slot will be returned in a backwards-compatible format.

Values (separate with | or alternative): main
To specify all values, use *.
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
Deprecated.

Use action=expandtemplates instead. Expand templates in revision content (requires rvprop=content).

Type: boolean (details)
rvgeneratexml
Deprecated.

Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires rvprop=content).

Type: boolean (details)
rvparse
Deprecated.

Use action=parse instead. 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
Deprecated.

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

rvdifftotext
Deprecated.

Use action=compare instead. 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
Deprecated.

Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with rvdifftotext.

Type: boolean (details)
rvcontentformat
Deprecated.

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

Start enumeration from this revision's timestamp. The revision must exist, but need not belong to this page.

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

Stop enumeration at this revision's timestamp. The revision must exist, but need not belong to this page.

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)

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.
badfile
Adds whether the file is on the MediaWiki:Bad image list
Values (separate with | or alternative): timestamp, canonicaltitle, url, size, dimensions, sha1, mime, thumbmime, metadata, commonmetadata, extmetadata, bitdepth, badfile
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-or-later

Returns all pages transcluded on the given pages.

Parameters:
tlnamespace

Show templates in these namespaces only.

Values (separate with | or alternative): -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
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-or-later

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
To specify all values, use *.
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-or-later

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-or-later

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.
slotsize
Length (bytes) of each revision slot.
sha1
SHA-1 (base 16) of the revision.
slotsha1
SHA-1 (base 16) of each revision slot.
contentmodel
Content model ID of each revision slot.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Content of each revision slot.
tags
Tags for the revision.
roles
List content slot roles that exist in the revision.
parsetree
Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, slotsize, sha1, slotsha1, contentmodel, comment, parsedcomment, content, tags, roles, parsetree
Default: ids|timestamp|flags|comment|user
adrslots

Which revision slots to return data for, when slot-related properties are included in adrprops. If omitted, data from the main slot will be returned in a backwards-compatible format.

Values (separate with | or alternative): main
To specify all values, use *.
adrlimit

Limit how many revisions will be returned.

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

Use action=expandtemplates instead. Expand templates in revision content (requires adrprop=content).

Type: boolean (details)
adrgeneratexml
Deprecated.

Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires adrprop=content).

Type: boolean (details)
adrparse
Deprecated.

Use action=parse instead. 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
Deprecated.

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

adrdifftotext
Deprecated.

Use action=compare instead. 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
Deprecated.

Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with adrdifftotext.

Type: boolean (details)
adrcontentformat
Deprecated.

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
To specify all values, use *.
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-or-later

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-or-later

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.
badfile
Adds whether the file is on the MediaWiki:Bad image list
Values (separate with | or alternative): timestamp, user, userid, comment, parsedcomment, canonicaltitle, url, size, dimensions, sha1, mime, mediatype, metadata, commonmetadata, extmetadata, bitdepth, badfile
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-or-later

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: -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
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-or-later

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
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-or-later

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: -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
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-or-later

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.
slotsize
Length (bytes) of each revision slot.
sha1
SHA-1 (base 16) of the revision.
slotsha1
SHA-1 (base 16) of each revision slot.
contentmodel
Content model ID of each revision slot.
comment
Comment by the user for the revision.
parsedcomment
Parsed comment by the user for the revision.
content
Content of each revision slot.
tags
Tags for the revision.
roles
List content slot roles that exist in the revision.
parsetree
Deprecated. Use action=expandtemplates or action=parse instead. The XML parse tree of revision content (requires content model wikitext).
Values (separate with | or alternative): ids, flags, timestamp, user, userid, size, slotsize, sha1, slotsha1, contentmodel, comment, parsedcomment, content, tags, roles, parsetree
Default: ids|timestamp|flags|comment|user
arvslots

Which revision slots to return data for, when slot-related properties are included in arvprops. If omitted, data from the main slot will be returned in a backwards-compatible format.

Values (separate with | or alternative): main
To specify all values, use *.
arvlimit

Limit how many revisions will be returned.

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

Use action=expandtemplates instead. Expand templates in revision content (requires arvprop=content).

Type: boolean (details)
arvgeneratexml
Deprecated.

Use action=expandtemplates or action=parse instead. Generate XML parse tree for revision content (requires arvprop=content).

Type: boolean (details)
arvparse
Deprecated.

Use action=parse instead. 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
Deprecated.

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

arvdifftotext
Deprecated.

Use action=compare instead. 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
Deprecated.

Use action=compare instead. Perform a pre-save transform on the text before diffing it. Only valid when used with arvdifftotext.

Type: boolean (details)
arvcontentformat
Deprecated.

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
To specify all values, use *.
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-or-later

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: -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
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)

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, interface-admin, bureaucrat, suppress
auexcludegroup

Exclude users in the given groups.

Values (separate with | or alternative): bot, sysop, interface-admin, bureaucrat, suppress
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, editmyuserjson, editmyuserjs, editmyuserjsredirect, editmywatchlist, editsemiprotected, editsitecss, editsitejson, editsitejs, editusercss, edituserjson, edituserjs, hideuser, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, minoredit, move, movefile, move-categorypages, move-rootuserpages, move-subpages, nominornewtalk, noratelimit, override-export-depth, pagelang, 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
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-or-later

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
To specify all values, use *.
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)

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.).
restrictions
Adds the partial block restrictions if the block is not sitewide.
Values (separate with | or alternative): id, user, userid, by, byid, timestamp, expiry, reason, range, flags, restrictions
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-or-later

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
To specify all values, use *.
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=deletedrevs (dr)

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

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
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-or-later

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
To specify all values, use *.
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-or-later

Enumerate pages that contain a given URL.

Parameters:
euprop

Which pieces of information to include:

ids
Adds the ID of page.
title
Adds the title and namespace ID of the page.
url
Adds the URL used in the page.
Values (separate with | or alternative): ids, title, url
Default: ids|title|url
eucontinue

When more results are available, use this to continue.

euprotocol

Protocol of the URL. If empty and euquery is set, the protocol is http. Leave both this and euquery empty to list all external links.

One of the following values: Can be empty, or bitcoin, ftp, ftps, geo, git, gopher, http, https, irc, ircs, magnet, mailto, mms, news, nntp, redis, sftp, sip, sips, sms, ssh, svn, tel, telnet, urn, worldwind, xmpp
Default: (empty)
euquery

Search string without protocol. See Special:LinkSearch. Leave empty to list all external links.

eunamespace

The page namespaces to enumerate.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
eulimit

How many pages to return.

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

Expand protocol-relative URLs with the canonical protocol.

Type: boolean (details)

list=filearchive (fa)

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-or-later

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
To specify all values, use *.
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-or-later

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-or-later

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)

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 block, protect, rights, delete, upload, move, import, patrol, merge, suppress, tag, managetags, contentmodel, newusers, create
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: block/block, block/reblock, block/unblock, contentmodel/change, contentmodel/new, create/create, 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, newusers/autocreate, newusers/byemail, newusers/create, newusers/create2, newusers/newusers, patrol/autopatrol, patrol/patrol, 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
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: -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
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)

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)

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-or-later

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-or-later

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. Ignored if pssearch begins with a valid namespace prefix.

Values (separate with | or alternative): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
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-or-later

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
To specify all values, use *.
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-or-later

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-or-later

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
To specify all values, use *.
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-or-later

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): -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
To specify all values, use *.
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, autopatrolled, !autopatrolled
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)
rctitle

Filter entries to those related to a page.

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-or-later

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
To specify all values, use *.
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. Ignored.
hasrelated
Deprecated. Ignored.
extensiondata
Adds extra data generated by extensions.
Values (separate with | or alternative): size, wordcount, timestamp, snippet, titlesnippet, redirecttitle, redirectsnippet, sectiontitle, sectionsnippet, isfilematch, categorysnippet, score, hasrelated, extensiondata
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 another which is thought to provide better results, for instance by correcting spelling errors.

Type: boolean (details)
srsort

Set the sort order of returned results.

One of the following values: relevance
Default: relevance

list=tags (tg)

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:

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): displayname, description, hitcount, defined, source, active
Default: (empty)

list=usercontribs (uc)

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. Cannot be used with ucuserids or ucuserprefix.

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

The user IDs to retrieve contributions for. Cannot be used with ucuser or ucuserprefix.

Type: list of integers
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. Cannot be used with ucuser or ucuserids.

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
To specify all values, use *.
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, autopatrolled, !autopatrolled, 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)

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.
groupmemberships
Lists groups that each user has been explicitly assigned to, including the expiry date of each group membership.
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, groupmemberships, 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).
ususerids

A list of user IDs to obtain information for.

Type: list of integers
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-or-later

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
To specify all values, use *.
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.
tags
Lists tags for the entry.
Values (separate with | or alternative): ids, title, flags, user, userid, comment, parsedcomment, timestamp, patrol, sizes, notificationtimestamp, loginfo, tags
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, autopatrolled, !autopatrolled, 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-or-later

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
To specify all values, use *.
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)

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 in the MediaWiki namespace. This lists all MediaWiki-namespace 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)

Return meta information about image repositories configured on the wiki.

Parameter:
friprop

Which repository properties to get (properties available may vary on other wikis).

canUpload
Whether files can be uploaded to this repository, e.g. via CORS and shared authentication.
displayname
The human-readable name of the repository wiki.
favicon
Repository wiki's favicon URL, from $wgFavicon.
initialCapital
Whether file names implicitly start with a capital letter.
local
Whether that repository is the local one or not.
name
The key of the repository - used in e.g. $wgForeignFileRepos and imageinfo return values.
rootUrl
Root URL path for image paths.
scriptDirUrl
Root URL path for the repository wiki's MediaWiki installation.
thumbUrl
Root URL path for thumbnail paths.
url
Public zone URL path.
Values (separate with | or alternative): canUpload, displayname, favicon, initialCapital, local, name, rootUrl, scriptDirUrl, thumbUrl, url
Default: canUpload|displayname|favicon|initialCapital|local|name|rootUrl|scriptDirUrl|thumbUrl|url

meta=languageinfo (li)

Return information about available languages.

Continuation may be applied if retrieving the information takes too long for one request.

Parameters:
liprop

Which information to get for each language.

code
The language code. (This code is MediaWiki-specific, though there are overlaps with other standards.)
bcp47
The BCP-47 language code.
dir
The writing direction of the language (either ltr or rtl).
autonym
The autonym of the language, that is, the name in that language.
name
The name of the language in the language specified by the uselang parameter, with language fallbacks applied if necessary.
fallbacks
The language codes of the fallback languages configured for this language. The implicit final fallback to 'en' is not included (but some languages may fall back to 'en' explicitly).
variants
The language codes of the variants supported by this language.
Values (separate with | or alternative): code, bcp47, dir, autonym, name, fallbacks, variants
Default: code
licode

Language codes of the languages that should be returned, or * for all languages.

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

When more results are available, use this to continue.

Examples:
Get the language codes of all supported languages.
api.php?action=query&meta=languageinfo [open in sandbox]
Get the autonyms and German names of all supported languages.
api.php?action=query&meta=languageinfo&liprop=autonym|name&uselang=de [open in sandbox]
Get the fallback languages and variants of Occitan.
api.php?action=query&meta=languageinfo&liprop=fallbacks|variants&licode=oc [open in sandbox]
Get the BCP-47 language code and direction of all supported languages.
api.php?action=query&meta=languageinfo&liprop=bcp47|dir [open in sandbox]

meta=siteinfo (si)

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).
languagevariants
Returns a list of language codes for which LanguageConverter is enabled, and the variants supported for each.
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, languagevariants, 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)

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.
groupmemberships
Lists groups that the current user has been explicitly assigned to, including the expiry date of each group membership.
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.
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.
preferencestoken
Deprecated. Get a token to change current user's preferences.
latestcontrib
Adds the date of user's latest contribution.
Values (separate with | or alternative): blockinfo, hasmsg, groups, groupmemberships, implicitgroups, rights, changeablegroups, options, editcount, ratelimits, email, realname, acceptlang, registrationdate, unreadcount, centralids, preferencestoken, latestcontrib
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-or-later

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-or-later

Send a password reset email to a user.

Parameters:
user

User being reset.

Type: user name
email

Email address of the user being reset.

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-or-later

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.

tags

Tags to apply to the entry in the deletion log.

Values (separate with | or alternative):
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-or-later

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-or-later

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.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
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 en, crh, gan, iu, kk, ku, shi, sr, tg, uz and 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=setpagelanguage

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

Change the language of a page.

Changing the language of a page is not allowed on this wiki.

Enable $wgPageLanguageUseDB to use this action.

Parameters:
title

Title of the page whose language you wish to change. Cannot be used together with pageid.

pageid

Page ID of the page whose language you wish to change. Cannot be used together with title.

Type: integer
lang

Language code of the language to change the page to. Use default to reset the page to the wiki's default content language.

This parameter is required.
One of the following values: default, ab, abs, ace, ady, ady-cyrl, aeb, aeb-arab, aeb-latn, af, ak, aln, am, an, ang, anp, ar, arc, arn, arq, ary, arz, as, ase, ast, atj, av, avk, awa, ay, az, azb, ba, ban, bar, bbc, bbc-latn, bcc, bcl, be, be-tarask, bg, bgn, bh, bho, bi, bjn, bm, bn, bo, bpy, bqi, br, brh, bs, btm, bto, bug, bxr, ca, cbk-zam, cdo, ce, ceb, ch, chr, chy, ckb, co, cps, cr, crh, crh-cyrl, crh-latn, cs, csb, cu, cv, cy, da, de, de-at, de-ch, de-formal, din, diq, dsb, dtp, dty, dv, dz, ee, egl, el, eml, en, en-ca, en-gb, eo, es, es-formal, et, eu, ext, fa, ff, fi, fit, fj, fo, fr, frc, frp, frr, fur, fy, ga, gag, gan, gan-hans, gan-hant, gcr, gd, gl, glk, gn, gom, gom-deva, gom-latn, gor, got, grc, gsw, gu, gv, ha, hak, haw, he, hi, hif, hif-latn, hil, hr, hrx, hsb, ht, hu, hu-formal, hy, hyw, ia, id, ie, ig, ii, ik, ike-cans, ike-latn, ilo, inh, io, is, it, iu, ja, jam, jbo, jut, jv, ka, kaa, kab, kbd, kbd-cyrl, kbp, kg, khw, ki, kiu, kjp, kk, kk-arab, kk-cn, kk-cyrl, kk-kz, kk-latn, kk-tr, kl, km, kn, ko, ko-kp, koi, krc, kri, krj, krl, ks, ks-arab, ks-deva, ksh, ku, ku-arab, ku-latn, kum, kv, kw, ky, la, lad, lb, lbe, lez, lfn, lg, li, lij, liv, lki, lmo, ln, lo, loz, lrc, lt, ltg, lus, luz, lv, lzh, lzz, mai, map-bms, mdf, mg, mhr, mi, min, mk, ml, mn, mni, mnw, mo, mr, mrj, ms, mt, mwl, my, myv, mzn, na, nah, nan, nap, nb, nds, nds-nl, ne, new, niu, nl, nl-informal, nn, nov, nqo, nrm, nso, nv, ny, nys, oc, olo, om, or, os, pa, pag, pam, pap, pcd, pdc, pdt, pfl, pi, pih, pl, pms, pnb, pnt, prg, ps, pt, pt-br, qu, qug, rgn, rif, rm, rmy, ro, roa-tara, ru, rue, rup, ruq, ruq-cyrl, ruq-latn, rw, sa, sah, sat, sc, scn, sco, sd, sdc, sdh, se, sei, ses, sg, sgs, sh, shi, shn, shy-latn, si, sk, skr, skr-arab, sl, sli, sm, sma, sn, so, sq, sr, sr-ec, sr-el, srn, ss, st, stq, sty, su, sv, sw, szl, ta, tay, tcy, te, tet, tg, tg-cyrl, tg-latn, th, ti, tk, tl, tly, tn, to, tpi, tr, tru, ts, tt, tt-cyrl, tt-latn, tw, ty, tyv, tzm, udm, ug, ug-arab, ug-latn, uk, ur, uz, ve, vec, vep, vi, vls, vmf, vo, vot, vro, wa, war, wo, wuu, xal, xh, xmf, xsy, yi, yo, yue, za, zea, zgh, zh, zh-cn, zh-hans, zh-hant, zh-hk, zh-mo, zh-my, zh-sg, zh-tw, zu
reason

Reason for the change.

tags

Change tags to apply to the log entry resulting from this action.

Values (separate with | or alternative):
token

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

This parameter is required.
Examples:
Change the language of Main Page to Basque.
api.php?action=setpagelanguage&title=Main%20Page&lang=eu&token=123ABC [open in sandbox]
Change the language of the page with ID 123 to the wiki's default content language.
api.php?action=setpagelanguage&pageid=123&lang=default&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-or-later

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-or-later

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)
tags

Tags to apply to the log entry that will be created as a result of this action.

Values (separate with | or alternative):
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-or-later

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-or-later

Unblock a user.

Parameters:
id

ID of the block to unblock (obtained through list=blocks). Cannot be used together with user or userid.

Type: integer
user

Username, IP address or IP address range to unblock. Cannot be used together with id or userid.

userid

User ID to unblock. Cannot be used together with id or user.

Type: integer
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-or-later

Restore revisions of a deleted page.

A list of deleted revisions (including timestamps) can be retrieved through prop=deletedrevisions, 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-or-later

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-or-later

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-or-later

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, or if they are already a member, update the expiry of their membership in that group.

Values (separate with | or alternative): bot, sysop, interface-admin, bureaucrat, suppress
expiry

Expiry timestamps. May be relative (e.g. 5 months or 2 weeks) or absolute (e.g. 2014-09-18T12:34:56Z). If only one timestamp is set, it will be used for all groups passed to the add parameter. Use infinite, indefinite, infinity, or never for a never-expiring user group.

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

Remove the user from these groups.

Values (separate with | or alternative): bot, sysop, interface-admin, bureaucrat, suppress
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.
tags

Change tags to apply to the entry in the user rights log.

Values (separate with | or alternative):
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]
Add user SometimeSysop to group sysop for 1 month.
api.php?action=userrights&user=SometimeSysop&add=sysop&expiry=1%20month&token=123ABC [open in sandbox]

action=validatepassword

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

Validate a password against the wiki's password policies.

Validity is reported as Good if the password is acceptable, Change if the password may be used for login but must be changed, or Invalid if the password is not usable.

Parameters:
password

Password to validate.

This parameter is required.
user

User name, for use when testing account creation. The named user must not exist.

Type: user name
email

Email address, for use when testing account creation.

realname

Real name, for use when testing account creation.

Examples:
Validate the password foobar for the current user.
api.php?action=validatepassword&password=foobar [open in sandbox]
Validate the password qwerty for creating user Example.
api.php?action=validatepassword&password=querty&user=Example [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-or-later

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.

allcategories
Enumerate all categories.
alldeletedrevisions
List all deleted revisions by a user or in a namespace.
allfileusages
List all file usages, including non-existing.
allimages
Enumerate all images sequentially.
alllinks
Enumerate all links that point to a given namespace.
allpages
Enumerate all pages sequentially in a given namespace.
allredirects
List all redirects to a namespace.
allrevisions
List all revisions.
alltransclusions
List all transclusions (pages embedded using {{x}}), including non-existing.
backlinks
Find all pages that link to the given page.
categories
List all categories the pages belong to.
categorymembers
List all pages in a given category.
deletedrevisions
Get deleted revision information.
duplicatefiles
List all files that are duplicates of the given files based on hash values.
embeddedin
Find all pages that embed (transclude) the given title.
exturlusage
Enumerate pages that contain a given URL.
fileusage
Find all pages that use the given files.
images
Returns all files contained on the given pages.
imageusage
Find all pages that use the given image title.
iwbacklinks
Find all pages that link to the given interwiki link.
langbacklinks
Find all pages that link to the given language link.
links
Returns all links from the given pages.
linkshere
Find all pages that link to the given pages.
pageswithprop
List all pages using a given page property.
prefixsearch
Perform a prefix search for page titles.
protectedtitles
List all titles protected from creation.
querypage
Get a list provided by a QueryPage-based special page.
random
Get a set of random pages.
recentchanges
Enumerate recent changes.
redirects
Returns all redirects to the given pages.
revisions
Get revision information.
search
Perform a full text search.
templates
Returns all pages transcluded on the given pages.
transcludedin
Find all pages that transclude the given pages.
watchlist
Get recent changes to pages in the current user's watchlist.
watchlistraw
Get all pages on the current user's watchlist.
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 en, crh, gan, iu, kk, ku, shi, sr, tg, uz and zh.

Type: boolean (details)
token

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

This parameter is required.

format=json

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
Modern format.
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=jsonfm

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
Modern format.
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=none

Output nothing.

format=php

(main | php)

Output data in serialized PHP format.

Parameter:
formatversion

Output formatting:

1
Backwards-compatible format (XML-style booleans, * keys for content nodes, etc.).
2
Modern format.
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=phpfm

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
Modern format.
latest
Use the latest format (currently 2), may change without warning.
One of the following values: 1, 2, latest
Default: 1

format=rawfm

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)

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

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, see the Timestamp library input formats documented on mediawiki.org for details. ISO 8601 date and time is recommended: 2001-01-15T14:56:00Z. Additionally, the string now may be used to specify the current timestamp.
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.

Templated parameters

Templated parameters support cases where an API module needs a value for each value of some other parameter. For example, if there were an API module to request fruit, it might have a parameter fruits to specify which fruits are being requested and a templated parameter {fruit}-quantity to specify how many of each fruit to request. An API client that wants 1 apple, 5 bananas, and 20 strawberries could then make a request like fruits=apples|bananas|strawberries&apples-quantity=1&bananas-quantity=5&strawberries-quantity=20.

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