/api_keys/rate_limits API endpoint is the canonical way to fetch your current limits. You can check your exact limits anytime:
View Your Limits
Interactive playground
Rate Limit Logs
See which requests hit limits
Default Limits
Text and Embedding Models
Text and embedding models are grouped into four sizes. Each model card on the Models page displays its size badge. Every embedding model is XS.Some models run on dedicated or third-party infrastructure and carry limits that do not map to these four sizes. Call
GET /api_keys/rate_limits for the authoritative per-model limits on your key.Image and Audio Models
Video and Music Models
Video and music generation are not rate limited. Both are billed per generation against your credit balance, so cost rather than a request ceiling is the practical constraint. Price a job first withPOST /video/quote or POST /audio/quote.
Handling Errors
Failed requests (500, 503, 429) should be retried with exponential backoff. For 429 errors specifically, check thex-ratelimit-reset-requests header for the exact Unix timestamp when you can retry. Most HTTP libraries have built-in retry mechanisms that handle this automatically.
Error Budgets
Two further limits protect the API against clients that retry into a wall. Both are counted per model per API key over a rolling 30 seconds, and both return429:
The second budget counts requests that ask a model for a feature it does not support — for example requesting vision or tool calling from a model without that capability. Exceeding either budget appears in rate limit logs as
FAILED_REQUESTS or UNSUPPORTED_FEATURE_REQUESTS.
Both return a customMessage naming the threshold that tripped:
x-ratelimit-remaining and x-ratelimit-resets instead of the per-window headers below.
Response Headers
Every response includes these headers:
The
/crypto/rpc/{network} endpoint uses its own limits and its own X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, which are set only on 429 responses. See Crypto RPC for details.