Developers

Rate limits and errors

Two ceilings apply to the API, both counted in a sliding sixty-second window. Going over either one returns 429 rate_limited and the request is refused outright, never queued, so back off and retry rather than repeating the same call again immediately.

CeilingLimitNotes
Per API key600 requests per minuteShared across every request that key makes, reads and writes together.
Per calling IP address1,200 requests per minuteCounted before your key is even read, so it also covers requests with a missing or invalid key. A shared egress address, such as a cloud function or an office network, shares one bucket with everyone else behind it.

Both numbers are also shown live on Developer > API keys, so you do not have to keep this page open while you build.

StatusError codeWhat it means
401unauthorized (see message)The Authorization header is missing, or the key in it is invalid or revoked.
403read_only_key (see message)The key is valid but does not have the write scope, and the request was a POST, PATCH or DELETE.
404not foundThe resource, or the specific id inside it, does not exist in your workspace.
429rate_limitedYou went over one of the two ceilings above. Wait and retry with backoff.

Every error response, whatever the status, is a JSON object shaped { error, message }: error is a short machine-readable code safe to branch your code on, and message is a plain sentence for a log line or a support ticket. Neither field changes shape between resources.

Was this page useful?