Rate limits
The public API is rate limited to 60 requests per minute per client IP.
When you exceed it, the API responds with:
HTTP/1.1 429 Too Many Requests
Too many requests
Handling 429s
- Back off and retry. Wait, then retry — ideally with exponential backoff
and jitter. If a
Retry-Afterheader is present, honor it. - Cache reads. Event lists, blog posts, standings, and membership plans change infrequently; cache them client-side rather than polling.
- Use streams for live data. For leaderboards and odds, open a single SSE stream instead of polling the JSON endpoints — one connection receives every update and doesn't burn your request budget.
Limits are per IP
The budget is keyed on the caller's IP address. If you're calling from a shared backend, all your requests share one bucket — consider caching upstream so a spike in your own traffic doesn't exhaust it.