Developers / Rate limits
Two independent budgets: how fast you may call, and how much you may call in a month.
Rate limit — requests per minute. Exceed it and you get 429. Clears in 60 seconds.
Credits — your monthly allowance. Exhaust it and you get 402. Retrying will never clear it; it resets on the 1st of each calendar month at 00:00 UTC.
| Plan | Price | Requests / minute | Credits / month |
|---|---|---|---|
| Free | $0 | 30 |
3,000 |
| Hobby | $9/mo | 60 |
7,500 |
| Standard | $29/mo | 200 |
75,000 |
| Plus | $49/mo | 500 |
140,000 |
| Business | $99/mo | 750 |
300,000 |
| Platform | $199/mo | 1000 |
1.5M |
| Scale | $249/mo | 2000 |
5M |
A 60-second sliding window per API key — not a fixed clock minute. Sixty requests at 10:00:59 and sixty more at 10:01:01 will trip the limit on a 60/min plan, because the window looks back 60 seconds from now, not to the top of the minute.
Sandbox endpoints under /v1/demo/ are limited separately, by IP, at 30 requests/minute — they need no key, so there is no key to meter.
HTTP/1.1 429 Too Many Requests
Retry-After: 60
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
Content-Type: application/problem+json
Retry-After is in seconds. Honour it rather than retrying immediately — a tight retry loop keeps the window full and you stay limited.
/v1/racing/next-to-go returning many races costs 2 credits or 3 credits or 4 credits; fetching each race separately costs far more of both budgets./v1/sports changes rarely.quality object with age_seconds — if the price you hold is as fresh as the one you would fetch, skip the call.If your workload genuinely needs more throughput than Scale's 2000/min, get in touch rather than sharding across keys — we would rather size a plan to the use case.