Rate Limits
Rate limits protect the API and ensure fair usage across all consumers.
Limits by plan
| Plan | Requests/day | API Keys | Data Retention |
|---|---|---|---|
| Free | 100 | 1 | 30 days |
| Developer | 10,000 | 5 | Full history |
| Business | 100,000 | 20 | Full history |
| Enterprise | Unlimited | Unlimited | Full history |
Rate limit headers
Every response includes rate limit information in the headers:
Response Headers
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9547
X-RateLimit-Reset: 1706745600| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per day |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the rate limit resets |
Handling rate limits
When you exceed the rate limit, the API returns a 429 status code. Implement exponential backoff:
Pythonpython
import time
import requests
def fetch_with_retry(url, headers, max_retries=3):
for attempt in range(max_retries):
response = requests.get(url, headers=headers)
if response.status_code == 429:
reset = int(response.headers.get("X-RateLimit-Reset", 0))
wait = max(reset - time.time(), 2 ** attempt)
time.sleep(wait)
continue
return response
raise Exception("Rate limit exceeded after retries")Need more requests?
Upgrade your plan for higher limits, or contact us for enterprise pricing with custom limits.