Rate limits
Each key may make 600 requests a minute. The window is fixed and per key, so two keys in one workspace do not compete, and two servers sharing a key do.
Every response says where you stand:
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 587
X-RateLimit-Reset: 1758326460
X-RateLimit-Reset is a Unix timestamp: when the current window ends and the count returns to zero.
When you exceed it
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
}
}
The response is 429 and carries Retry-After in seconds. Wait that long. A client that retries immediately spends the next window on refusals.
Staying inside it
Ask for bigger pages. limit=1000 walks a register in a tenth of the requests that limit=100 needs, and counts as one request either way.
Sync deltas, not everything. updated_since turns a nightly full copy into a handful of requests. See Pagination and sync.
Do not poll tightly. Once a minute is rarely necessary for data that changes a few times a day. If you need to know about a change sooner than a poll can tell you, say so — that is what we want to hear about.
If a legitimate integration genuinely needs more than this, contact us at [email protected] rather than working around it. Splitting one integration across several keys to multiply the limit is not permitted by the acceptable use policy.