Add WordPress API endpoints and access your site's data in JSON, XML, RSS/ATOM, YAML or HTML.
|Author:||Anton Andriievskyi (profile at wordpress.org)|
|WordPress version required:||3.6.1|
|WordPress version tested:||4.2.4|
|Added to WordPress repository:||07-08-2015|
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|Total downloads:||2 951|
Click to start download
Choose which of your site's data to make available via WordPress API and in which format.
- Customize API URLs:
http://mywordpress.com/my-api/name1- change my-api and name1 in the plugin settings
- Set minimal capability permission individually for every API endpoint
- Customize HTTP headers
- Use any data from your sites's MySQL database: posts/pages, custom posts, comments, settings, users, site options, post metadata, users, drafts, activity and much more
- Turn any local file into an API (CSV, JSON, XML, you name it)
- Fetch any data from 3rd party APIs and turn into your own API
- Boost API speed with the caching system out of the box
- Output API in any format, including, but not limited to, JSON, XML, RSS/ATOM, YAML and HTML.
- Get full control over the API output by using a simple template language.
- Two dedicated templates: 1) for successful API calls and 2) for API failures (e.g. authentication error)
- Intelligent template editor with code highlighting and full screen mode
This is a free add-on to the Twig Anything WordPress plugin.
The slick API Endpoints configuration panel with settings for error/success templates, URL names, capability roles set individually per API endpoint, and templates to use for each API.
HTTP headers configuration: by default, anti-cache headers are set, but you can add any headers depending on what format you want your API to output. It hints you about headers to use for most popular formats: JSON, XML, RSS and YAML.
An API endpoint in JSON format that gets information from a local CSV file and converts it into API.
Insufficient permissions when calling a protected API with a wrong username/password
What formats can my API Endpoints output in?
JSON, XML, CSV (comma separated values), YAML and pretty much anything with just a bit of config. You have full control of what is output and which format.
How many API Endpoints can I create?
Create as many endpoints as you need. There are no limits!
Can I control access to my API Endpoints?
Yes, you can configure a minimum user role required for each endpoint separately. You will then pass
password variables in your call to the API, which will be used to authenticate with your existing WordPress users.
Can I configure access to each API Endpoint separately?
Yes, every single API Endpoint has its own optional minimal role required to access the API.
Should I create a separate WordPress user to access API Endpoints?
If your API is public and meant to be accessed by anyone, then no.
However, if you API needs authentication, then I recommend creating a separate WordPress user and using its username/password to access the API. A separate WP account for consuming your API would make it easier to switch it ON/OFF or change its permission level accordingly when required.
Can I configure the URL to my API?
By default, you would access your API endpoint by a URL like this:
api-endpoint is the common root URL, and
endpoint-name is unique for every endpoint. Both of these pieces are configurable in the settings screen.
Can I control HTTP headers output by an API endpoint?
Yes, you can configure HTTP headers in the settings screen. To access it, click on the “Settings” menu and then on the “API Endpoints” sub-menu.
What if API returns an error?
As any API, yours can return an error. For example, if someone tries to access a protected API endpoint without appropriate authentication. If this is the case, the Error Template from the settings screen will be used.
There is a default error template in JSON format in place, but you can easily tune it to your own needs.
How can I preview the API output?
In the Settings screen, in front of every api endpoint there is an “Open” button. Clicking on it opens a new tab in your browser linking to the URL the API.
You can also use special tools to test you API, for example Postman.
Why does it require Twig Anything plugin?
Twig Anything is a super-powerful plugin that allows to fetch any data from anywhere and display it in your WordPress site. It is universal and extensible, and already has a lot of things like intelligent error handling and local cache. It also understands Twig syntax, which allows for endless applications and various scenarios. “API Endpoints” greatly benefits from all of this!
Last but not least, the developer behind both plugins is the same 🙂
Can I turn a CSV file into an API?
Yes! You will need CSV Format add-on to read let it data from a CSV file.
Can I turn someone else’s API into my own API?
Yes, just configure your Twig Template to fetch data from a URL and then output it either entirely or partially in your template.
- Add new default HTTP header “Access-Control-Allow-Origin: *”
- Add links to the Plugins screen for navigation convenience: “Settings” and “Support and community”
- Check if Twig Anything plugin is installed and active and show a warning if it is not
- The first release