SlowDown ☁️ AWS

S3 SlowDown: Please reduce your request rate (503)

S3 is throttling requests to a prefix because the request rate is above what it can currently serve.

Seen on: AWS

Meaning

S3 scales per prefix (about 3,500 writes and 5,500 reads per second each) and needs time to scale up. Bursts against one prefix, or many small requests (lists, HEADs) trigger 503 SlowDown. SDKs retry automatically but can exhaust retries.

Common causes

  • Bursty traffic to a single prefix
  • Many tiny objects/requests (per-file uploads, frequent LIST)
  • Retries without backoff amplifying load
  • Lifecycle/versioning delete storms

⚡ Quick fix

  1. Spread keys across prefixes
  2. Use exponential backoff (adaptive retry mode)
  3. Batch work (fewer, larger objects; S3 Batch Operations)

Detailed fix by platform

Python

  1. python
    from botocore.config import Config
    s3 = boto3.client("s3", config=Config(retries={"max_attempts": 10, "mode": "adaptive"}))

How to diagnose

  1. Prefix — Are all keys under one prefix?
  2. Rate — CloudWatch request metrics
  3. Retries — SDK retry mode

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.