Docs/Platform/Rate limits

Rate limits

Requests per minute, per key. Tokens are not rate limited, credits are the limit there.

POST/v1/chat/completions
200
plan
this minute
0 / 60
requests per key
{ "error": { "message": "Rate limit: 60 requests per minute.", "code": "rate_limited" } }

Defaults by plan

PlanRequests / min
Pay as you go60
Pro120
Max600

Prepaid credits with no plan sit on Pay as you go. Plans are on the pricing page.

Per-key override

A key can carry its own rpm limit, set in Dashboard, API keys. It replaces the plan default for that key, in either direction: use it to cap a risky key below your plan, or to give one worker a bigger share. Requests are counted per key.

What counts

  • Every POST /v1/chat/completions counts as one request, streaming or not, success or failure after auth.
  • The window is a sliding 60 seconds. It is not reset on the minute.
  • Going over returns 429 with code rate_limited, and the message states your limit.
  • The limit is enforced per gateway instance, so treat the number as approximate under heavy parallelism rather than exact.
tokens per minuten/a
There is no token cap. Per-request output is capped by the model max.
/v1/modelspublic
No key, no limit applied.

Handling 429

Back off with jitter and retry. See errors for the policy. For bulk jobs, run a fixed worker pool sized to your limit instead of firing everything and retrying.