Rate Limits
Understand how rate limiting works and how to handle 429 responses.
Limits by Plan
Free: 10 req/min, 20 burst. Pro: 60 req/min, 100 burst. Enterprise: 300 req/min, 500 burst. Rate limits are applied per API key.
Rate Limit Headers
Every response includes rate limit headers so you can track your usage in real-time.
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1740800060Handling 429 Responses
When you exceed your rate limit, the API returns a 429 status code with a Retry-After header. Implement exponential backoff for production use.
import time
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:
wait = int(response.headers.get("Retry-After", 2 ** attempt))
time.sleep(wait)
continue
return response
raise Exception("Rate limit exceeded after retries")