Skip to content
WP REST API - a JSON-based REST API for WordPress.
PHP JavaScript Shell
Latest commit 8b7864a May 15, 2016 @danielbachhuber danielbachhuber Merge pull request #2500 from hideokamoto/remove-unused-key
Remove Unused Parameter in lib/endpoints/class-wp-rest-controller.php
Failed to load latest commit information.
assets thicker text size on icons Feb 8, 2016
bin Version bump Mar 29, 2016
lib/endpoints Remove Unused Parameter in lib/endpoints/class-wp-rest-controller.php May 15, 2016
tests Add boolean type support for rest_validate_request_arg May 3, 2016
.gitignore Ignore readme.txt in the repo Dec 11, 2015
.gitmodules Remove compatibility repo for WordPress 4.3 Dec 11, 2015
.scrutinizer.yml Remove external code coverage from Scrutinizer May 7, 2015
.travis.yml Also build develop Jan 7, 2016 Version bump Mar 30, 2016 Proper file permissions Mar 29, 2016
Gruntfile.js Travis: Combine both PHP 5.6 jobs Jul 31, 2015 Proper file permissions Mar 30, 2016
codecoverage.xml Travis: Ensure we create WP_DEVELOP_DIR full path Jul 29, 2015
composer.json Lock PHPCS to v2.3.4 Nov 28, 2015
core-integration.php Backport rest_get_server Mar 28, 2016
extras.php Bump script version Mar 23, 2016
license.txt Add license.txt file with license terms for #384 Aug 1, 2014
multisite.xml Travis: Ensure we create WP_DEVELOP_DIR full path Jul 29, 2015
package.json Update version to 2.0.0 Nov 2, 2015
phpcs.ruleset.xml Exclude core/ from PHPCS checks Oct 12, 2015
phpunit.xml.dist Travis: Ensure we create WP_DEVELOP_DIR full path Jul 29, 2015
plugin.php Add boolean type support for rest_validate_request_arg May 4, 2016
wp-api.js Proper file permissions Mar 30, 2016
wp-api.min.js Bring javaScript client up to date Mar 23, 2016 Bring javaScript client up to date Mar 23, 2016


Access your WordPress site's data through an easy-to-use HTTP REST API.

Build Status Scrutinizer Code Quality


The "develop" branch is undergoing substantial changes and is NOT COMPLETE OR STABLE. Read the in-progress documentation to introduce yourself to endpoints, internal patterns, and implementation details.

The "master" branch represents a BETA of our next version release.

The latest stable version is available from the WordPress Plugin Directory.


WordPress is moving towards becoming a fully-fledged application framework, and we need new APIs. This project was born to create an easy-to-use, easy-to-understand and well-tested framework for creating these APIs, plus creating APIs for core.

This plugin provides an easy to use REST API, available via HTTP. Grab your site's data in simple JSON format, including users, posts, taxonomies and more. Retrieving or updating data is as simple as sending a HTTP request.

Want to get your site's posts? Simply send a GET request to /wp-json/wp/v2/posts. Update user with ID 4? Send a POST request to /wp-json/wp/v2/users/4. Get all posts with the search term "awesome"? GET /wp-json/wp/v2/posts?filter[s]=awesome. It's that easy.

WP API exposes a simple yet easy interface to WP Query, the posts API, post meta API, users API, revisions API and many more. Chances are, if you can do it with WordPress, WP API will let you do it.

WP API also includes an easy-to-use JavaScript API based on Backbone models, allowing plugin and theme developers to get up and running without needing to know anything about the details of getting connected.

Check out our documentation for information on what's available in the API and how to use it. We've also got documentation on extending the API with extra data for plugin and theme developers!

There's no fixed timeline for integration into core at this time, but getting closer!


Drop this directory in and activate it. You need to be using pretty permalinks to use the plugin, as it uses custom rewrite rules to power the API.

Also, be sure to use the Subversion trunk branch of WordPress Core as there are potentially recent commits to Core that the REST API relies on. See the website for simple instructions.

Issue Tracking

All tickets for the project are being tracked on GitHub. You can also take a look at the recent updates for the project.


Want to get involved? Check out for details on submitting fixes and new features.


We take the security of the API extremely seriously. If you think you've found a security issue with the API (whether information disclosure, privilege escalation, or another issue), we'd appreciate responsible disclosure as soon as possible.

To report a security issue, you can either email security[at], or file an issue on HackerOne. We will attempt to give an initial response to security issues within 48 hours at most, however keep in mind that the team is distributed across various timezones, and delays may occur as we discuss internally.

(Please note: For testing, you should install a copy of the project and WordPress on your own server. Do not test on servers you do not own.)



Something went wrong with that request. Please try again.