Skip to main content

Rate limits

Limits are counted per key, in a 60-second window. Requests with an invalid key are limited per IP address: after 20 in a minute, the address gets 429 until the minute ends. Every authenticated response includes: When the limit is exceeded, the API returns 429 with Retry-After, the number of seconds to wait:
Wait for Retry-After before trying again. Requests sent during the wait also count.
Each key has its own limit. Use one key per integration so one job does not use up the limit of another.

Error format

Every error has the same body:
Use code and the HTTP status in your code. message is for people and can change.

Error codes

Request id

Every response has an X-Request-Id header. Send it to support when you report a problem.

Retries

  • Retry only 429 and 5xx.
  • Wait 1s, 2s, 4s, 8s between attempts, with at most 5 attempts. On 429, wait for Retry-After instead.
  • Every route is a GET, so repeating a request never changes data.