Platform
Rate limits & quotas
Per-key RPM/TPM limits and plan-level request quotas.
Two independent layers keep runaway clients in check: per-key rate limits and plan-level request quotas.
Per-key rate limits
Every API key can carry an RPM (requests per minute) and TPM (tokens per minute) limit, set in the console when you create or edit the key. Exceeding either returns 429 rate_limit_exceeded with a Retry-After header.
HTTP/1.1 429 Too Many Requests
Retry-After: 12
Content-Type: application/json
{
"error": {
"message": "Rate limit exceeded for this API key: 60 RPM.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}Rate limits are a safety valve, not billing — they protect budgets from bugs like a retry loop gone wild.
Plan request quotas
Each plan includes a monthly gateway request quota:
| Plan | Included requests / month |
|---|---|
| Starter | 1,000,000 |
| Team | 10,000,000 |
| Enterprise | Unlimited |
When a quota is exhausted, requests fail with 429 monthly_quota_exceeded until the monthly reset or an upgrade. Quota consumption is visible on the console dashboard, and you’ll get email warnings as you approach it.
Provider-side limits
Your providers enforce their own rate limits on your keys. If a provider throttles or errors, TokenRouter surfaces it as 502 upstream_error with the provider’s message attached — see Errors.