The easiest way to connect WordPress to external APIs.
WPGetAPI allows you to easily send data and get data from an unlimited number of 3rd party REST APIs. You can then format and display the returned data on your WordPress website using a shortcode or a template tag.
WPGetAPI supports virtually all authentication methods including OAuth 2.0 authorization, Bearer token, basic auth, API keys and username/password.
View the live demo and see how we are connecting to several different APIs and displaying the data in 3 unique ways.
LIVE DEMO – Connecting WordPress to external APIs
- Connect your WordPress website to any REST API
- Unlimited APIs & endpoints
- No coding required
- Display API data using a template tag or shortcode
- GET, POST, PUT & DELETE requests
- Query string, header & body parameters
We have tons of articles and help available. View these articles below to get started:
The PRO Plugin provides many extra features that allow you to do some more advanced things with your APIs. Features of the PRO Plugin include:
- Dynamic variables
- Chain API calls
- Send to API on user registration
- Send to API on WooCommerce order
- Cache API calls
- Format JSON data into HTML
- Retrieve nested data
- Base64 encoded auth
- XML format
OAuth 2.0 Authorization
The OAuth 2.0 Authorization plugin allows authorization of your API through the OAuth 2.0 method.
WPGetAPI integrates extremely well with other WordPress plugins, allowing you to do some very cool things with your API. Click the links below for more info on these integrations.
- Charts & Tables from API data using wpDataTables
- Gravity Forms send data to API
- Contact Form 7 send data to API
- WPForms send data to API
- Elementor, DIVI & other page builders
You can translate WPGetAPI into your own language on translate.wordpress.org
Here is an article to help get started with translations
This plugin provides 1 block.
- WPGetAPI Insert an endpoint you have created with WPGetAPI.
- WordPress version 4.6 and later
- PHP 7.2, Tested with PHP 8.2
- Go to the
WPGetAPI -> Setupmenu to add your APIs.
- Once your APIs are saved, a new tab is created allowing you to add endpoints.
- Once your endpoints are saved, you can use the template tag or shortcode to connect to your API and view the data.
Is WPGetAPI free?
Yes, WPGetAPI’s core features are and always will be free.
Paid extensions are available if you are looking to do more with your API.
Can I connect to any REST API?
Yes, most likely. WPGetAPI handles all major methods of authorization and authentication. It will depend on the type of authentication your API is using. Please click the link to view the types of authentication and authorization that are available.
Can I capture form data and send to my API?
Yes, with our PRO Plugin you can capture data from your forms and send this data to your API.
This is perfect for lead generation forms, contact forms or really any other type form that requires you to send form data to an API.
Can I use an XML based API?
Yes, we support XML with our PRO Plugin
How do I connect WordPress to an API?
By using this plugin of course! Check out the video at the top of this page or visit our Quick Start Guide to get started with connecting your WordPress website with an API.
How do I cache API calls?
We support caching with our PRO Plugin. It also recognises dynamic queries and will cache these individually.
A dynamic query might be something like these:
The PRO plugin recognises that whilst they are the same endpoint, they are different queries that need to be cached separately.
Where can I find docs?
All of our documentation can be found here.
What can I do with the API data?
The API data can be output as a JSON string, stored in a PHP variable or automatically output as HTML (using PRO plugin extension). You can easily format the data into tables or charts plus many other possibilities.
Will you help me if I am having trouble?
Yes! Please contact us and we will get your API up and running.
Contributors & Developers
“Connect to external API – WPGetAPI” is open source software. The following people have contributed to this plugin.Contributors
Translate “Connect to external API – WPGetAPI” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Fix – error when trying to format XML as HTML.
- New – one-click copy buttons next to Template Tag and Shortcode.
- New – extra styling for WPGetAPI heading that also includes small icon and version number.
- Fix – error with setting encoding to JSON encode.
- Fix – issue when using multiple ajax buttons in PRO plugin.
- Fix – passing post id through ajax button for PRO plugin.
- Fix – Set chain_delay to 0 on WordPress admin to avoid loading delays in admin.
- New – Add ability to set a delay when chaining endpoints.
- Fix – Allow multidemsnional arrays when using x-www-formurlencoded
- Compatibility – Tested with WordPress 6.2.
- Enhancement – Allow raw string data to pass through output, rather than only JSON string data.
- New – Allow raw data in POST body fields.
- New – Add new format=’no_display’ shortcode attribute to stop any output from the API.
- New – Add new integration with chaining methods that can be used in conjuction with the PRO plugin.
- New – Add new integration with image attributes for the shortcode, to allow the display of images using the PRO plugin.
- New – Add ability to set value as boolean type.
- Fix – If format is set to HTML, then set the results format as PHP array to avoid having to do it in the settings.
- New – Integration for the new AJAX button in the PRO plugin.
- Fix – Allow both JSON string and PHP array format to work when format is set to HTML.
- Fix – Issue with nested JSON arrays within parameter values.
- Fix – Tidy up the wording of some fields and licensing page.
- New – Gutenberg block added.
- New – Admin styling updates.
- New – add ability of Pro plugin to send XML formatted data in Body POST fields.
- New – add new filter ‘wpgetapi_should_we_stop’ which allows us to not call the API if some condition is not met. Added to allow processing of Woocommerce tokens on successful order (Pro plugin only).
- New – add new attribute ‘on’. Added to allow processing of Woocommerce tokens on successful order.
- Fix – fix the handling of arrays within parameters.
- New – add new licensing and updating methods.
- New – add ability to set float and integers within paramater settings using float(number) and integer(number) syntax.
- Fix – fix help link for Body paramters going to wrong page.
- Fix – fix error with DELETE not working.
- New – add DELETE method.
- Fix – small fix to allow new custom field renaming within the Custom Post Import plugin.
- New – add full response into the ‘Test Endpoint’ section.
- Update – readme updates and ‘tested up to’ update.
- Update – update 3 screenshots.
- New – add warning when trying to output PHP array data in shortcode.
- New – remove banner for Pro plugin. No one likes ads, do they?
- Enhancement – rework the ‘Test Endpoint’ section in admin to make it cleaner and easier to read (again).
- Enhancement – styling tweaks.
- Enhancement – rework the ‘Test Endpoint’ section in admin to make it cleaner and easier to read.
- Enhancement – styling tweaks.
- New – add banner for Pro plugin.
- Fix – modify the way the body is retrieved. Required for OAuth 2.0 Authorization plugin.
- New – add endpoint testing within the admin area.
- Fix – change response code action in version 1.5.2 to a filter.
- New – updated styling for admin area.
- Enhancement – add new request method PUT.
- Enhancement – add new action to get response code. Required for OAuth 2.0 Authorization plugin.
- Enhancement – add new shortcode attributes for formatting HTML in Pro plugin.
- Enhancement – minor styling tweaks.
- Fix – very minor bug fixes.
- Fix – fully internationalize the plugin.
- Fix – add new filter ‘wpgetapi_json_response_body_before_decode’ in place of removing invalid characters from 1.4.8 as this was stripping out non-english values.
- Enhancement – rewrite some css to make endpoint page a bit nicer and add some more screenshots.
- Enhancement – remove invalid characters from JSON data that was causing a null return.
- Enhancement – add new attribute ‘format’ within shortcode that allows formatting of a number in the Pro Plugin.
- Fix – error in admin-options file.
- Enhancement – add some better, and clearer help in the admin area. Tidy up some styling.
- Fix – error displaying correct endpoint ID within admin area shortcode and template tag helpers. Happening when multiple endpoints added.
- Fix – body was not being set correctly.
- Enhancement – readme updates and plugin links within plugin page.
- Fix – new tab was not appearing on intitial save on setup page.
- Enhancement – add new filter ‘wpgetapi_admin_pages’ to allow adding extra tabs.
- Fix – refactor the building of request args. Body was not working correctly.
- Fix – change naming convention from Template Function to Template Tag within admin.
- Enhancement – modify output of debug to show more info and to show whether or not shortcode is used.
- Enhancement – add ability to use headers and body variables in Pro Plugin.
- Enhancement – style the debug output to make it easier to understand and provide links to docs.
- Bug fix – change paramater value fields to textarea. This allows the proper use of JSON strings within these fields.
- Bug fix – error with class property name that was not allowing proper $args to be sent to remote request
- Fix – rewrite headers parameters section
- Enhancement – add ability for query_variables to be used in shortcode with the Pro Plugin
- Enhancement – add args to debug info. Will be useful for endpoint_variables in Pro Plugin
- Bug fixes with encrypting values
- Enhancement – add option to JSON encode body parameters
- Enhancement – allow simple arrays to be sent in body
- Enhancement – reconfigure debug info
- Bug fixes
- Bug fixes
- Bug fixes
- Initial Release