APIs Populi

REST APIs for Everyone

A collection of 5 fully-featured RESTful APIs for testing, learning, and development. Real-world data, multiple authentication methods, and comprehensive documentation.

Quick Start

$ cURL

curl /api/books/books \
  -H "X-API-Key: test-api-key-1"

JS JavaScript

const res = await fetch('/api/books/books', {
  headers: { 'X-API-Key': 'test-api-key-1' }
});
const data = await res.json();

PY Python

import requests

res = requests.get('/api/books/books',
  headers={'X-API-Key': 'test-api-key-1'})
data = res.json()

Available APIs

Each API is fully documented with OpenAPI specs. Use GET /api/{name}/openapi.yaml to get the spec, or POST /api/{name}/reset to restore default data.

✈️

Flights

/api/flights
15 endpoints

Aviation API with airports, airlines, flights, and bookings. Features async booking confirmation with polling pattern.

JWT BearerOAuth2
Real IATA codesAsync bookingOAuth2 flow

Try it:

curl -X POST /api/flights/auth/token \
  -H "Content-Type: application/json" \
  -d '{"username":"demo","password":"demo123"}'
📚

Books

/api/books
14 endpoints

Library API with classic literature, authors, publishers, and reviews. Search across the entire catalog.

API Key
200+ booksFull-text searchReviews

Try it:

curl /api/books/books \
  -H "X-API-Key: test-api-key-1"
📦

Warehouse

/api/warehouse
12 endpoints

Inventory management with polymorphic items (electronics, furniture, clothing, food, tools). Webhook-based async orders.

Basic AuthCustom Header
Polymorphic itemsWebhook asyncInventory tracking

Try it:

curl /api/warehouse/items \
  -u warehouse_user:warehouse_pass
🎓

School

/api/school
18 endpoints

Education management with students, teachers, classes, grades, and attendance. Session-based authentication.

Session CookieAPI Key
GPA reportsAttendance trackingGrade management

Try it:

curl -X POST /api/school/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"school123"}' \
  -c cookies.txt
🚀

Space

/api/space
16 endpoints

Cosmic database with planets, stars, galaxies, constellations, space missions, and astronauts.

JWT BearerBasic Auth
Real astronomical dataDistance calculatorCelestial events

Try it:

curl /api/space/planets \
  -u space_user:space_pass

Features

🔐

Multiple Auth Methods

JWT, OAuth2, API Key, Basic Auth, Session Cookies, and Custom Headers

🌍

Real-World Data

Authentic data: real airports, classic books, actual planets and stars

Async Processing

Learn async patterns with polling (Flights) and webhooks (Warehouse)

📋

OpenAPI Specs

Complete OpenAPI 3.0 documentation for every API endpoint

🚦

Rate Limiting

Built-in rate limits with standard X-RateLimit headers

🔍

Pagination & Filtering

Consistent pagination, sorting, and powerful filtering options

Authentication Reference

APIPrimary AuthSecondary AuthDemo Credentials
FlightsJWT BearerOAuth2demo / demo123
BooksAPI Key (header)API Key (query)test-api-key-1
WarehouseBasic AuthX-Warehouse-Tokenwarehouse_user / warehouse_pass
SchoolSession CookieAPI Keyadmin / school123
SpaceJWT BearerBasic Authspace_user / space_pass