Rate limits
Per-key request limits and how to back off.
Requests are limited per API key, in a one-minute window. Reads and writes have separate budgets.
| Kind | Methods | Limit |
|---|---|---|
| Reads | GET | 600 requests per minute |
| Writes | POST, PUT, PATCH, DELETE, uploads | 120 requests per minute |
When a key goes over its budget, the API answers 429 until the window resets:
{
"errors": [{ "message": "Too many requests", "code": "E_TOO_MANY_REQUESTS" }]
}The response carries Retry-After (seconds to wait) and the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. Read them instead of hard-coding the numbers above, which may change.
Staying within the limits
- Page with
perPage=100to cut the number of calls. - Use webhooks rather than polling for changes.
- On
429, wait forRetry-Afterand retry. On5xx, retry with exponential backoff and jitter. - Spread bulk imports over time instead of sending them in one burst.