GET /sites/$site/users

List the users of a site.

Resource Information

Method GET
Requires authentication? Yes

Method Parameters

Parameter Type Description
$site (int|string) Site ID or domain

Query Parameters

Parameter Type Description
context (string)
(default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..
Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..
http_envelope (bool)
Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.
pretty (bool)
Output pretty JSON
meta (string) Optional. Loads data from the endpoints found in the 'meta' part of the response. Comma-separated list. Example: meta=site,likes
fields (string) Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title
callback (string) An optional JSONP callback function.
number (int) Limit the total number of authors returned. Default: 20.
offset (int) The first n authors to be skipped in the returned array.
order (string)
(default) Return authors in descending order.
Return authors in ascending order.
order_by (string)
(default) Order by ID (default).
Order by username.
Order by nicename.
Order by author email address.
Order by author URL.
Order by registered date.
Order by display name.
Order by number of posts published.
authors_only (bool) Set to true to fetch authors only
include_viewers (bool) Set to true to include viewers for Simple sites. When you pass in this parameter, order, order_by and search_columns are ignored. Currently, `search` is limited to the first page of results.
type (string) Specify the post type to query authors for. Only works when combined with the `authors_only` flag. Defaults to 'post'. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter.
search (string) Find matching users.
search_columns (array) Specify which columns to check for matching users. Can be any of 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename', and 'display_name'. Only works when combined with `search` parameter.
role (string) Specify a specific user role to fetch.

Response Parameters

Parameter Type Description
found (int) The total number of authors found that match the request (ignoring limits and offsets).
users (array) Array of user objects
authors (array) Array of author objects.

Resource Errors

These are the possible errors returned by this endpoint.

HTTP Code Error Identifier Error Message
403 unauthorized User cannot access this private blog.
403 unauthorized User cannot access this restricted blog
403 unauthorized User cannot view authors for specified post type
403 unauthorized User cannot view users for specified site
400 invalid_number The NUMBER parameter must be less than or equal to 1000.
404 unknown_post_type Unknown post type


curl \
 -H 'authorization: Bearer YOUR_API_TOKEN' \
$options  = array (
  'http' => 
  array (
    'ignore_errors' => true,
    'header' => 
    array (
      0 => 'authorization: Bearer YOUR_API_TOKEN',

$context  = stream_context_create( $options );
$response = file_get_contents(
$response = json_decode( $response );


    "found": 1,
    "users": [
            "ID": 78972699,
            "login": "apiexamples",
            "email": "",
            "name": "apiexamples",
            "first_name": "",
            "last_name": "",
            "nice_name": "apiexamples",
            "URL": "http:\/\/",
            "avatar_URL": "https:\/\/\/avatar\/a2afb7b6c0e23e5d363d8612fb1bd5ad?s=96&d=identicon&r=G",
            "profile_URL": "https:\/\/\/apiexamples",
            "site_ID": 82974409,
            "roles": [
            "is_super_admin": false