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, community-wishlist-manager, confirmed, event-organizer, 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, community-wishlist-manager, confirmed, event-organizer, 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-blocked-external-domains-log, 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, campaignevents-delete-registration, campaignevents-email-participants, campaignevents-enable-registration, campaignevents-generate-invitation-lists, campaignevents-organize-events, campaignevents-view-private-participants, centralauth-createlocal, centralauth-lock, centralauth-merge, centralauth-rename, centralauth-suppress, centralauth-unmerge, changeemail, changetags, checkuser, checkuser-log, checkuser-suggested-investigations, 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, createwithcontentmodel, delete, delete-redirect, deletechangetags, deletedhistory, deletedtext, deletelogentry, deleterevision, echo-create, echo-read-notifications, edit, editautopatrolprotected, editautoreviewprotected, editcontentmodel, editeditorprotected, editextendedsemiprotected, editinterface, editmyoptions, editmyprivateinfo, editmyusercss, editmyuserjs, editmyuserjson, editmyuserjsredirect, editmywatchlist, editpatrolprotected, 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, ignore-restricted-groups, import, importupload, interwiki, ipblock-exempt, ipinfo, ipinfo-ip-lookup, ipinfo-view-arbitrary-ip, ipinfo-view-basic, ipinfo-view-full, ipinfo-view-log, linkpurge, lqt-merge, lqt-react, lqt-split, mailpassword, manage-all-push-subscriptions, manage-wishlist, managechangetags, managementors, manually-edit-wishlist, 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-disable-for-user, oathauth-enable, oathauth-recover-for-user, 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, siteadmin, skipcaptcha, spamblacklistlog, stablesettings, stashbasehtml, stashedit, suppressionlog, suppressredirect, suppressrevision, tboverride, tboverride-account, templateeditor, thanks-notification, titleblacklistlog, torunblocked, transcode-reset, transcode-status, translate, translate-empty-category, 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, wikimediaevents-hcaptcha-diff-logging
- 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.
- tempexpired
- Indicates whether the temporary account has expired or not. If account isn't temporary, null is returned.
- Values (separate with | or alternative): blockinfo, centralids, editcount, groups, implicitgroups, registration, rights, tempexpired
- 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=DROVdoesn't return the same results asaufrom=Drov.
- All registered usernames are saved and retrieved in capitalized form. If you are using
aufromorauprefixin 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.