Rate Limits
Understand API rate limits and how to handle them.
Rate Limit Tiers
| Plan | Requests per Minute | Daily Limit |
|---|---|---|
| Free | 10 | 100 |
| Pro | 1,000 | Unlimited |
| Ultimate | 1,000 | Unlimited |
Response Headers
Every API response includes rate limit headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 997
X-RateLimit-Reset: 1696150800| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Handling Rate Limits
When you exceed your rate limit, the API returns a 429 Too Many Requests response:
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please wait before making another request.",
"retry_after": 42
}Best Practices
- Respect
Retry-After— wait the indicated number of seconds before retrying - Implement exponential backoff — if you receive repeated 429s, increase your wait time
- Cache responses — historical data does not change; cache it locally
- Use WebSocket for live data — instead of polling the REST API for odds updates