Every major AI provider rate-limits you, but they count, reset, and surface those limits differently — and porting code between them without knowing the differences is how you turn a clean integration into a wall of 429s. This page compares OpenAI, Anthropic Claude, Google Gemini, and DeepSeek side by side, then links the per-provider reference for the exact numbers.
At a glance
| OpenAI | Anthropic | Gemini | DeepSeek | |
|---|---|---|---|---|
| Request axis | RPM | RPM | RPM | Dynamic |
| Token axis | TPM (in+out) | ITPM + OTPM (split) | TPM (in+out) | Dynamic |
| Per-day cap | Low tiers only | No | Yes (RPD) — key gotcha | No |
| Error on limit | 429 rate_limit_exceeded | 429 rate_limit_error (+529 Overloaded) | 429 RESOURCE_EXHAUSTED | Slower responses / 429 under load |
| Headroom headers | x-ratelimit-* | anthropic-ratelimit-* | Dashboard / RetryInfo | None |
| How to raise | Tier up (spend + time) | Tier up (spend) | Enable billing, request quota | Top up balance; off-peak |
The differences that bite
- Token counting splits differ. OpenAI and Gemini meter a single TPM (input + output together). Anthropic meters input (ITPM) and output (OTPM) separately, so a generation-heavy workload can hit OTPM while ITPM looks fine. Code that assumes one token bucket will misbehave on Claude.
- Only Gemini has a hard per-day cap (RPD). It resets at midnight Pacific and is the most common reason Gemini “works in the morning, fails by afternoon.” Backoff won’t clear it.
- Anthropic adds a second error. Beyond your own
429, Claude returns529 Overloadedwhen its capacity is saturated — not your limit. Different handling; see the 529 fix. - DeepSeek doesn’t publish fixed tiers. It throttles dynamically — responses slow under load rather than hitting a published ceiling. You plan for latency, not a number.
- Raising limits differs. OpenAI tiers gate on spend and account age; Anthropic on spend; Gemini’s biggest jump is simply enabling billing; DeepSeek is balance-based.
Minis and Flash have more headroom everywhere
Across all providers, smaller/faster models carry higher limits than flagships. Routing tolerant tasks to a mini/Flash model is the universal quick win for headroom without changing tier.
Picking by limit behavior
- Need a predictable ceiling to size a token bucket? OpenAI, Anthropic, and Gemini publish concrete numbers; DeepSeek doesn’t.
- Long, generation-heavy outputs? Watch Anthropic’s separate OTPM.
- All-day batch on a budget tier? Gemini’s RPD will catch you — enable billing or use Batch mode.
- Tolerant of variable latency for lower cost? DeepSeek’s dynamic model (plus off-peak discounts) fits.
Per-provider references
- OpenAI rate limits — RPM/TPM, the tier table, and
x-ratelimit-*headers. - Anthropic Claude rate limits — ITPM/OTPM split and the 429-vs-529 distinction.
- Google Gemini rate limits — RPM/TPM and the per-day (RPD) cap.
- DeepSeek rate limits — dynamic throttling and how to engineer for latency.
What to do next
- Confirm which axis binds you on your chosen provider (requests, input tokens, output tokens, or a daily cap).
- Size a token bucket just under the published ceiling — or, for DeepSeek, set generous timeouts instead.
- Plan how you’ll raise limits (tier up, enable billing, or top up) before you scale.
- Spread load across providers if one provider’s ceilings keep binding — the mechanics above make failover predictable.
Frequently asked questions
Which AI provider has the most generous rate limits?
It depends on tier and model rather than a single winner. At high paid tiers OpenAI and Anthropic expose very large per-minute ceilings; Gemini scales hard once billing is on but the free tier is tight with a daily cap; DeepSeek doesn't publish fixed limits and instead throttles dynamically. Compare at the tier you'll actually run.
Why does the same code 429 on Claude but not OpenAI?
Anthropic meters input and output tokens separately (ITPM and OTPM), while OpenAI uses a single combined TPM. A generation-heavy workload can exceed Claude's output-token-per-minute limit even though an equivalent OpenAI call stays under its combined TPM.
Which provider has a per-day request limit?
Google Gemini. Its requests-per-day (RPD) cap — most restrictive on the free tier — resets at midnight Pacific and is separate from the per-minute limits. The others don't impose a comparable hard daily cap (OpenAI only on its lowest tiers).
How do I raise rate limits on each provider?
OpenAI: accumulate spend and account age to climb tiers. Anthropic: spend to move up tiers. Gemini: enable billing first (biggest jump), then request quota increases in the Cloud Console. DeepSeek: keep your balance funded and shift heavy work off-peak.
What's the difference between Anthropic's 429 and 529?
A 429 (rate_limit_error) means you exceeded your own per-minute limit — throttle or tier up. A 529 (Overloaded) means Anthropic's servers are globally saturated — not your limit; back off with longer waits and consider failover.