LLM 429 Rate Limit & Worker Concurrency Calculator

Compute required RPM, Input TPM (ITPM), and Output TPM (OTPM) across 60 live 2026 models, spot quota bottlenecks before launch, and copy full-jitter backoff configs.

Runs locally in your browser — 0 bytes uploaded
Production Quota & Concurrency Sizing Workbench
SAFE (84% peak bucket: ITPM)
Required RPM
240
Required Input TPM
840,000
Required Output TPM
144,000
Max safe worker concurrency
16
Recommended queue depth
48

Quota Utilization & Bottleneck Diagnosis

Requests per Minute (RPM) 240 / 2,000 (12%)
Input Tokens per Minute (ITPM) 840,000 / 1,000,000 (84%)
Output Tokens per Minute (OTPM) 144,000 / 200,000 (72%)
Full-Jitter Exponential Backoff Config
// Full-jitter exponential backoff + Retry-After guard (google/gemini-4-hydrogen)
export async function callWithRateLimitGuard<T>(
  fn: () => Promise<Response>,
  maxRetries = 5,
  baseDelayMs = 500,
  maxDelayMs = 30_000
): Promise<T> {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    const res = await fn();
    if (res.status !== 429 && res.status < 500) {
      return (await res.json()) as T;
    }
    if (attempt === maxRetries) {
      throw new Error(`LLM quota exhausted (HTTP ${res.status}) after ${maxRetries} retries`);
    }
    const retryAfterSec = Number(res.headers.get('retry-after'));
    const ceiling = Math.min(maxDelayMs, baseDelayMs * 2 ** attempt);
    const sleepMs = Number.isFinite(retryAfterSec) && retryAfterSec > 0
      ? retryAfterSec * 1000
      : Math.floor(Math.random() * ceiling);
    await new Promise((r) => setTimeout(r, sleepMs));
  }
  throw new Error('Unreachable');
}

How LLM 429 Rate-Limit Bottlenecks Happen

Enterprise LLM API gateways enforce three simultaneous token-bucket ceilings: RPM (requests per minute), ITPM (input tokens per minute, including RAG chunks), and OTPM (output completion tokens per minute). Breaching any single bucket returns HTTP 429 even when the other two buckets sit below 20% utilization. Pair quota sizing with 30-Day API Spend and verify model deprecation timelines on LLMEOL.

Production Queueing & Retry Guardrails

Frequently Asked Questions

Why do I hit HTTP 429 errors when my request volume is far below my RPM limit?

Long RAG prompts and multi-turn agent histories exhaust Input TPM (ITPM) or Output TPM (OTPM) token buckets long before reaching your Requests per Minute (RPM) ceiling.

Does Prompt Caching increase my Input TPM rate limit?

Prompt Caching lowers input token billing by 90% to 95%, and several providers exclude cached prefix hits from uncached ITPM quotas—model exact cost savings in the LLM Cost Calculator.

Why use full-jitter exponential backoff instead of fixed retry delays?

Fixed retry intervals cause concurrent workers throttled in the same second to retry in lockstep waves; full random jitter spreads retries evenly across the recovery window in TypeScript and Python SDKs.