Default limits
| Limit | Value |
|---|---|
| Requests per minute | 60 |
| Window | 60 seconds (sliding) |
Rate limit headers
Every response includes headers showing your current usage:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
When you hit the limit
If you exceed the rate limit, the API returns a429 response with a Retry-After header:
Best practices
Use exponential backoff
Use exponential backoff
When you receive a 429, wait for the
Retry-After duration before retrying. If retries continue to fail, increase the wait time exponentially.Cache responses locally
Cache responses locally
If you’re reading the same data repeatedly, cache it locally and use
updated_since for incremental updates instead of re-fetching everything.Use larger page sizes
Use larger page sizes
Set
limit=100 to fetch more results per request, reducing the total number of API calls needed.
