Skip to content

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.