Unauthenticated status endpoints for uptime monitoring, plus how the API behaves under load and during brief upstream hiccups.
Both endpoints live at the API root (not under /v1) and need no API key, so they're safe to hit from an external uptime monitor.
GET / — service infoA lightweight liveness check that returns the service name and version.
curl https://api.tcgpricelookup.com/GET /health — database healthVerifies database connectivity. Returns 200 with healthy when the database responds, and 503 with unhealthy if it doesn't — perfect for a health-check probe.
curl https://api.tcgpricelookup.com/healthRead endpoints are cached server-side and tag each response with an x-api-cache header so you can see how it was served:
| x-api-cache | Meaning |
|---|---|
| fresh | Served from a warm cache entry. |
| stale | Served from cache while a refresh runs in the background. |
| miss | Computed fresh for this request. |
If the database is briefly unavailable, the API will serve the last known-good cached response where it can, tagged with x-db-fallback: stale-cache. When no cached value exists, it returns 503 Database temporarily unavailable — retry with backoff (see error codes).
Use the unauthenticated endpoint for plain uptime, and a few authenticated probes to exercise the real data paths:
GET /health — uptime & database connectivity (no key).GET /v1/games?limit=1 — baseline authenticated availability.GET /v1/cards/search?q=charizard&limit=1 — search path health.GET /v1/cards/:id — detail path and payload integrity.