← Back to all comparisons

Compare LLM API quotas on a unit-compatible workload

LLM API Rate Limits Compared — RPM, TPM, Concurrency, and Capacity

Rate-limit comparisons are valid only when provider, account, model, region, quota dimension, unit, and window match. Normalize RPM, input and output TPM, combined TPM, daily requests, concurrency, and batch queue limits, then use the smallest admitted volume as the binding cap. Missing or account-specific limits remain Unavailable, never unlimited. Verified 2026-09-02.

Verified 2026-09-02 source

Normalize documented quota dimensions and test fixed workloads without treating missing caps as unlimited. Qualitative demand: a dedicated cross-provider LLM rate-limit comparison was reviewed 2026-09-02; exact US monthly volume is unavailable.

Batch 58 · server-rendered evidence boards · verified 2026-09-02

Intent answer: Rate-limit comparisons are valid only when provider, account, model, region, quota dimension, unit, and window match. Normalize RPM, input and output TPM, combined TPM, daily requests, concurrency, and batch queue limits, then use the smallest admitted volume as the binding cap. Missing or account-specific limits remain Unavailable, never unlimited. Verified 2026-09-02.

Demand evidence: Qualitative demand: a dedicated cross-provider LLM rate-limit comparison was reviewed 2026-09-02; exact US monthly volume is unavailable.

Scope boundary: Normalize documented quota dimensions and test fixed workloads without treating missing caps as unlimited. Exact provider, seller, serving host, account/tier, endpoint, model/snapshot, region, feature, and evidence identity are required; unresolved joins render Unavailable.

Multi-dimensional quota normalizer

Deterministic formula / rule: comparable quota = exact scope + dimension + value/unit/window + burst rule + dated source; missing caps remain Unavailable.

Boundary: Owns cross-provider unit normalization; provider pages own authoritative setup and raw caps.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-rate-limits-m1-r1
RPM
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=RPM; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-rate-limits-m1-r2
input TPM
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=input TPM; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-rate-limits-m1-r3
output TPM
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=output TPM; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-rate-limits-m1-r4
combined TPM
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=combined TPM; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-rate-limits-m1-r5
requests/day
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=requests/day; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed
batch58-rate-limits-m1-r6
concurrency/batch queue
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=concurrency/batch queue; provider/account/model/region; dimension; value; unit; window; shared/model scope; burst rule; source/date; comparable state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 1 rule is reproducible but no production observation is claimed

First-party citation: OpenAI rate limits. Verified 2026-09-02; missing or conflicting joins fail closed.

Fixed-workload admission calculator

Deterministic formula / rule: admitted = min(request cap, input-token cap, output-token cap, concurrency cap, queue cap) after each cap is converted to the same workload unit.

Boundary: Owns capacity for frozen workload shapes, not latency, reliability, price, quality, or arbitrary forecasts.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-rate-limits-m2-r1
60 short chats
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=60 short chats; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-rate-limits-m2-r2
ten 128K analyses
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=ten 128K analyses; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-rate-limits-m2-r3
100 strict extractions
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=100 strict extractions; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-rate-limits-m2-r4
20 streaming responses
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=20 streaming responses; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-rate-limits-m2-r5
ten five-tool loops
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=ten five-tool loops; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed
batch58-rate-limits-m2-r6
one 10,000-request batch
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=one 10,000-request batch; prompt/output/request/concurrency shape; every applicable cap; per-cap volume; binding dimension; deferred volume; formula; unavailable reason; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 2 rule is reproducible but no production observation is claimed

First-party citation: Google Gemini API rate limits. Verified 2026-09-02; missing or conflicting joins fail closed.

Throttle-and-headroom evidence board

Deterministic formula / rule: headroom = documented/observed cap − admitted demand; retry only with authoritative retry-after and bounded backoff.

Boundary: Owns comparison-level throttle evidence; code-level 429 diagnosis belongs to the errors owner.

Frozen scenario / field IDExact identity and evidence fieldsResultState
batch58-rate-limits-m3-r1
clean admission
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=clean admission; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-rate-limits-m3-r2
RPM exhaustion
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=RPM exhaustion; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-rate-limits-m3-r3
input-TPM exhaustion
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=input-TPM exhaustion; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-rate-limits-m3-r4
output-TPM exhaustion
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=output-TPM exhaustion; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-rate-limits-m3-r5
concurrency saturation
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=concurrency saturation; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receiptUNTESTED — module 3 rule is reproducible but no production observation is claimed
batch58-rate-limits-m3-r6
undocumented/account-specific limit
route=/compare/llm-api-rate-limits; owner=rate-limits; provider/seller/host/account/tier/endpoint/model/snapshot/region/feature/request=rate-limits; scenario=undocumented/account-specific limit; status/header evidence when observed; retry-after; safe next action; headroom; provider-cap owner; observed versus documented state; observed versus documented versus assumed inputs are labeled; artifact/schema/tool/job/result hashes and verification date=2026-09-02Unavailable — exact rate-limits evidence join is not closed for “undocumented/account-specific limit”FAIL CLOSED — manual, probe, or source evidence required

First-party citation: Anthropic API rate limits. Verified 2026-09-02; missing or conflicting joins fail closed.

Method and limitations: this board exposes deterministic rules, first-party citations, and dated evidence identities. It does not invent volume, coverage, entitlement, retention, residency, quota, capacity, feature support, quality, price, reliability, or legal conclusions. Run the rate-limits evidence flow →