Short answers
Azure OpenAI quota is assigned to your subscription per region, per model and per deployment type in tokens per minute (TPM). You split it across deployments, and requests per minute (RPM) follow from TPM at a fixed ratio per model.
Default quotas depend on your quota tier, from Free (Tier 0) to Tier 6. On Tier 1, gpt-6.1-sol gets 250,000 TPM on Global Standard and 100,000 TPM on Data Zone Standard; Enterprise Agreement and MCA-E customers start on higher tiers.
A 429 means a deployment went over its TPM or RPM, measured over windows of 1 or 10 seconds. Microsoft recommends honoring retry-after-ms, backing off with jitter, and spreading requests across multiple deployments or regions.
Standard Compute puts GPT, Claude, Gemini and open models behind one API and fails a throttled or failed request over to another approved provider of the same model, so one subscription's quota or outage doesn't stop your work.
How Azure OpenAI quota works
| Rule | Detail |
|---|---|
| Scope | Per subscription, per region, per model, per deployment type. Quota is not enforced at the tenant level |
| Unit | Tokens per minute. Each deployment takes TPM from the pool; 240,000 TPM of a model in one region can be one deployment or two at 120,000 |
| Requests per minute | Set in proportion to TPM and not configurable on its own. Older chat models get 6 RPM per 1,000 TPM, gpt-5.5 and o3 get 1, and gpt-5.4 gets 10 |
| Quota tiers | Free (Tier 0) and Tiers 1 to 6. Tiers rise automatically with usage and payment history; EA and MCA-E customers are assigned higher tiers |
| Resource limits | 30 Azure OpenAI resources per region per subscription, 32 standard deployments per resource |
| Global Batch | A separate quota in enqueued tokens, for example 200 million for gpt-5.5 on a default subscription |
Published default quotas
| Model and deployment type | Tier 1 | Tier 3 | Tier 6 |
|---|---|---|---|
| gpt-6.1-sol, Global Standard | 250,000 (250) | 2,500,000 (2,500) | 15,000,000 (15,000) |
| gpt-6.1-sol, Data Zone Standard | 100,000 (100) | 1,100,000 (1,100) | 5,000,000 (5,000) |
| gpt-5.5, Global Standard | 1,000,000 (1,000) | 4,000,000 (4,000) | 15,000,000 (15,000) |
| gpt-5.5, Data Zone Standard | 333,000 (333) | 1,333,000 (1,333) | 5,000,000 (5,000) |
| gpt-5.4, Global Standard | 250,000 (2,500) | 2,500,000 (25,000) | 15,000,000 (150,000) |
| gpt-4.1, Global Standard | 1,000,000 (1,000) | 9,000,000 (9,000) | 45,000,000 (45,000) |
| o3, Global Standard | 1,000,000 (1,000) | 4,000,000 (4,000) | 15,000,000 (15,000) |
Claude in Microsoft Foundry quotas
| Subscription type | Claude Opus 5.5 and Sonnet 5.5 | Claude Fable 5 and 5.1 |
|---|---|---|
| Pay-as-you-go | 40 RPM, 40,000 input and 8,000 output tokens per minute | 0 |
| Enterprise Agreement and MCA-E | 10,000 RPM, 10,000,000 input and 2,000,000 output tokens per minute | 4,000 RPM, 4,000,000 input and 800,000 output tokens per minute |
| Free trial | 0 | 0 |
How the limit is enforced
- On standard deployments, TPM counts the actual input and generated tokens. A large
max_tokensdoesn't reserve quota there. - RPM is checked over short windows, typically 1 or 10 seconds. A deployment with 600 RPM is throttled above 10 requests in one second, even if the minute stays under 600.
- Rejected requests count. A burst of failing calls uses up the same limit as successful ones.
- Standard deployments share a capacity pool, and Microsoft may lower your effective limit for a few hours. When
x-ratelimit-limit-tokensis below the TPM you set, that is what is happening. - Above a monthly usage level per model, counted across the tenant (for example 25 billion tokens for gpt-5.5), Microsoft says latency can vary by more than two times.
429 errors and how to handle them
| Response | What it means | What Microsoft recommends |
|---|---|---|
| 429, rate limit is exceeded | The deployment went over its TPM or RPM | Honor retry-after-ms, back off with jitter, cap retries at 5 to 10, ramp traffic up gradually |
| 429 on a provisioned deployment | Utilization is at 100%; Microsoft calls it a traffic-management signal | Retry after retry-after-ms, add spillover to a standard deployment, or add PTUs |
| Temporarily unable to process, high demand | Shared capacity is short, unrelated to your quota | Retry, spread load across deployments or regions, use provisioned throughput for critical work |
from openai import OpenAI
# AZURE_V1_URL is https://<resource>
# .openai.azure.com/openai/v1/
client = OpenAI(
base_url=AZURE_V1_URL,
api_key=AZURE_KEY,
max_retries=5, # default 2
)
chat = client.chat.completions
raw = chat.with_raw_response.create(
model="YOUR-DEPLOYMENT",
messages=messages,
)
h = raw.headers
print(h["x-ratelimit-remaining-tokens"])
reply = raw.parse()How to request more quota
- In the Foundry portal, open Manage, then Quota. The Tokens per minute tab shows what each model and region has and what is in use.
- Move TPM between your own deployments first. Changes apply within about 15 minutes.
- Choose Request quota, or use the quota request form. It covers Azure OpenAI, models sold by Azure and Anthropic's Claude models.
- Show real usage. Microsoft gives priority to customers who actively use their existing quota, and other requests might be denied.
- An approved increase adds quota without changing your tier. Free-tier subscriptions can't request increases.
Provisioned throughput (PTU)
| Topic | Detail |
|---|---|
| What you get | Dedicated capacity, billed whether or not requests are made |
| Minimum size | 15 PTU in steps of 5 on Global and Data Zone Provisioned; 50 in steps of 50 on Regional Provisioned |
| Throughput per PTU | Input tokens per minute per PTU: 1,200 for gpt-5.5, 2,400 for gpt-5.4, 3,000 for gpt-6.1-sol and gpt-4.1 |
| Billing | Hourly per PTU from creation to deletion; Azure Reservations for 1 month or 1 year lower the price |
| Capacity | PTU quota doesn't guarantee capacity, and neither does a reservation: deploy first, then buy the reservation |
| Request cost estimate | Prompt tokens minus cached tokens, plus max_tokens, corrected when the request ends |
| Spillover | Overflow can go to a standard deployment, always or per request with x-ms-spillover-deployment |
Deployment types and where processing happens
| Deployment type | Where prompts are processed | Quota |
|---|---|---|
| Global Standard and Global Provisioned | Any Azure region | Highest defaults |
| Data Zone Standard and Data Zone Provisioned | Inside the US, EU or APAC data zone | Lower than Global |
| Standard and Regional Provisioned | The chosen geography | Per region |
| Global Batch | Any Azure region, 24-hour target, 50% lower price | Enqueued tokens |
Routing across providers
Microsoft's own advice for steady 429s is to spread requests across multiple deployments or regions. Taken one step further, that means more than one provider: when a subscription runs out of quota, the same model or an equally capable one is available elsewhere.
With Standard Compute, your Azure subscription stops being the only path. Claude is served across several clouds, and the same API reaches GPT, Gemini and open models such as GLM, DeepSeek and MiniMax. If a provider goes down, your request fails over to another approved provider of the same model automatically, without leaving your region or provider rules. The router picks the cheapest model that can handle each step and the cheapest provider fast enough to serve it.
For Claude in Europe, set a Europe rule for your company, a team or a single key, and every request, including retries and fallbacks, is served only by approved European inference endpoints. Employees can sign in to Claude Desktop and Claude Code with their Microsoft work account, with access following your Microsoft Entra groups.
from openai import OpenAI
client = OpenAI(
base_url="https://api.stdcmpt.com/v1",
api_key=STANDARD_COMPUTE_KEY,
)
# "standardcompute" routes each step to the
# cheapest model that can do it. To pin Claude:
# model="anthropic/claude-sonnet-5.5"
client.chat.completions.create(
model="standardcompute",
messages=messages,
)For Bedrock quotas, see Amazon Bedrock Claude rate limits. For OpenAI's own API tiers, see OpenAI API rate limits.
Put your team on Standard Compute
Create a company workspace, invite your team and give every person and app its own key.
Frequently asked questions
What are the Azure OpenAI rate limits?
Quota is set per subscription, region, model and deployment type in tokens per minute, with requests per minute derived from it. On Tier 1, gpt-6.1-sol gets 250,000 TPM on Global Standard and 100,000 TPM on Data Zone Standard; Tier 6 reaches 15,000,000 TPM on Global Standard.
Why do I get 429 errors when usage is under my Azure OpenAI quota?
RPM is checked over 1 or 10 second windows, so bursts are throttled even when the minute looks fine. Rejected requests count too, and Microsoft can temporarily lower the effective limit on shared standard capacity; compare x-ratelimit-limit-tokens with the TPM you configured.
How do I increase my Azure OpenAI quota?
Rebalance TPM between your deployments first, then choose Request quota on the Quota page of the Foundry portal or use aka.ms/oai/stuquotarequest. Microsoft prioritizes subscriptions that already use their quota, and Free-tier subscriptions can't request increases.
Is Azure OpenAI quota per region or per subscription?
Today it is per subscription and per region for each model and deployment type. Microsoft is moving to subscription-level quota from May 7, 2026, where Global Standard shares one pool across regions and Data Zone Standard one pool per data zone, starting with some realtime models.
When should we buy provisioned throughput (PTU)?
For steady, latency-sensitive load. PTUs give dedicated capacity billed hourly whether used or not, from 15 PTU on Global and Data Zone deployments, with 1-month or 1-year reservations for a discount. Quota and reservations don't guarantee capacity, so deploy before you reserve.
Can I use Claude in Azure AI Foundry in the EU?
Microsoft lists Claude on Global Standard, or Data Zone Standard in the US only, with no EU Data Zone. For Claude served only by European endpoints, Standard Compute's Europe rule routes Claude to approved European inference endpoints and refuses the request before anything is sent if none qualifies.
How do we avoid Azure OpenAI throttling without a quota increase?
Inside Azure: smooth bursts, cap concurrency, spread load over deployments and regions, and add spillover from PTU to standard. Beyond one subscription: send traffic through a gateway such as Standard Compute, which moves a throttled or failed request to another approved provider of the same model automatically.
Sources (checked 2026-11-07)
- Azure OpenAI in Microsoft Foundry Models quotas and limitslearn.microsoft.com
- Manage Azure OpenAI quotalearn.microsoft.com
- Provisioned throughput for Foundry Modelslearn.microsoft.com
- Determine PTU sizing for a workloadlearn.microsoft.com
- Operate provisioned throughput deploymentslearn.microsoft.com
- Deployment types in Microsoft Foundry Modelslearn.microsoft.com
- Claude models in Microsoft Foundrylearn.microsoft.com
- Claude model quotas and rate limitslearn.microsoft.com
- Azure API Management backendslearn.microsoft.com