Bedrock ThrottlingException: Why It Happens and How to Fix It

1–2 minutes

Updated

Short answer: ThrottlingException means you hit a Bedrock quota for that model in that Region, usually requests per minute or tokens per minute. Retry with backoff, spread load with cross-Region inference, and request a quota increase for sustained traffic.

The error

terminal

botocore.errorfactory.ThrottlingException: An error occurred (ThrottlingException) when calling the InvokeModel operation: Too many requests, please wait before trying again.

Why it happens

CauseHow to tell
Requests per minute quota reachedMany small calls in bursts; errors come in spikes
Tokens per minute quota reachedFew calls with very large prompts or outputs
Several apps share the same account and RegionErrors appear when another workload is busy
No retry logic, so every throttle becomes a failureErrors surface directly to users

Fix 1: retry with backoff

The AWS SDKs can retry throttled calls for you. Adaptive mode also slows down the client when it sees throttling.

client.py

import boto3
from botocore.config import Config

bedrock = boto3.client(
    "bedrock-runtime",
    region_name="us-east-1",
    config=Config(retries={"max_attempts": 10, "mode": "adaptive"}),
)

Fix 2: cross-Region inference

Inference profiles route requests to the model in several Regions of the same geography, which gives you more throughput without code changes beyond the model ID. Check which models support it in your Region.

Fix 3: the right capacity model

  • Quota increase in Service Quotas for sustained on-demand traffic.
  • Batch inference for offline jobs, so they stop competing with user traffic.
  • Provisioned throughput for steady, high and predictable volume.

Retries multiply token usage when the failure is not a throttle. Retry only on throttling and transient errors, and always set maxTokens.

Prevent it

  • Put a queue (SQS) in front of non-interactive calls and control concurrency.
  • Create CloudWatch alarms on the Bedrock throttling metrics for each model you use.
  • Separate production and experiments in different accounts, so tests do not consume production quota.

Joniel Gallo · Cloud & AI Engineer

I build these labs in a real AWS account and publish the code. Need a second opinion on your architecture or your AWS bill? Work with me.

One tested AWS & AI lab a week

Real costs, working code and what changed in Bedrock this month. Subscribe and get the free AWS Permission Debugger (PDF).