API:Allusers
![]() | This page is part of the MediaWiki Action API documentation. |
MediaWiki version: | ≥ 1.11 |
GET request to list all registered users, as ordered by username.
API documentation
![]() | The following documentation is the output of Special: |
list=allusers (au)
- This module requires read rights.
- Source: MediaWiki
- License: GPL-2.0-or-later
Enumerate all registered users.
- aufrom
The username to start enumerating from.
- auto
The username 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. Does not include implicit or auto-promoted groups like *, user, or autoconfirmed.
- Values (separate with | or alternative): accountcreator, autopatrolled, bot, bureaucrat, checkuser, confirmed, flow-bot, import, interface-admin, ipblock-exempt, no-ipinfo, steward, suppress, sysop, temporary-account-viewer, translationadmin, transwiki, uploader
- auexcludegroup
Exclude users in the given groups.
- Values (separate with | or alternative): accountcreator, autopatrolled, bot, bureaucrat, checkuser, confirmed, flow-bot, import, interface-admin, ipblock-exempt, no-ipinfo, steward, suppress, sysop, temporary-account-viewer, translationadmin, transwiki, uploader
- 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): abusefilter-access-protected-vars, abusefilter-bypass-blocked-external-domains, abusefilter-hidden-log, abusefilter-hide-log, abusefilter-log, abusefilter-log-detail, abusefilter-log-private, abusefilter-modify, abusefilter-modify-blocked-external-domains, abusefilter-modify-global, abusefilter-modify-restricted, abusefilter-privatedetails, abusefilter-privatedetails-log, abusefilter-protected-vars-log, abusefilter-revert, abusefilter-view, abusefilter-view-private, apihighlimits, applychangetags, autoconfirmed, autocreateaccount, autopatrol, autoreview, autoreviewrestore, badcaptcha, badoath, bigdelete, block, blockemail, bot, browsearchive, centralauth-createlocal, centralauth-lock, centralauth-merge, centralauth-rename, centralauth-suppress, centralauth-unmerge, changeemail, changetags, checkuser, checkuser-log, checkuser-temporary-account, checkuser-temporary-account-auto-reveal, checkuser-temporary-account-log, checkuser-temporary-account-no-preference, checkuser-userinfo, collectionsaveascommunitypage, collectionsaveasuserpage, confirmemail, createaccount, createpage, createtalk, delete, delete-redirect, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, echo-create, edit, editautopatrolprotected, editautoreviewprotected, editcontentmodel, editeditorprotected, editextendedsemiprotected, editinterface, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmyuserjson, editmyuserjsredirect, editmywatchlist, editprotected, editsemiprotected, editsitecss, editsitejs, editsitejson, edittrustedprotected, editusercss, edituserjs, edituserjson, enrollasmentor, extendedconfirmed, flow-create-board, flow-delete, flow-edit-post, flow-edit-title, flow-hide, flow-lock, flow-suppress, globalblock, globalblock-exempt, globalblock-whitelist, globalgroupmembership, globalgrouppermissions, hideuser, import, importupload, interwiki, ipblock-exempt, ipinfo, ipinfo-view-basic, ipinfo-view-full, ipinfo-view-log, linkpurge, lqt-merge, lqt-react, lqt-split, mailpassword, manage-all-push-subscriptions, managechangetags, managementors, markbotedits, massmessage, mergehistory, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, movestable, mwoauthmanageconsumer, mwoauthmanagemygrants, mwoauthproposeconsumer, mwoauthsuppress, mwoauthupdateownconsumer, mwoauthviewprivate, mwoauthviewsuppressed, newsletter, newsletter-announce, newsletter-create, newsletter-delete, newsletter-manage, newsletter-restore, nominornewtalk, noratelimit, nuke, oathauth-api-all, oathauth-disable-for-user, oathauth-enable, oathauth-verify-user, oathauth-view-log, override-antispoof, override-export-depth, pagelang, pagetranslation, patrol, patrolmarks, protect, purge, read, renameuser, renameuser-global, renderfile, renderfile-nonstandard, reupload, reupload-own, reupload-shared, review, rollback, sboverride, securepoll-create-poll, securepoll-edit-poll, securepoll-view-voter-pii, sendemail, setmentor, sfsblock-bypass, siteadmin, skipcaptcha, spamblacklistlog, stablesettings, stashbasehtml, stashedit, suppressionlog, suppressredirect, suppressrevision, tboverride, tboverride-account, templateeditor, thanks-notification, titleblacklistlog, torunblocked, transcode-reset, transcode-status, translate, translate-groupreview, translate-import, translate-manage, translate-messagereview, unblockself, undelete, unfuzzy, unreviewedpages, unwatchedpages, upload, upload_by_url, urlshortcode, urlshortener-create-url, urlshortener-manage-url, urlshortener-view-log, userrights, userrights-interwiki, validate, viewdeletedfile, viewmyprivateinfo, viewmywatchlist, viewsuppressed
- Maximum number of values is 50 (500 for clients that are allowed higher limits).
- 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, centralids, editcount, groups, implicitgroups, registration, rights
- aulimit
How many total usernames to return.
- Type: integer or max
- The value must be between 1 and 500.
- 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.
- auexcludenamed
Exclude users of named accounts.
- Type: boolean (details)
- auexcludetemp
Exclude users of temporary accounts.
- Type: boolean (details)
- List users starting at Y.
- api.php?action=query&list=allusers&aufrom=Y [open in sandbox]
Example
GET request
Response
{
"batchcomplete": "",
"continue": {
"aufrom": "Drovark",
"continue": "-||"
},
"query": {
"allusers": [
{
"userid": 13239275,
"name": "Drov"
},
{
"userid": 7080866,
"name": "Drova"
},
{
"userid": 16013473,
"name": "Drova 82"
},
...
]
}
}
Sample code
Python
#!/usr/bin/python3
"""
get_allusers.py
MediaWiki API Demos
Demo of `Allusers` module: Get all users, starting from those whose name
begins with the string, 'Drov'.
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "query",
"format": "json",
"list": "allusers",
"auprefix": "Drov"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
USERS = DATA["query"]["allusers"]
for user in USERS:
print(user["name"])
PHP
<?php
/*
get_allusers.php
MediaWiki API Demos
Demo of `Allusers` module: Get all users, starting from those whose name begins with the string, 'Drov'.
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "query",
"format" => "json",
"list" => "allusers",
"auprefix" => "Drov"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
foreach( $result["query"]["allusers"] as $k => $v ) {
echo( $v["name"] . "\n" );
}
JavaScript
/*
get_allusers.js
MediaWiki API Demos
Demo of `Allusers` module: Get all users, starting from those whose name begins with the string, 'Drov'.
MIT License
*/
var url = "https://en.wikipedia.org/w/api.php";
var params = {
action: "query",
format: "json",
list: "allusers",
auprefix: "Drov"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
.then(function(response){return response.json();})
.then(function(response) {
var users = response.query.allusers;
for (var u in users) {
console.log(users[u].name);
}
})
.catch(function(error){console.log(error);});
MediaWiki JS
/*
get_allusers.js
MediaWiki API Demos
Demo of `Allusers` module: Get all users, starting from those
whose name begins with the string, 'Drov'.
MIT License
*/
var params = {
action: 'query',
format: 'json',
list: 'allusers',
auprefix: 'Drov'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
var users = data.query.allusers,
u;
for ( u in users ) {
console.log( users[ u ].name );
}
} );
Possible errors
Code | Info |
---|---|
augroup-excludegroup | group and excludegroup cannot be used together |
Parameter history
- v1.12: Introduced
auprop=registration
Additional notes
- This API call is case sensitive, so
aufrom=DROV
doesn't return the same results asaufrom=Drov
.
- All registered usernames are saved and retrieved in capitalized form. If you are using
aufrom
orauprefix
in your query, make sure you are passing them values that start with an uppercase character.
- Although the default behavior is to list any user in the database, we can also limit our response to only those users who belong to a certain group, such as sysops, or bots. User groups are how MediaWiki grants users certain rights and privileges; see Help:User rights and groups for more details on how this system works.
See also
- API:Users - finds information about a list of users.