Rate Limits & Quota
The Public API enforces per-key rate limits and per-account quotas to ensure fair usage. Limits vary by plan.
Plans
Every API account is assigned a plan that determines its limits:
| Plan | Req/min | Req/day | Req/month | Price |
|---|---|---|---|---|
| Free | 5 | 100 | 1,000 | $0 |
| Starter | 30 | 1,000 | 10,000 | $29/mo |
| Pro | 120 | 10,000 | 100,000 | $99/mo |
| Enterprise | 600 | 100,000 | 1,000,000 | $499/mo |
Rate limit headers
Every response includes rate limit metadata in HTTP headers:
X-RateLimit-LimitMax requests per minuteX-RateLimit-RemainingRemaining requests in current windowX-RateLimit-ResetUnix timestamp when window resetsWhen you hit the limit
If you exceed the rate limit, you'll receive a 429 response:
json — 429 response
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 42 seconds.",
"status": 429
}
}The response includes a Retry-After header with the number of seconds to wait before making another request.
Quota tracking
Daily quotas reset at midnight UTC. Monthly quotas reset on the 1st of each month. Check your current usage via the /api/public/v1/usage endpoint:
json — usage response
{
"data": {
"requests_today": 42,
"daily_limit": 1000,
"requests_this_month": 350,
"monthly_limit": 10000,
"rate_limit_per_minute": 30
}
}Endpoint costs
Some endpoints consume more than 1 quota unit per request:
Standard endpoints1 unit
Live matches, events, stats2 units
Match lineups3 units
