GET /api/parks
List registered parks and live status.
Park Queues
JSON endpoints for live waits, calendars, and ride history. Fair-use rate limit: 60 requests / minute / IP.
Base URL is this site. All responses are JSON. Errors return { "success": false, "error": "…" }.
List registered parks and live status.
Latest wait snapshot. Optional ?refresh=1 forces a poll when samples are stale. Optional ?ride=Smiler or ride id.
{
"success": true,
"data": {
"parkId": "alton-towers",
"fetchedAt": "2026-07-19T15:00:00.000Z",
"rides": [{ "id": 4193, "name": "The Smiler", "status": "OPERATING", "waitMinutes": 45, "land": "Thrills" }]
},
"meta": { "rateLimitRemaining": 59 }
}Historic + forecast crowd days for the park.
Recent wait samples for a ride.
Internal poller. In production set CRON_SECRET and send Authorization: Bearer ….
GET/POST /api/parks/:parkId/rides/:rideId/reports — guest wait reports (never mixed into official live data). GET/POST …/comments and GET/POST /api/parks/:parkId/chat for ride comments and park day-chat.
Public routes allow 60 requests per minute per IP. Exceeding returns HTTP 429 with Retry-After.