Claude API integrations can work reliably with a few test requests and start returning HTTP 429 errors as traffic increases. Request count alone doesn’t always explain why a working application suddenly hits throttling.
Claude enforces three independent limits for each model group: requests per minute (RPM), input tokens per minute (ITPM), and output tokens per minute (OTPM). Quotas depend on an organization’s usage tier and the model group in use.
A rate of 1,000 requests per minute can look generous until a document-processing service starts sending long prompts to Claude. Its input-token limit can be exhausted far sooner, leaving work queued even though the request count is well below the published maximum.
Below, you’ll find the Claude API limits for each model and usage tier, along with the quota checks and 429 troubleshooting details that help you understand what your application can handle.
Claude API Rate Limits by Model and Usage Tier
Start tier
| Model / Rate-Limit Group | RPM | ITPM | OTPM |
|---|---|---|---|
| Claude Fable 5.x1 | 1,000 | 500,000 | 100,000 |
| Claude Mythos 5.x2 | 1,000 | 500,000 | 100,000 |
| Claude Opus 5.5 | 1,000 | 2,000,000 | 400,000 |
| Claude Opus 5 | 1,000 | 2,000,000 | 400,000 |
| Claude Opus 4.x3 | 1,000 | 2,000,000 | 400,000 |
| Claude Sonnet 5.5 | 1,000 | 2,000,000 | 400,000 |
| Claude Sonnet 5 | 1,000 | 2,000,000 | 400,000 |
| Claude Sonnet 4.x4 | 1,000 | 2,000,000 | 400,000 |
| Claude Haiku 5.5 | 1,000 | 2,000,000 | 400,000 |
| Claude Haiku 4.5 | 1,000 | 2,000,000 | 400,000 |
Build tier
| Model / Rate-Limit Group | RPM | ITPM | OTPM |
|---|---|---|---|
| Claude Fable 5.x1 | 2,000 | 1,500,000 | 300,000 |
| Claude Mythos 5.x2 | 2,000 | 1,500,000 | 300,000 |
| Claude Opus 5.5 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Opus 5 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Opus 4.x3 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Sonnet 5.5 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Sonnet 5 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Sonnet 4.x4 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Haiku 5.5 | 5,000 | 5,000,000 | 1,000,000 |
| Claude Haiku 4.5 | 5,000 | 5,000,000 | 1,000,000 |
Scale tier
| Model / Rate-Limit Group | RPM | ITPM | OTPM |
|---|---|---|---|
| Claude Fable 5.x1 | 4,000 | 4,000,000 | 800,000 |
| Claude Mythos 5.x2 | 4,000 | 4,000,000 | 800,000 |
| Claude Opus 5.5 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Opus 5 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Opus 4.x3 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Sonnet 5.5 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Sonnet 5 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Sonnet 4.x4 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Haiku 5.5 | 10,000 | 10,000,000 | 2,000,000 |
| Claude Haiku 4.5 | 10,000 | 10,000,000 | 2,000,000 |
- 1. Fable 5.x: Fable 5.1 and Fable 5 share one combined bucket.
- 2. Mythos 5.x: Mythos 5.1 and Mythos 5 share a combined bucket with the listed Fable numerical limits. Their bucket is separate from Fable traffic. Access requires organization verification through an eligible Anthropic program.
- 3. Opus 4.x: Opus 4.8, 4.7, 4.6, and 4.5 share one combined bucket. Opus 5.5 and Opus 5 each have their own bucket.
- 4. Sonnet 4.x: Sonnet 4.6 and Sonnet 4.5 share one combined bucket. Sonnet 4.5 is deprecated, with retirement scheduled for November 30, 2026. Sonnet 5.5 and Sonnet 5 each have their own bucket.
How Claude API Rate Limits Work
Claude checks RPM, ITPM, and OTPM independently for each request. A large prompt can exhaust the input-token allowance long before the request count reaches the RPM ceiling. Additional API keys do not create more capacity, since all traffic in the organization uses the applicable model-group quotas.
Capacity replenishes continuously through a token bucket. For example, a limit of 60 RPM can be enforced at roughly one request per second, so a sudden burst can receive a 429 even when the average for the minute is lower.
Input usage is estimated when a request begins and updated during processing. Output usage accumulates as Claude generates tokens.
| Metric | What consumes it |
|---|---|
| RPM | API requests sent to the model or shared model group. |
| ITPM | Uncached input and tokens written to the prompt cache. Cache reads are excluded for the models listed here. |
| OTPM | Actual generated output, including thinking tokens. max_tokens does not reserve that amount against OTPM. |
Workspace restrictions and organization limits
An organization can configure lower RPM, ITPM, or OTPM limits for a workspace. Unset workspace values inherit the organization’s quotas, and all workspaces continue to share the overall organization allowance. Workspace-level settings let you allocate part of that capacity to individual projects or environments.
For example, an organization with 2,000,000 ITPM can set staging to 500,000 ITPM. Staging is limited to 500,000, and all requests from staging and production together count toward the organization’s 2,000,000 ITPM.
Which cached tokens count toward ITPM?
Prompt caching reduces ITPM usage when requests reuse a prompt prefix. For the native models, Claude counts new input and cache writes toward ITPM, but excludes cache reads. Total input tokens are input_tokens + cache_creation_input_tokens + cache_read_input_tokens.
Consider a 100,000-token prompt containing 90,000 cached tokens and 10,000 new tokens. Each cached request uses 10,000 ITPM. A 2,000,000 ITPM limit can therefore accommodate 200 of these requests per minute when input tokens are the only constraint. Fully uncached, the same prompt uses 100,000 ITPM per request and exhausts that input allowance after 20 requests.
| Usage field | ITPM accounting |
|---|---|
input_tokens | Counts. Input after the last cache breakpoint. |
cache_creation_input_tokens | Counts. New tokens written to the cache. |
cache_read_input_tokens | Excluded from ITPM for the listed models. Included in total input and billed at the cache-read rate. |
Usage Tiers and Monthly Spend Limits
Anthropic assigns tiers automatically based on an organization’s usage history and account standing. A new organization can begin at Evaluation with lower limits, then advance into the standard tiers as its account history develops.
Claude Max and Team subscriptions include monthly API credits. Max 5x includes $100 and Max 20x includes $200. Team credits are pooled at $20 per Standard seat and $100 per Premium seat, up to $500 per month.
Linking your subscription to a Claude Console organization places it at least on Start. More than $200 in monthly included API credits qualifies the organization for at least Build. These credits pay for API usage, and their amount determines that minimum linked-plan tier.
To request higher limits, open Claude Console -> Rate limits and select Request tier increase. Note that this request option becomes available after you reach at least 50% of the current limits. For a Custom arrangement above Scale, contact Anthropic’s sales or account team.
Monthly spend caps control a different dimension from RPM, ITPM, and OTPM: total API charges during a calendar month. An organization needs sufficient monthly spend allowance and sufficient per-minute throughput for API requests to proceed. The standard caps are:
| Usage tier | Monthly spend cap |
|---|---|
| Start | $500 |
| Build | $1,000 |
| Scale | $200,000 |
| Custom | No standard monthly cap. Arranged with the account team. |
Tier cap versus a limit you set
Reaching the tier’s monthly spend cap pauses API access until 00:00 UTC on the first day of the next month, or until a tier increase raises the cap. The Messages API returns HTTP 429 with rate_limit_error and error.details.error_code set to enforced_spend_limit_reached.
A lower organization or workspace spend limit that you configure normally produces HTTP 400 with invalid_request_error. The error message identifies the spending control and when requests can resume. Review organization limits under Claude Console -> Settings -> Billing, or change the affected workspace’s configured spending limit.
How to Check Your Claude API Rate Limits
Console limits and usage charts
Open Claude Console -> Rate limits to view your organization’s tier and configured per-model-group RPM, ITPM, and OTPM values. Select a workspace to see its limits and inherited organization quotas. The Console -> Usage charts show peak uncached input tokens per minute, output tokens per minute, the current ceilings, and cache-hit rates.
Response headers
Claude returns response headers for the effective request and token limits. Each * below expands to limit, remaining, or reset. For example, anthropic-ratelimit-input-tokens-remaining shows available input capacity. reset timestamps use RFC 3339, and remaining token values are rounded to the nearest thousand. The combined anthropic-ratelimit-tokens-* family reports the most restrictive token constraint in effect.
| Header family | Meaning |
|---|---|
anthropic-ratelimit-requests-* | Request allowance, remaining requests, and full replenishment time. |
anthropic-ratelimit-input-tokens-* | Input-token allowance, remaining input tokens, and full replenishment time. |
anthropic-ratelimit-output-tokens-* | Output-token allowance, remaining output tokens, and full replenishment time. |
anthropic-ratelimit-tokens-* | Most restrictive applicable token limit. Without a workspace token restriction, remaining tokens reflect input plus output. |
anthropic-workspace-id | Workspace ID billed for the request. |
retry-after | Minimum delay in seconds for a retry when the header is present. |
Read-only Rate Limits API
The read-only Rate Limits API retrieves configured organization and workspace quotas and the model IDs belonging to each group. It is part of the Admin API. Authentication requires an Admin API key, an OAuth token with org:admin, or eligible personal or service-account credentials without workspace scope. Use these organization-level credentials to check the quotas shared by different model IDs and applications.
In Claude Console, create an Admin API key and store it in the ANTHROPIC_ADMIN_KEY environment variable. In the organization response, each models array lists model IDs and aliases sharing the group’s quota. The limits array contains limiter types and numerical value fields. If next_page is not null, pass its value as the next request’s page query parameter.
Run this in a Bash-compatible shell:
curl "https://api.anthropic.com/v1/organizations/rate_limits" \
-H "anthropic-version: 2023-06-01" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"To inspect workspace-specific settings, set WORKSPACE_ID to its identifier. The default workspace endpoint returns only explicit overrides. Requesting include_inherited=true also returns inherited limits. Each result identifies the origin in source.type, as organization or workspace:
curl "https://api.anthropic.com/v1/organizations/workspaces/$WORKSPACE_ID/rate_limits?include_inherited=true" \
-H "anthropic-version: 2023-06-01" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"Claude API 429 Errors and Troubleshooting
Inspect the HTTP status, error body, and headers before retrying. Keep the request-id response header or request_id error-body field when investigating a persistent failure.
| Error or signal | Diagnosis and action |
|---|---|
429 rate_limit_error with retry-after | Request, input-token, output-token, or acceleration throttling. Wait the specified seconds, then pace traffic against the exhausted metric. |
429 with enforced_spend_limit_reached | Tier monthly cap. No retry-after. Stop retrying and request a tier increase or wait for the next calendar month. |
400 invalid_request_error naming a specified usage limit | Self-imposed organization or workspace spend limit. Raise or remove it, or wait until the stated resumption time. |
529 overloaded_error | Temporary service overload. Apply bounded exponential backoff with random jitter. |
402 billing_error | Billing or payment problem. Check the account’s billing details. |
Reduce sustained throttling
- Pace starts across the organization. Queue work and limit concurrent requests across workers. More workers can exhaust ITPM or OTPM even when RPM looks low.
- Reduce the exhausted metric. Reuse cached context or shorten new input for ITPM. Request shorter generated answers when OTPM is the bottleneck. Combining small tasks into one Messages request reduces RPM but still consumes tokens.
- Ramp traffic gradually. A sharp increase can trigger acceleration limits in rare cases, even below the published ceilings.
- Use bounded retries. Honor
retry-after. For transient failures, increase delays exponentially and add random jitter to avoid synchronized retries. Set a retry budget and stop on a recognized spend-cap response. - Account for SDK retries. Official SDKs retry transient failures twice by default with exponential backoff and honor
retry-after. The Python SDK exposesmax_retries, includingmax_retries=0to disable retries. Avoid unintentionally multiplying attempts with an outer retry loop. - Use Batch for deferred work. Move requests that do not need immediate responses to the Message Batches API, using its independent request and queue quotas.
- Handle streaming errors. A streaming response can emit an error event after the HTTP 200 connection begins. Check events until the stream finishes.
Batch, Fast Mode, and Other Special Cases
Message Batches API
Batch limits apply across models and are separate from synchronous Messages limits. Endpoint RPM counts HTTP calls, including polling. Each batch accepts at most 100,000 message requests or 256 MB, whichever comes first.
| Tier | Endpoint RPM | Queued requests | Requests / batch |
|---|---|---|---|
| Start | 1,000 | 200,000 | 100,000 |
| Build | 2,000 | 300,000 | 100,000 |
| Scale | 4,000 | 500,000 | 100,000 |
Fast mode
Fast mode uses its own input-token and output-token rate limits for Claude Opus 5.5, Opus 5, and Opus 4.8. Opus 5.5 fast mode is available to Start, Build, and Scale organizations without a beta header or access request. Opus 5 and Opus 4.8 require research-preview access and an anthropic-beta: fast-mode-2026-02-01 request header. Set speed: "fast" on a Messages request to use the dedicated fast-mode pool.
Fast mode is designed for synchronous Messages requests and does not apply to Message Batches or Priority Tier traffic. For Opus 5.5, input costs $8 and output costs $40 per million tokens. For Opus 5 and Opus 4.8, the corresponding prices are $10 and $50 per million tokens.
Check your configured fast-mode token allowances in the Console Rate limits view. Responses expose anthropic-fast-input-tokens-* and anthropic-fast-output-tokens-*, each with limit, remaining, and reset suffixes. Hitting the dedicated pool returns HTTP 429 with retry-after. The response’s usage.speed field reports whether a successful request ran at "fast" or "standard" speed.
Service tiers and long context
Start, Build, and Scale are organization usage tiers. Standard, Batch, and Priority describe how requests are served. New Priority Tier capacity commitments are no longer sold. Existing organizations can use their commitments on eligible models until the contract ends. Priority requests count toward both committed capacity and the regular rate limits.
For organizations with existing Priority commitments, the anthropic-priority-input-tokens-* and anthropic-priority-output-tokens-* header families report each pool’s limit, remaining tokens, and reset time. Priority capacity uses weighted token accounting that includes cache reads, in addition to the organizationâs normal Messages API quotas.
Long-context requests use the organization’s standard rate-limit quotas. The context window defines the maximum size of one request. ITPM measures new input consumed over time. The two values answer different capacity questions when you send large prompts.
FAQs
Does switching between dated model IDs and aliases create a new quota?
No. A dated model ID and its alias ordinarily share the model’s rate-limit group. The Rate Limits API lists every ID and alias in each models array, so you can identify the actual shared pool before distributing traffic across models.
Does streaming avoid the output-token limit?
No. OTPM counts streamed tokens as the model generates them, including thinking tokens. A streaming response delivers output incrementally while consuming the model group’s normal output-token allowance.
Why can a group be missing even with include_inherited=true?
The group can be absent if the workspace cannot access any model in that group or if the organization has no configured limit for it. Compare the organization response with the workspace’s model access settings to identify the cause.
Alternatives & Related Resources
- OpenAI API Rate Limits: RPM, TPM, Tiers, and 429 Errors
- Gemini API Rate Limits: RPM, TPM, RPD & Usage Tiers
- Claude Code Pricing and Usage Limits: Free, Pro, Max, Team, and API
- AI LLM API Pricing: GPT, Gemini, Claude & More
- LLM Context Window Comparison: GPT, Claude, Gemini & More










