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.
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 ID | Exact identity and evidence fields | Result | State |
|---|---|---|---|
batch58-rate-limits-m1-r1RPM | 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 1 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m1-r2input 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 1 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m1-r3output 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 1 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m1-r4combined 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 1 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m1-r5requests/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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 1 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m1-r6concurrency/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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — 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 ID | Exact identity and evidence fields | Result | State |
|---|---|---|---|
batch58-rate-limits-m2-r160 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 2 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m2-r2ten 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 2 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m2-r3100 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 2 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m2-r420 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 2 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m2-r5ten 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 2 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m2-r6one 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — 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 ID | Exact identity and evidence fields | Result | State |
|---|---|---|---|
batch58-rate-limits-m3-r1clean 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 3 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m3-r2RPM 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 3 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m3-r3input-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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 3 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m3-r4output-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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 3 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m3-r5concurrency 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-02 | Unavailable — frozen rate-limits fixture requires an exact source, identity, and result receipt | UNTESTED — module 3 rule is reproducible but no production observation is claimed |
batch58-rate-limits-m3-r6undocumented/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-02 | Unavailable — 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 →
