Errors
Non-2xx responses generally contain:
Do not retry most
4xx responses without changing the request. Retry transient 429 and 5xx responses with exponential backoff and jitter.
Rate limits
Authenticated API traffic is limited to 100 requests per 60 seconds per credential. Some expensive operations have tighter limits:Rate limit headers
Every API response — not only a429 — carries the current state of the tightest limit the request passed through, so a client can pace itself instead of waiting to be rejected:
A
429 adds Retry-After (also in seconds) and, for backwards compatibility, the older x-ratelimit-limit, x-ratelimit-remaining, and x-ratelimit-reset headers — note that x-ratelimit-reset is a Unix timestamp in seconds, while RateLimit-Reset is a delta.
Treat Retry-After as authoritative on a 429: wait that many seconds, then retry with backoff and jitter.