rate_limited
HTTP 429 — Rate limit exceeded
What it means
The per-minute burst limit for this key was exceeded (60/min on Free, 300/min on Pro). This is about request PACING, not your monthly quota.
Common causes
- A burst of parallel requests inside one minute window.
- A retry loop without backoff.
How to fix it
Honor the `Retry-After` header (seconds until the window rolls), add exponential backoff, and spread bulk work across minutes. The `ratelimit` response headers show the live window state on every response.
Should you retry?
Yes — after `Retry-After` seconds. The official SDK does this automatically.
The response shape
Every /v1 error is an RFC 9457 application/problem+json document: type links to this page, code is the stable value to branch on (never parse title or detail), and request_id identifies the request to support. Validation failures add an errors array of per-field JSON pointers.
API overview · API reference · All error codes:
missing_credentials— HTTP 401, Missing credentialsinvalid_api_key— HTTP 401, Invalid API keyinvalid_token— HTTP 401, Invalid access tokenunsupported_credential_type— HTTP 403, Credential type not usable on this surfaceinsufficient_scope— HTTP 403, Insufficient scopefeature_not_enabled— HTTP 403, Feature not enabled on this planvalidation_failed— HTTP 400, Request validation failedresource_not_found— HTTP 404, Resource not foundquota_exhausted— HTTP 429, Plan quota exhaustedidempotency_key_reused— HTTP 422, Idempotency-Key reused with a different requestidempotency_in_progress— HTTP 409, A request with this Idempotency-Key is still in progressinternal_error— HTTP 500, Internal server error