TL;DR - Don't want to read the whole blog post? Decide your Use Case for a test API and select the API from the table below!
|Use Case||Recommended Test API|
|Single Page Application||ReqRes|
|Variety and Quantity of Response Objects||JSONPlaceholder|
|Interesting Real Data and Images||NASA API|
List of Unique Test APIs
Whether you are building a Single Page Application with a framework like Angular, or you just want to use a test API for demonstrative purposes in Postman, this list has a variety of unique test APIs.
Each test API will have the following 3 data points in addition to a basic summary: | Feature | Details | | :--- | :--- | | Auth | If the API supports authentication (AuthN) and/or authorization (AuthZ). | | HTTPS | If the API uses TLS for encrypted communication. APIs with HTTPS may be more difficult to use in certain test environments if you are querying the API via a proxy or something similar. | | Cross-Origin Resource Sharing (CORS) | If the API supports CORS, then you will be able to use it in your SPA. If you are simply calling the API directly via Postman or in the backend (server-side) then you won't have to worry about if the API supports CORS or not. |
|Auth||❌||Does not support authentication or authorization.|
|HTTPS||✔️||Supports calls over both HTTP and HTTPS.|
|CORS||❌||Does not support CORS.|
JSONPlaceholder is a robust test API that can handle plenty of load according to their website:
As of Dec 2020, serving ~1.8 billion requests each month.
The API returns data that is essentially a mock blog database that consists of posts, comments, albums, photos, todos, and users.
With 5,910 total resources across 6 common resource types, you will have plenty of data objects to work with.
JSONPlaceholder also supports all HTTP methods, so testing POST and DELETE calls will work very well with this test API.
Get started using JSONPlaceHolder today by reading their guide.
|Auth||✔️||The API supports testing authentication/authorization with login/register endpoints that return a token.|
|HTTPS||✔️||Reqres supports calls over both HTTP and HTTPS.|
|CORS||✔️||Reqres has CORS enabled, you can use it in your SPA.|
Reqres is one of my favorite test APIs because of its large feature set. In addition to supporting authentication testing, the API also supports delayed responses which help to simulate "loading times" in your SPA.
You can append
?delay=<a number of seconds> to any request and the API will simulate server side processing which will allow you to simulate a loading scenario in your front-end application.
This test API's data resources include users and generic "resources" while supporting all HTTP methods.
Reqres is free to use and they accept donations via Stripe if you wish to support the developers.
If you are looking for a great test API for your Single Page Application, try Reqres today.
|Auth||❌||The NASA API does not support testing Authorization/Authentication.|
|HTTPS||✔️||NASA API supports calls over both HTTP and HTTPS.|
|CORS||❌||The API doesn't support CORS.|
The NASA API has by far the most diverse and interesting response data.
Awesome API endpoints include:
- Mars Weather Service
- Astronomy Picture of the Day
- Mars Rover Photos
The NASA API requires an API Key but the API Key: "DEMO_KEY" can be used if your usage falls below these rate limits:
- Hourly Limit: 30 requests per IP address per hour
- Daily Limit: 50 requests per IP address per day
However, if you want to call the NASA API at a higher usage rate you can sign up for a NASA API developer key.
If you are interested in using an awesome test API with interesting response data, check out the NASA API now!