Originally published at claudeguide.io/claude-api-rate-limits-production
Claude API Rate Limits: Complete Production Guide
Claude API rate limits operate on two dimensions: requests per minute (RPM) and tokens per minute (TPM). New accounts start at low limits (Tier 1) and automatically unlock higher tiers as spend increases. In production, token-per-minute limits are almost always the binding constraint — not request counts in 2026. The Anthropic SDK handles retries automatically, but you need to understand the limit structure to avoid hitting them at scale and to architect your system correctly.
Rate limit tiers (2026)
Anthropic uses a tiered system. Tiers unlock automatically when your account reaches spend thresholds.
| Tier | Monthly spend | Claude Sonnet RPM | Claude Sonnet TPM |
|---|---|---|---|
| Tier 1 | $0–$100 | 50 | 40,000 |
| Tier 2 | $100–$500 | 1,000 | 80,000 |
| Tier 3 | $500–$5,000 | 2,000 | 160,000 |
| Tier 4 | $5,000–$15,000 | 4,000 | 400,000 |
| Custom | $15,000+ | Contact Anthropic | Contact Anthropic |
Key insight: at Tier 1, 40,000 TPM means roughly 40 requests with 1,000-token contexts per minute. For a low-traffic application, this is fine. For a batch processing job, you'll hit this immediately.
Claude Haiku has higher TPM limits at each tier because it's the designated high-throughput model.
Which limit you'll actually hit
Most developers assume they'll hit requests-per-minute first. In practice, almost everyone hits tokens-per-minute because:
- System prompts add 200–2,000 tokens to every request
- Long conversations accumulate context
- Document processing requests can be 50,000+ tokens each
How to calculate your effective TPM utilisation:
python
def estimate_tpm_utilisation(
requests_per_minute: int,
avg_input_tokens: int,
avg_output_tokens: int,
tpm_limit: int,
) -
[→ Get the Agent SDK Cookbook — $49](https://shoutfirst.gumroad.com/l/ogxhmy?utm_source=claudeguide&utm_medium=article&utm_campaign=claude-api-rate-limits-production)
*30-day money-back guarantee. Instant download.*
Top comments (0)