HomeTools › Rate limits
Last updated: September 11, 2026

Claude API rate limits explained

Rate limits are the most common reason a working integration suddenly starts failing in production. Here is what each limit actually constrains, and how to build against them.

TLDR

  • Three separate limits apply at once: requests per minute, tokens per minute, and how many requests may be in flight simultaneously.
  • A 429 means one of them was hit — it is not an outage and not a billing problem.
  • Streaming holds a concurrency slot for the whole response, so long generations exhaust concurrency long before they exhaust RPM.
  • The fix is almost always exponential backoff with jitter plus a client-side queue, not raising the limit.

The three limits

LimitWhat it countsTypical symptom when exceeded
RPM — requests per minuteHow many requests you may start in a rolling minute.Bursts fail while steady traffic succeeds.
TPM — tokens per minuteCombined input and output tokens in a rolling minute.A few large-context calls fail where many small ones pass.
ConcurrencyRequests in flight at the same instant.Parallel workers or agents stall; streaming makes it worse.

Why streaming changes the maths

A streamed response occupies its concurrency slot from the first token to the last. A 60-second generation holds that slot for a full minute, so a concurrency of 1 caps you near one long request at a time regardless of how generous RPM looks. Agentic tools like Claude Code, Cline and Aider open several streams at once, which is why they hit concurrency limits first.

Handling 429 correctly

Retry with exponential backoff and jitter — double the wait each attempt and add a small random offset so retrying clients do not resynchronise into another burst. Honour the retry-after header when it is present. Cap total attempts and surface a clear error rather than retrying forever. Queue client-side so you shape your own traffic instead of discovering the ceiling by hitting it.

Limits on this gateway

New accounts start with conservative concurrency and RPM so a single runaway script cannot degrade everyone. Both are raised on request once there is usage history — ask support with a short description of your workload. Flat-rate unlimited plans are governed by fair-use limits rather than per-token billing, and pay-as-you-go credit tops up at 10x face value.

Frequently asked questions

What does a 429 error mean on the Claude API?

It means a rate limit was hit — requests per minute, tokens per minute, or concurrent requests. It is not a billing failure and not an outage. Retry with exponential backoff and honour the retry-after header if one is returned.

Why do I hit limits with Claude Code or Cline but not with a simple script?

Agentic tools fan out several streaming requests at once. Streaming holds a concurrency slot for the entire response, so a handful of parallel long generations exhausts concurrency while your requests-per-minute count still looks low.

How do I increase my rate limits?

Ask support once you have some usage history, with a short description of the workload and the concurrency you need. Limits start conservative to protect shared capacity and are raised routinely for real workloads.

Do rate limits apply to unlimited plans?

Yes, as fair-use limits. Unlimited plans remove per-token billing, not the physical constraints of the upstream capacity, so concurrency and burst limits still apply.

Start at the discounted rate

Same models, same context windows, one drop-in base URL. Pay as you go or take a flat-rate unlimited plan.

Get an API key See unlimited plans

Related tools & pages

ClaudeAPIKey.dev is an independent API gateway and is not affiliated with, endorsed by, or sponsored by Anthropic. “Claude” and “Anthropic” are trademarks of Anthropic. Official Anthropic list prices shown for comparison are taken from Anthropic’s published pricing and may change; our rates are read from our own live catalogue. Estimates are calculated from the token counts you enter and will differ from real usage.