Rate Limits

Request limits and quotas

Request limits are applied to ensure fair use of the API. Limits are counted per API key. The values below apply to personal keys; for project and partner keys the limit is the key's own setting (the limits field in the GET /v1/balance response). Contact support for higher limits.

Default Limits

Limit Type Value
Per-Minute Requests 60 requests/minute
Daily Requests 10,000 requests/day
Maximum Tokens Model-dependent

Accessing Rate Limit Info

Rate limit information is not returned in response headers; when a limit is exceeded it is included in the 429 response body:

{
  "success": false,
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Per-minute request limit reached: this API key can send at most 60 requests per minute. Please try again in 42 second(s).",
    "type": "rate_limit_error",
    "param": null,
    "retry_after": 42,
    "limit_type": "minute",
    "limit": 60,
    "current": 61
  }
}

When it is known when the limit reopens, a 429 response carries a Retry-After header with the wait time in seconds (per-minute and daily request limits, the free-model limit, per-model daily/monthly token and request limits). If the wait is longer than 60 seconds the response also sends X-Should-Retry: false: the official SDKs do not retry such a request automatically and raise the error right away. For waits of 60 seconds or less (e.g. the per-minute limit) this header is not sent; the SDK waits for Retry-After and retries by itself.

Current Status

Use GET /v1/usage/rate-limit to track your limit usage without hitting 429. This endpoint itself counts toward the per-minute and per-day counters:

{
  "success": true,
  "data": {
    "minute": { "used": 3, "limit": 60, "remaining": 57, "resets_in": 41 },
    "day": { "used": 120, "limit": 10000, "remaining": 9880, "resets_in": 54000 }
  }
}

Coding assistants: Claude Code, Codex and Cursor send many requests in a short time (in Claude Code, title generation and count_tokens requests count too). Since the limit is counted per key, give each tool its own key. :tr models also have a concurrency limit (see Türkiye models).

Per-Model Token Limits

Separate daily/monthly token and request limits can be defined per model on every API key. For personal keys these limits are set under Dashboard → API Keys → the key's settings button → Per-Model Limits; for partner project and customer keys they are configured from the Usage Analysis modal in the partner portal.

Limit TypeDescription
Daily TokenTotal token usage within 24 hours for a specific model. Reset: every night at 00:00.
Monthly TokenTotal tokens within the month for a specific model. Reset: the 1st of the month at 00:00.
Daily RequestsTotal request count within 24 hours for a specific model.
Model BlockingThe use of a specific model can be blocked entirely.

Model pattern examples:

warning

Priority Order:

Exact match > wildcard > general (*). If a model has a specific limit defined, that is used.

Managing Limits

tips_and_updates

Tips:

  • Apply exponential backoff when you get a 429 error
  • Spread requests over time for batch operations
  • Track your remaining limit with GET /v1/usage/rate-limit
  • If you get the same error for too many models, a per-model limit may be defined — ask your administrator
Want help finding the right model?