Rate Limits
All API keys are subject to the following default limits:| Window | Limit |
|---|---|
| Per minute | 300 requests |
| Per second | 10 requests |
Rate Limit Headers
Every API response includes headers that tell you your current rate limit status:| Header | Description |
|---|---|
X-RateLimit-Limit | The maximum number of requests allowed in the current window |
X-RateLimit-Remaining | The number of requests you can still make before hitting the limit |
X-RateLimit-Reset | Unix timestamp (UTC) at which the current window resets |
Handling 429 Responses
When you exceed a rate limit, the API returns a429 Too Many Requests response with a Retry-After header:
Retry-After value is the number of seconds you must wait before the API will accept requests from your key again. Your integration must respect this value — sending requests before the window resets will continue to receive 429 responses and will not accelerate the reset.
Best Practices
Use exponential backoff. When you receive a429, wait the duration specified in Retry-After, then retry. If the retry also fails, double the wait time on each subsequent attempt up to a reasonable maximum (e.g. 60 seconds).
X-RateLimit-Remaining proactively. If X-RateLimit-Remaining drops to a low value, slow down your request rate before you hit zero. This avoids disruption to your integration.
Use separate API keys per environment. Staging and production traffic each consume rate limit allowances independently. Using separate keys per environment prevents test traffic from exhausting your production quota.