Skip to content

Cost and FinOpsComparison

AI provider spend limits compared: what actually stops

A stolen provider key never passes through your gateway, so the only limits that apply to it are the provider's own. Six providers, read on the same day: which limits refuse a request, which only send an email, and how long each takes to act.

By INFRO Editorial

Published

10 min read

An amber glass gauge on a dark ground with its needle pushed into a red zone at the top of the scale

In short

OpenAI and Anthropic enforce hard monthly spend limits on the account itself (OpenAI per organization and project, Anthropic per organization and workspace). The Gemini API pauses at a billing-account tier cap and offers an experimental per-project cap in AI Studio with about a ten-minute delay. Google Cloud, Azure and AWS budgets only alert; Google can disable billing through Pub/Sub, AWS can apply deny policies, and Azure and Bedrock quotas limit tokens per minute, not dollars.

Key takeaways

  • Only OpenAI, Anthropic and the Gemini API document limits that refuse requests on spend; Google Cloud, Azure and AWS budgets notify, and their quotas cap tokens per minute, not dollars.
  • Every provider limit acts late: OpenAI says enforcement is not instantaneous, Gemini caps lag about ten minutes, and cloud budgets lag hours.
  • No provider documents a dollar limit per ordinary API key; the smallest hard scope is an OpenAI project, an Anthropic workspace or a Gemini project.
  • A provider limit reached by a thief stops your own traffic in the same scope, so put experiments, agents and production in separate projects or workspaces.
  • Provider limits are the backstop for a stolen key used outside your gateway; gateway budgets cannot see that traffic.

Which AI providers let you set a spending limit that actually stops requests? As of 2026-10-21: OpenAI (hard limits per organization and per project), Anthropic (a tier cap plus your own limits per organization and workspace) and the Gemini API (a billing-account tier cap plus an experimental per-project cap). Google Cloud, Azure and AWS budgets only alert; their quotas limit tokens per minute, not dollars. Every one of these limits acts late, and none is set per ordinary API key.

Those limits matter most in the case nobody plans for. A provider key stolen from a repository, a laptop or a third-party tool is used directly against the provider. It never passes through your gateway, so no gateway budget, allowlist or alert sees it. What stops it is whatever the provider enforces on its own account. This comparison reads each provider's documentation, opened on the same day, for exactly that.

It is the provider-side companion to LLM spend limits compared, which compares gateways. For how to set up the layers that bound a leaked key, see how to cap the damage from a stolen AI key.

The four questions

For each provider, the same four questions:

  1. Does it refuse, or only notify? A notification needs a person awake to act on it. A refusal works at 3 a.m.
  2. At what scope? Organization, project, workspace, billing account, deployment. The smallest hard scope decides how small a blast radius you can engineer.
  3. How late does it act? Every provider counts spend after the fact. The lag is the window in which a stolen key spends freely.
  4. What else stops when it trips? A cap stops everything in its scope, including your own production traffic.

OpenAI

OpenAI separates two things that are easy to confuse. A spend alert sends a notification and API traffic continues. A hard limit makes affected requests return 429: organization_spend_limit_exceeded for the organization limit, project_spend_limit_exceeded for a project limit. Both can apply to the same request. Alerts stay active when a hard limit is added, so you can be warned before the cap1.

Limits reset with the monthly cycle, or traffic resumes after you raise or remove the limit and the change propagates. On timing, OpenAI is direct: "Enforcement is not instantaneous, so recorded spend can slightly exceed the configured amount." The guide documents no per-key spend limit; the smallest hard scope is a project1.

What this means for a stolen key: a project key in a project with its own hard limit can spend up to that limit, plus whatever lands during the enforcement lag. An organization-wide key with no project limit is bounded only by the organization limit.

Anthropic

Anthropic has two layers. Each of the Start, Build and Scale usage tiers carries a monthly spend cap ($500, $1,000 and $200,000 on 2026-10-21; the Custom tier has none). When the organization reaches the tier cap, usage pauses until 00:00 UTC on the first of the next month, and requests return 429 of type rate_limit_error with error_code enforced_spend_limit_reached and no retry-after header, so automatic retries keep failing2.

Below that, you can set your own organization limit (no higher than the tier cap) and a limit per workspace. When usage reaches a limit you set, requests return 400 invalid_request_error, with a message naming the organization or workspace limit and when access resumes2. Workspace spend limits are set from the Workspaces page, with alerts at thresholds you choose; they cannot be set on the Default Workspace, and organization limits apply even if workspace limits add up to more3.

Two details shape blast radius. Keys can be scoped to a single workspace, so a workspace limit bounds what a workspace key can spend. And the Claude Code workspace, which Anthropic creates when members sign in to Claude Code, is the only workspace that supports per-user monthly spend limits3. Anthropic's pages do not state how quickly a spend limit takes effect.

Google Gemini API

The Gemini API (AI Studio keys on generativelanguage.googleapis.com) enforces a monthly cap per billing account, set by usage tier: $250 at Tier 1, $2,000 at Tier 2, and $20,000 to $100,000 or more at Tier 3 on 2026-10-21. Spend is aggregated across every linked project with the Gemini API enabled, and when the account reaches its tier cap, "service is paused for all projects linked to that billing account until the start of the next billing cycle"4.

Since March 2026 you can also set a project spend cap in AI Studio, a monthly dollar limit per project that stays on until you change it5. Google labels the feature experimental and limited in scope, says caps are not available for invoiced (offline) accounts, and warns that billing data can take around ten minutes to process, so a project can go over its cap4. Google's announcement puts it plainly: "users are responsible for overages incurred during that period"5.

Google Cloud (Vertex AI and everything else)

Google Cloud budgets are alerts. Google's documentation says an alerts-only budget "doesn't automatically cap Google Cloud or Google Maps Platform usage or spending", that it may take several hours before the first notification, and that there is a delay between using resources and the costs reaching Cloud Billing6.

There are two ways to turn alerts into a stop, both blunt:

  • Disable billing from a budget notification. A budget can publish to Pub/Sub, and a Cloud Run function can call the Cloud Billing API to remove billing from the project. Google warns that this terminates all services in the project, that "resources might be irretrievably deleted", that recovery is not guaranteed, and that the setup "doesn't guarantee that you won't spend more than your budget"7.
  • Lower API quotas. You can cap requests per day or per minute on a billable API from its Quotas tab. Google notes that these caps "regulate individual API volumes rather than overall spending", that enforcement has a latency after a threshold is passed, and that short spikes are permitted8.

Azure OpenAI

Azure budgets notify. Microsoft's tutorial says: "Resources aren't affected, and your consumption isn't stopped." Cost data is typically available within 8 to 24 hours, budgets are evaluated against it every 24 hours, and emails normally go out within an hour of an evaluation. At subscription and resource-group scope a budget can call an action group, which can run automation9.

The control in the request path is quota: tokens per minute assigned to each deployment, up to a limit per subscription, region and model. Over it, requests get 429 until the minute's counter resets10. That bounds the rate a stolen key can spend at, not the total; a deployment allowed a high rate can still spend for hours before a budget email arrives.

Amazon Bedrock

AWS Budgets notify on actual or forecast cost. Budget information is updated up to three times a day, typically 8 to 12 hours apart, and AWS warns that you may incur costs beyond the threshold before you are notified11. A budget action can run automatically or after approval when a threshold is crossed: apply an IAM policy or a service control policy, or target specific EC2 or RDS instances12. A deny policy on the identity a key belongs to is the nearest AWS equivalent of a stop, and it fires on the same delayed data.

In the request path, Bedrock enforces service quotas per model and Region: tokens per minute (input and output combined), a cross-model maximum of tokens per day per account and Region, and requests per minute for some models13. Like Azure's, these bound rate, not dollars.

Side by side

ProviderControlSmallest scopeRefuses or alertsDocumented lag
OpenAIHard limitProjectRefuses: 429 project_spend_limit_exceeded"Not instantaneous"
OpenAISpend alertOrganization, projectAlerts onlyNot documented
AnthropicTier capOrganizationRefuses: 429 enforced_spend_limit_reachedNot documented
AnthropicYour spend limitWorkspace (not Default)Refuses: 400 invalid_request_errorNot documented
Gemini APITier capBilling accountPauses every linked projectAbout 10 minutes
Gemini APIProject spend cap (experimental)ProjectStops the projectAbout 10 minutes
Google CloudBudgetBilling account, project, filtersAlerts; optional billing disable via Pub/SubHours
Google CloudAPI quotaProject, per APIRefuses over the rate"A latency period"
AzureBudgetManagement group to resource groupAlerts; action groups8–24 h data, evaluated every 24 h
Azure OpenAIQuota (TPM/RPM)DeploymentRefuses over the rate: 429Per minute
AWSBudget and budget actionsAccount, filtersAlerts; IAM or SCP denyUpdated up to 3 times a day
Amazon BedrockService quotasModel and RegionRefuses over the ratePer minute, per day
From each provider's documentation on 2026-10-21. "Not documented" means the cited page is silent, not that there is no lag.

Four things the table does not show

No provider documents a dollar limit per ordinary API key. The smallest hard scope is a project or workspace. To bound one key, give its workload a project or workspace of its own and put the limit there. Anthropic's per-user limits exist only in the Claude Code workspace3.

A limit reached by a thief stops you too. Anthropic pauses the organization until next month at the tier cap2; the Gemini tier cap pauses every project on the billing account4. A stolen key that runs to the cap turns a billing incident into an outage of your own production traffic in the same scope. Separating experiments, agents and production into their own projects or workspaces, each with its own limit, keeps one leak from exhausting the room the others need. Whether a separate billing account is worth it for Gemini production traffic is a judgement for your team; the documentation only says the tier cap is account-wide.

Lag is exposure. Every provider counts spend after the fact. The shorter the lag and the lower the limit, the smaller the window. A monthly limit set at three times normal spend, with a ten-minute or multi-hour lag, still leaves room for a large bill.

Rate limits are not spend limits, but they help. Azure quotas and Bedrock quotas cannot stop a total, but a deployment or model quota set close to what the workload needs bounds how fast a stolen credential can spend while the budget data catches up1013.

A provider-limit checklist

  • Every provider account has a hard limit where the provider offers one: OpenAI organization and project limits, Anthropic organization and workspace limits, Gemini project caps where your account type allows them.
  • Production, agents, evaluations and experiments live in separate projects or workspaces, each with its own limit.
  • Limits sit above normal monthly spend with headroom, and below the amount that would hurt.
  • Spend alerts fire well before each hard limit, to people who can act.
  • On Google Cloud, Azure and AWS, budgets alert on forecast as well as actual cost, and the stop you would use (billing disable, a deny policy, a quota cut) is written down and rehearsed.
  • Quotas on Azure deployments and Bedrock models sit near what each workload needs, not at the maximum granted.
  • Someone reviews provider usage per key or per project weekly; see how to detect traffic that bypassed your gateway.

Provider limits and INFRO budgets

INFRO is an AI control plane in front of the provider accounts you connect. Its budgets per organization, project, member and key are checked before the provider is called, and a request that does not fit is refused with 402. That acts earlier than the provider limits above, because it does not wait for billing data, though it counts INFRO's estimate of provider cost rather than the provider's bill. But it governs only traffic that goes through INFRO.

A provider key stolen from anywhere, including from a platform like INFRO that holds customers' provider keys, can be used directly against the provider. Every INFRO budget, allowlist and alert is bypassed. For that case the provider's own limits, scoped keys, revocation at the provider and usage monitoring at the provider are the backstop, which is why this page exists. On the Business plan, INFRO's reconciliation reads OpenAI's and Anthropic's own cost reports with a separate admin credential and, with usage access on, can name traffic on your provider keys that did not go through INFRO. Without usage access it reports that check as not done, never as clean.

Set the provider limit above the gateway's organization budget, so the gateway refuses first in normal operation and the provider limit only ever trips on traffic the gateway never saw.

Questions readers ask

Does OpenAI have a hard spend limit?
Yes. OpenAI lets you set a hard limit on the organization and on each project; requests over it return 429 with organization_spend_limit_exceeded or project_spend_limit_exceeded. Spend alerts are separate and do not stop traffic. OpenAI says enforcement is not instantaneous, so recorded spend can slightly exceed the limit.
Can I set a spend limit on a single API key?
Not as a dollar limit at OpenAI, Anthropic or Google, according to their documentation on 2026-10-21. The smallest hard scope is an OpenAI project, an Anthropic workspace (other than the default one) or a Gemini API project. Give each workload its own project or workspace, or put a gateway in front that enforces per-key limits on the traffic it serves.
Do Google Cloud budgets stop Vertex AI or Gemini spend?
No. Google says an alerts-only budget does not cap usage or spending. You can connect a budget to Pub/Sub and a function that disables billing on the project, but that shuts down every service in the project, may delete resources, and Google says it does not guarantee you stay under budget. The Gemini API in AI Studio has its own spend caps.
Do Azure OpenAI quotas limit cost?
Only indirectly. Azure OpenAI quota is a tokens-per-minute and requests-per-minute rate limit per deployment, region and subscription. Azure budgets notify and, in Microsoft's words, do not affect resources or stop consumption.

From the team that builds it

Where this shows up in INFRO

INFRO is a control plane in front of the provider accounts you already hold. The capabilities below are the parts of it this article touches, each with the documentation that defines its behaviour.

  • Budgets and spend ceilings

    Available with a plan

    A hard cap per organization, project, member, and key, with alerts at your own thresholds.

    Read the documentation for Budgets and spend ceilings
  • Spend anomaly and drift alerts

    Available with a plan

    Each scope's usual day is learned from its own history; a day that departs from it, a budget forecast to be exceeded, cost estimates drifting from the provider's own figures, unpriced traffic and failing connections become findings in the console. Routed to email on every plan, and to Slack and signed webhooks from the Startup plan.

    Read the documentation for Spend anomaly and drift alerts
  • Provider cost reconciliation

    Available with a plan

    Daily comparison of estimated spend against the cost reported by OpenAI's and Anthropic's own cost APIs, using a separate admin credential, with the likely cause of a persistent gap and a suggested rate you can apply. Included on the Business plan.

    Read the documentation for Provider cost reconciliation

INFRO accounts are self-serve. Provider usage is billed to you by your providers; INFRO charges a software subscription and takes 0% of model spend. See plans.

Sources

Numbered in order of first citation. Each was opened and checked against the claim on the date shown.

  1. 1.Spend limits (opens in a new tab) — OpenAI. Accessed Oct 21, 2026.
  2. 2.Rate limits (opens in a new tab) — Anthropic. Accessed Oct 21, 2026.
  3. 3.Workspaces (opens in a new tab) — Anthropic. Accessed Oct 21, 2026.
  4. 4.Billing (opens in a new tab) — Google. Accessed Oct 21, 2026.
  5. 5.Giving you more transparency and control over your Gemini API costs (opens in a new tab) — Google. Accessed Oct 21, 2026.
  6. 6.Create, edit, or delete budgets and budget alerts (opens in a new tab) — Google Cloud. Accessed Oct 21, 2026.
  7. 7.Disable billing usage with notifications (opens in a new tab) — Google Cloud. Accessed Oct 21, 2026.
  8. 8.Capping API usage (opens in a new tab) — Google Cloud. Accessed Oct 21, 2026.
  9. 9.Tutorial: Create and manage budgets (opens in a new tab) — Microsoft. Accessed Oct 21, 2026.
  10. 10.Manage Azure OpenAI in Microsoft Foundry Models quota (opens in a new tab) — Microsoft. Accessed Oct 21, 2026.
  11. 11.Managing your costs with AWS Budgets (opens in a new tab) — Amazon Web Services. Accessed Oct 21, 2026.
  12. 12.Configuring budget actions (opens in a new tab) — Amazon Web Services. Accessed Oct 21, 2026.
  13. 13.Quotas for the bedrock-runtime endpoint (opens in a new tab) — Amazon Web Services. Accessed Oct 21, 2026.

About this article

Every statement about a provider comes from that provider's own documentation, opened on 2026-10-21: OpenAI's spend limits guide, Anthropic's rate limits and workspaces pages, Google's Gemini API billing page and its March 2026 announcement, Google Cloud's budget, billing-disable and API-capping pages, Microsoft's budget tutorial and Azure OpenAI quota guide, and AWS's Budgets, budget actions and Bedrock quota pages. Where a page is silent, the table says so. Nothing was load-tested. Written by the team that builds INFRO, an AI control plane whose budgets govern only traffic sent through it; that limit is stated in its own section.

Last checked against its sources on . The next review is due by . No separate named reviewer is recorded for this article.

How articles are written, sourced and corrected is set out in the editorial standards.