AWSRunbook 0/4 done
TooManyRequestsException

AWS Error TooManyRequestsException: Lambda Rate Exceeded (throttled)

Warning↻ Retryable · exponential backoffHTTP 429 Too Many RequestsRuntime
TL;DR · 10-second read

Lambda throttled the invoke because the function's reserved concurrency or the account's regional concurrency limit (default 1,000) is used up. Raise reserved concurrency or the quota, and retry with backoff.

Identify: does your log match?

What you see · exact log / response
An error occurred (TooManyRequestsException) when calling the Invoke operation (reached max retries: 2): Rate Exceeded.

{
  "Reason": "ReservedFunctionConcurrentInvocationLimitExceeded",
  "Type": "User",
  "message": "Rate Exceeded."
}
  1. High

    Reserved concurrency set too low

    A function with reserved concurrency 10 throttles the 11th concurrent invoke (Reason ReservedFunctionConcurrentInvocationLimitExceeded).

  2. Medium

    Account concurrency exhausted

    All functions in the region share the account limit. One noisy function can starve others (Reason ConcurrentInvocationLimitExceeded).

  3. Low

    Burst scaling limit

    Each function can add at most 1,000 concurrent executions every 10 seconds; sudden spikes beyond that throttle.

Fix

Inspect and raise concurrency

✕ Broken · CLI
aws lambda invoke --function-name image-resize out.json   # throttled
✓ Fixed · CLI
aws lambda get-function-concurrency --function-name image-resize
aws lambda get-account-settings --query 'AccountLimit.ConcurrentExecutions'
aws lambda put-function-concurrency --function-name image-resize \
  --reserved-concurrent-executions 200

Shows whether a per-function reservation or the account limit is the ceiling. Request a quota increase in Service Quotas if the account limit is too low.

Verify: reproduce it on purpose

Reproduce locally · aws
$ aws lambda put-function-concurrency --function-name my-fn --reserved-concurrent-executions 0 && aws lambda invoke --function-name my-fn /tmp/out.json

Run it against a dev environment to trigger TooManyRequestsException on purpose and test your error handler.

Prevent

  • Put SQS in front of bursty Lambda workloads.
  • Alarm on the Throttles CloudWatch metric.
  • Set SQS event source maximum concurrency below reserved concurrency.

FAQ

What is the default Lambda concurrency limit?

1,000 concurrent executions per Region per account, shared by all functions. New accounts may start lower.

Do async invocations fail on throttle?

No. Lambda retries throttled async events for up to 6 hours, then sends them to a DLQ or on-failure destination if configured.

Why is reserved concurrency 0 throttling everything?

Setting reserved concurrency to 0 disables the function. Use delete-function-concurrency to remove the reservation.

Related errors

Last verified 2026-10-17 · Source: botocore service models (errors per operation) · Official docs ↗ · ~5,400 searches/mo