API
The Rare Old public API is read-only and free to use. All endpoints are relative to the site origin.
Public API — /api/v1/public
Served from build-time JSON (src/lib/data/*.json). No authentication.
- Rate limit: 60 requests per minute per IP. Over limit → 429
{"error":"rate_limited"}withRetry-After. - Abuse control: admins can block IPs (403) or override per-IP limits via
/admin/api. - Language: use
?lang=en|es|pt|ja|fr(defaulten).
Endpoints
GET /api/v1/public/whiskies— catalog list. Optional:?country=,?distillery=,?q=,?lang=GET /api/v1/public/whiskies/{slug}— single whisky (404 if not found)GET /api/v1/public/origins— origins listGET /api/v1/public/distilleries— distilleries list
All public responses use {"data":…}; errors {"error":"…"}.
Notes
The web-app routes under /api/* require sessions and are not part of the stable external contract. Only /api/v1/public/* is considered stable.