A thin JSON API for titles, ISBN pricing, and listings — built so people (and LLMs) can research PangoBooks without scraping HTML. No API key required; sign in for a higher rate limit.
Live requests hit the public API. Free: 10 req/min per IP. Signed-in Pangobooks accounts get 30 req/min.
Find titles (preferred) or live listings.
GET /api/public/search?q=project+hail+mary&type=titles&limit=5// Click “Run request” to see a live JSON response
Limits are enforced per client. Anonymous traffic is capped by IP; authenticated traffic is capped per Pangobooks account.
| Tier | Limit | How |
|---|---|---|
| Free | 10 req/min | No auth. Per IP. |
| Registered | 30 req/min | Signed-in Pangobooks account with an email (not anonymous) + Authorization: Bearer <auth_token>. Anonymous sessions stay free. |
Over limit returns 429 with Retry-After, tier, limit_per_minute, and a message explaining how to upgrade from free → registered.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/public/search?q=project+hail+mary&type=titles&limit=5 | Search titles or live listings |
| GET | /api/public/pricing?isbn=9780593135204 | ISBN market comps / sold prices |
| GET | /api/public/books/{id}/api/public/books/{bookId} | One marketplace listing |
Preferred flow: search → pricing by ISBN and/or a specific book id → link humans to the HTML URLs in urls.
# Free (10 req/min)
curl "https://pangobooks.com/api/public/search?q=project+hail+mary&type=titles&limit=5"
curl "https://pangobooks.com/api/public/pricing?isbn=9780593135204"
curl "https://pangobooks.com/api/public/books/{bookId}"
# Registered (30 req/min) — AUTH Token from a signed-in account with an email (not anonymous)
curl -H "Authorization: Bearer $AUTH_TOKEN" \
"https://pangobooks.com/api/public/pricing?isbn=9780593135204"Response shape: { "success": true, "data": { ... } }. On limit exceeded: 429 + Retry-After and a JSON message describing the tier and upgrade path.
Machine-readable discovery lives at /llms.txt and the OpenAPI spec at /openapi.json. Prefer /api/public/* over HTML /search or /pricing scrapes.
Questions? Help center.