Practice API testing and automation against a real REST API.
Airport Gap is a free REST API made for API testing practice and test automation. It has real endpoints, real authentication and failures you can trigger on purpose, so your tests run against more than a happy path.
Free. Just an email and password, and we'll never send you marketing email.
Save a favorite airport
POST /api/favorites HTTP/1.1Host: airportgap.comAuthorization: Bearer token=<your token>Content-Type: application/json {"airport_id": "JFK","note": "My usual layover"}
Response 201 Created
Content-Type: application/json {"data": {"id": "11","type": "favorite","attributes": {"airport": {"iata": "JFK","name": "John F Kennedy International Airport","city": "New York","country": "United States"},"note": "My usual layover"}}}
The same request, failing on purpose
POST /api/favorites HTTP/1.1Host: airportgap.comAuthorization: Bearer token=<your token>Content-Type: application/jsonX-Simulate: service-unavailable {"airport_id": "JFK","note": "My usual layover"}
Response 503 Service Unavailable
Content-Type: application/jsonRetry-After: 30 {"errors": [{"status": "503","title": "Service Unavailable","detail": "The service is simulating downtime. Retry your request after 30 seconds."}]}
What you can practice in your API tests
- Every main HTTP method
- Send GET, POST, PATCH and DELETE requests across airports and favorites, so your suite covers both reads and writes.
- Token authentication
-
Generate a token and send it in the
Authorizationheader to call the favorites endpoints. - Data that persists
- Favorites stay saved in your account, so you can test create, update and delete flows end to end.
- Failures on demand
-
Add the
X-Simulateheader to get server errors, downtime, slow responses, malformed JSON or wrong content types, so you can check how your tests handle retries, timeouts and bad responses. See failure simulation. - Rate limits
- Each IP address can send up to 100 requests a minute, so you can check how your tests handle a 429 response. Slow simulations are limited to 10 a minute. See rate limiting.
REST API endpoints to test
| Method | Path | What it does |
|---|---|---|
| GET | /airports | List all airports, one page at a time |
| GET | /airports/:id | Get one airport by its IATA code |
| POST | /airports/distance | Measure the distance between two airports |
| POST | /tokens | Get your token with your email and password |
| GET | /favorites | List your saved airports Needs a token |
| GET | /favorites/:id | Get one saved airport Needs a token |
| POST | /favorites | Save a favorite airport Needs a token |
| PATCH | /favorites/:id | Update the note on a saved airport Needs a token |
| DELETE | /favorites/:id | Remove a saved airport Needs a token |
| DELETE | /favorites/clear_all | Remove all saved airports Needs a token |