Model APIs - 5 entries
OpenRouter rate limits
OpenRouter's official docs, read on October 17, 2026, set rate limits for OpenRouter. For Free model variants (model IDs ending in `:free`), Credits purchased (all time): Less than 10 is listed at 20 Requests per minute and 50 Requests per day, and Credits purchased (all time): At least 10 at 20 Requests per minute and 1000 Requests per day.
Last verified from openrouter.ai. What the docs leave out
- Sources
- 1
- Tables
- 4
- Entries
- 5
- Verified
- Oct 17, 2026
Limits by model, endpoint and plan
Values are copied exactly as the docs show them, units included, in the docs' own order. A dash means the docs list no value for that row.
Free model variants (model IDs ending in `:free`)
2 tiers
| Tier | Requests per minute |
|---|---|
| Credits purchased (all time): Less than 10 | 20 |
| |
| Credits purchased (all time): At least 10 | 20 |
| |
- Credits purchased (all time): Less than 10: Daily counter and ceiling reported in `free_model_daily_requests` (used, limit, remaining) from `GET https://openrouter.ai/api/v1/key`; the per-minute limit is not reported there. Daily window is the UTC day. Exceeding returns `429` with message "Rate limit exceeded" and `error_type: rate_limit_exceeded`; OpenRouter platform 429s carry `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` headers. A negative account credit balance can cause `402` errors even on free models. Creating more accounts or API keys does not affect rate limits (capacity is governed globally).
- Credits purchased (all time): At least 10: "To absorb rounding and top-up fees, the higher daily ceiling is granted starting one credit below the table's threshold (currently 9 credits); an account that has purchased fewer credits than that reports `is_free_tier: false` together with the lower daily ceiling." Accounts and endpoints exempt from free-model limits, and BYOK requests, are not gated by the daily counter.
Paid (non-`:free`) model variants, all accounts
| Metric | Limit |
|---|---|
| Platform-level request cap | none ("the paid variant of the model, which has no platform-level request cap") |
| DDoS protection | Cloudflare's DDoS protection will block requests that dramatically exceed reasonable usage (no numeric value published) |
| Upstream provider limits | Provider-side 429s possible when the serving provider is rate limiting or at capacity; `error.metadata.provider_code` carries the provider's original code |
- Successful inference responses do not include `X-RateLimit-*` headers. Rate limits hit mid-stream arrive as an SSE event with `finish_reason: "error"` and `"error":{"code":429,"message":"Rate limit exceeded"}` rather than an HTTP 429. Retry with exponential backoff and honor `Retry-After` when present.
Paid requests on prepaid accounts below a balance threshold (and, during rollout, newer accounts without established spending history)
Prepaid accounts below threshold
| Metric | Prepaid accounts below threshold |
|---|---|
| In-flight spending budget | a fraction of your current credit balance, up to a fixed ceiling (fraction, ceiling and threshold not published numerically) |
| Per-request estimate | input tokens plus completion tokens allowed by `max_tokens` up to a fixed per-request cap (cap used when `max_tokens` is not set), at the endpoint's token prices |
- Exceeding returns `402` before reaching a provider. `"reason": "in_flight_budget_exhausted"` with `"limit_source": "openrouter_in_flight_budget"` is transient and includes `Retry-After`; `"reason": "weight_exceeds_budget"` with `"limit_source": "openrouter_credits"` means a single request exceeds the whole budget. Does not apply to free models, requests served entirely with BYOK keys using no paid plugins, or enterprise, paid-subscription, or invoice-billed accounts.
Per API key / org member / workspace spend caps
User- or admin-configured
| Metric | User- or admin-configured |
|---|---|
| Per-key credit limit | optional, configured per key (`limit`, `limit_reset`, `limit_remaining`); `402` with `limit_source: openrouter_key_limit` when exhausted |
| Guardrail budgets | admin-set `limit_usd` with `reset_interval` daily | weekly | monthly; `403` with `limit_source: openrouter_guardrail_budget` |
| Workspace budgets | admin-set cap on whole workspace spend per interval (lifetime budget never resets); `403` with `limit_source: openrouter_workspace_budget` |
| Budget windows | UTC: daily resets 00:00 UTC, weekly Monday 00:00 UTC, monthly first of the month 00:00 UTC |
- Enforcement order: guardrail budgets (workspace default, member, key), then workspace budgets, then the key's own limit. `GET /api/v1/key` returns `budgets` and `effective_budget`. No `Retry-After` on 403 budget errors.
How to raise your limits
Free model variants (model IDs ending in `:free`)
"On free variants, purchase at least 10 credits to raise your daily limit, or switch to the paid variant of the model, which has no platform-level request cap." The tier is selected by all-time credits purchased, independently of `is_free_tier`; the higher daily ceiling is granted starting one credit below the threshold (currently 9 credits).
Paid (non-`:free`) model variants, all accounts
For provider-side limits, add fallback models or relax provider routing preferences so more providers are eligible; fallback routing automatically retries other providers for the same model. "We do however have different rate limits for different models, so you can share the load that way."
Paid requests on prepaid accounts below a balance threshold (and, during rollout, newer accounts without established spending history)
"A larger balance raises the budget up to the ceiling, and a balance at or above the threshold is not subject to it at all." Add credits at https://openrouter.ai/settings/credits; or lower `max_tokens`/prompt size.
Per API key / org member / workspace spend caps
Raise the key's credit limit or wait for `limit_reset`; for 403 budget errors, wait for `resets_at` or ask the org admin to raise the guardrail or workspace budget.
What the docs leave out
- OpenRouter publishes no per-model RPM/TPM/RPD values or usage tiers for paid models; it says only that different models have different rate limits and that paid variants have no platform-level request cap.
- No published numeric thresholds for Cloudflare DDoS protection.
- In-flight spending budget fraction, ceiling, balance threshold, and per-request completion-token cap are described but not published numerically.
- Upstream provider rate limits are not published by OpenRouter.
FAQ
What are the OpenRouter rate limits?
OpenRouter's official docs, read on October 17, 2026, set rate limits for OpenRouter. For Free model variants (model IDs ending in `:free`), Credits purchased (all time): Less than 10 is listed at 20 Requests per minute and 50 Requests per day, and Credits purchased (all time): At least 10 at 20 Requests per minute and 1000 Requests per day.
How do I raise my OpenRouter rate limits?
"On free variants, purchase at least 10 credits to raise your daily limit, or switch to the paid variant of the model, which has no platform-level request cap." The tier is selected by all-time credits purchased, independently of `is_free_tier`; the higher daily ceiling is granted starting one credit below the threshold (currently 9 credits). For provider-side limits, add fallback models or relax provider routing preferences so more providers are eligible; fallback routing automatically retries other providers for the same model. "We do however have different rate limits for different models, so you can share the load that way." "A larger balance raises the budget up to the ceiling, and a balance at or above the threshold is not subject to it at all." Add credits at https://openrouter.ai/settings/credits; or lower `max_tokens`/prompt size.
Where do these OpenRouter numbers come from?
Every value is copied verbatim from OpenRouter's official documentation at openrouter.ai, read on October 17, 2026. This page lists all 5 entries in 4 tables, each linked to the page it came from.
Related reading
- Where to Run DeepSeek V4.1 Flash Free and CheapDeepSeek V4.1 Flash replaced V4 Flash. Official API: $0.15 input, $0.60 output off-peak. OpenRouter hosts start near $0.05. MIT weights are on Hugging Face.
- Ox Alpha on OpenCode: The Free Stealth Model, Specs, Privacy Split, and How to Run ItOx Alpha is a free stealth model on OpenCode with 1M context. What is confirmed, where OpenCode and OpenRouter differ on retention, and how to run it.
- GLM-5.3 Free and Cheap: Every Route and Price (October 2026)GLM-5.3 has no free hosted tier. Cheapest on October 9: Wafer via OpenRouter at $0.049/$3.39, Flash from $0.075/$0.25. Z.ai's promos ended October 7.
- Where to Access Kimi K3: Every Provider and Price Compared (2026)Where to access Kimi K3: Moonshot's API at $3 input and $15 output per million tokens, OpenRouter hosts, inference clouds, and open weights.
- Self-Hosted vs Managed AI Gateways: A Decision GuideSelf-host LiteLLM or Kong, or use a managed gateway like Portkey, OpenRouter, or Cloudflare AI Gateway? A factual breakdown of cost, control, and ops tradeoffs.
- Envoy AI Gateway 1.0 Makes LLM Routing an Infrastructure DecisionEnvoy AI Gateway 1.0 moves LLM routing into infrastructure. When an Envoy-based gateway beats direct SDK calls, LiteLLM, OpenRouter, or a hosted AI gateway.
Sources
Last verified . Every value is copied verbatim from the official pages below, read on that date.
Newsletter
Know when limits change
One email per week. New model releases, pricing and limit changes, and what they mean for what you build.