The WordPress REST API is organized around REST, and is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API errors. The API uses built-in HTTP features, like HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients, and supports cross-origin resource sharing to allow you to interact securely with the API from a client-side web application.
The REST API uses JSON exclusively as the request and response format, including error responses. While the REST API does not completely conform to the HAL standard, it does implement HAL’s ._links
and ._embedded
properties for linking API resources, and is fully discoverable via hyperlinks in the responses.
The REST API provides public data accessible to any client anonymously, as well as private data only available after authentication. Once authenticated the REST API supports most content management actions, allowing you to build alternative dashboards for a site, enhance your plugins with more responsive management tools, or build complex single-page applications.
This API reference provides information on the specific endpoints available through the API, their parameters, and their response data format.
REST API Developer Endpoint Reference
Resource | Base Route |
---|---|
Posts | /wp/v2/posts |
Post Revisions | /wp/v2/posts/<id>/revisions |
Categories | /wp/v2/categories |
Tags | /wp/v2/tags |
Pages | /wp/v2/pages |
Page Revisions | /wp/v2/pages/<id>/revisions |
Comments | /wp/v2/comments |
Taxonomies | /wp/v2/taxonomies |
Media | /wp/v2/media |
Users | /wp/v2/users |
Post Types | /wp/v2/types |
Post Statuses | /wp/v2/statuses |
Settings | /wp/v2/settings |
Themes | /wp/v2/themes |
Search | /wp/v2/search |
Block Types | /wp/v2/block-types |
Blocks | /wp/v2/blocks |
Block Revisions | /wp/v2/blocks/<id>/autosaves/ |
Block Renderer | /wp/v2/block-renderer |
Block Directory Items | /wp/v2/block-directory/search |
Plugins | /wp/v2/plugins |
A Distributed API
Unlike many other REST APIs, the WordPress REST API is distributed and available individually on each site that supports it. This means there is no singular API root or base to contact; instead, we have a discovery process that allows interacting with sites without prior contact. The API also exposes self-documentation at the index endpoint, or via an OPTIONS
request to any endpoint, allowing human- or machine-discovery of endpoint capabilities.