If your agent keeps stalling on 429 errors and you are staring at OpenRouter's dashboard wondering why more credits did not help, this post is for you. Rate limits are the loudest recurring complaint among AI builders right now, and the reason they feel unfixable is that most people are attacking them at the wrong layer.
The short version: rate limits are per provider and per model. Buying more of one provider does not raise a ceiling that another company controls. Routing across several providers does.
What a rate limit is
A rate limit is a 429 response that says you exceeded an allowed number of requests or tokens inside a time window. Providers enforce two kinds:
- Requests per minute (RPM): how many calls you can make.
- Tokens per minute (TPM): how many tokens you can push through.
These caps are set by the company serving the model, not by the gateway in front of it. OpenAI, Anthropic, and Google each publish their own tiers. When you route through OpenRouter, you inherit whichever cap applies to the provider path your model uses. That is why the 429 shows up no matter how the gateway is configured.
Free and shared-key model paths hit these walls fastest because you are sharing a pool with every other user on that path. The moment collective traffic spikes, everyone on the shared key gets throttled together.
Why buying more credits does not help
This is the trap. Credits pay for tokens. They do not raise the RPM or TPM ceiling, because that ceiling is a provider policy, not a billing setting on the gateway. You can have a full credit balance and still get a 429 on every request, because the limit you are hitting is the provider's, and it applies to the shared path you happen to be on.
Backing off and retrying against the same provider only delays the next 429. If your workload is bursty, which agent workloads always are, you spend your time queued behind your own retries.
The fix: spread load across providers
The durable answer is to stop depending on a single provider's ceiling. If a request to Provider A returns a 429, send it to a same-class model on Provider B that is not rate limited. Your workload keeps moving because no single cap is your bottleneck anymore.
This is what a fallback policy does. With Requesty, an OpenAI-compatible gateway over 596 models, you define an ordered chain of models across different providers. When a 429 comes back, Requesty routes the request to the next provider in the chain automatically, in under 50ms, with no retry storm on the exhausted path.
from openai import OpenAI
client = OpenAI(
base_url="https://router.requesty.ai/v1",
api_key="your-requesty-key"
)
# A fallback policy spanning three providers.
# A 429 on the first path routes to the next one that is not rate limited.
response = client.chat.completions.create(
model="requesty/your-fallback-policy",
messages=[{"role": "user", "content": "Draft the release notes."}]
)You keep your primary model. You add one or two backups of similar capability on separate providers. A Claude request that hits Anthropic's TPM cap can cut over to GPT-5 on OpenAI or an open-weight model on a third provider, then return to the primary once the window resets.
For the low-level retry and backoff behavior that runs underneath the policy, see rate limiting, retries, and 429s. For the provider-by-provider breakdown of published limits, see rate limits for LLM providers.
Rate limits and outages are the same problem
A 429 (rate limit) and a 5xx (outage) look different in your logs, but the cure is identical: route to a different provider. Once you have a fallback policy in place, both cases resolve the same way, automatically. If your current pain is 5xx errors rather than 429s, the companion guide OpenRouter is down, how to fail over in 2 minutes walks through the outage side.
Set it up once
- Sign up at app.requesty.ai and create an API key.
- Point your OpenAI-compatible client at
https://router.requesty.ai/v1. - Build a fallback policy with two or three same-class models on different providers.
- Reference the policy name as your model.
You get 596 models through one endpoint, and rate limits stop being a wall your users run into. If you want to see how the reliability and pricing compare directly, read Requesty vs OpenRouter.
Frequently asked questions
- Why am I getting rate limited on OpenRouter?
- OpenRouter rate limits are almost always inherited from the upstream provider. Every model on OpenRouter is served by a provider (OpenAI, Anthropic, Google, and others) that enforces its own requests-per-minute and tokens-per-minute caps. When you hit that ceiling you get a 429, regardless of which gateway you route through. Free-tier and shared-key models hit these caps sooner because you share the pool with everyone else on that path.
- Does buying more credits remove OpenRouter rate limits?
- Not the ones that come from the provider. Credits cover the cost of tokens, but the requests-per-minute and tokens-per-minute ceilings are set by the provider serving the model. The only durable fix is spreading load across more than one provider so no single cap is your bottleneck.
- How does multi provider fallback fix rate limits?
- When a request returns a 429, a gateway with fallback policies routes it to the same-class model on a different provider that is not rate limited. Instead of failing or backing off, the request completes elsewhere. Requesty does this automatically in under 50ms once a 429 is seen, so a rate limit stops being an error your users notice.
- What is the difference between a rate limit and an outage?
- A rate limit returns a 429 and means you sent too many requests or tokens in a window. An outage returns a 5xx or times out and means the provider is degraded. Both are single-provider problems, and both are solved the same way: route to a different provider. We cover the outage case in the OpenRouter is down guide.
- FEB '25
LLM API Rate Limits (2026): OpenAI, Anthropic & DeepSeek RPM and TPM by Tier
Requests-per-minute (RPM) and tokens-per-minute (TPM) rate limits for OpenAI, Anthropic, and DeepSeek by usage tier, plus how to pool limits across keys so a 429 never hits your users.
- JUL '25
Rate-Limiting, Retries & 429s: Bullet-Proofing Your AI Pipeline
- JAN '25
Bypass Claude Sonnet Rate limits with Requesty + Cline
- JUL '26
OpenRouter Is Down? How to Fail Over to a Backup Provider in 2 Minutes
When OpenRouter returns 5xx errors or stalls, your app goes down with it. The fix is not a status page refresh, it is multi-provider fallback. Here is why single-gateway outages happen, and a 2-minute config that routes around them automatically.
