Anthropic APIRunbook 0/4 done
overloaded_error

Anthropic API Error overloaded_error: API temporarily overloaded (529)

Warning↻ Retryable · exponential backoffHTTP 529 OverloadedAI Provider
TL;DR · 10-second read

Anthropic’s API is briefly out of capacity across all users; your request and your limits are fine. Retry with exponential backoff, and fall back to another model if it persists.

Identify: does your log match?

What you see · exact log / response
anthropic.InternalServerError: Error code: 529 - {"type": "error", "error": {"type": "overloaded_error", "message": "Overloaded"}, "request_id": "req_011CUQ5bJ7xVwKp3oRz9TnYd"}
  1. High

    Provider-wide capacity spike

    Demand for a model exceeds available capacity for a few seconds or minutes. It is not tied to your organization’s usage.

  2. Medium

    Retries disabled or too few

    Clients created with maxRetries: 0, or wrapped in a job queue that fails fast, surface a transient 529 as a hard error.

  3. Low

    Synchronous fan-out at peak times

    Batch jobs that fire hundreds of parallel calls during peak hours hit overloads more often than the same work spread out.

Fix

Let the SDK retry with backoff

✕ Broken · TypeScript
const client = new Anthropic({ maxRetries: 0 });
const msg = await client.messages.create(req);
✓ Fixed · TypeScript
const client = new Anthropic({ maxRetries: 5 }); // backoff on 408, 409, 429 and 5xx incl. 529
const msg = await client.messages.create(req);

The official SDKs already retry with exponential backoff (2 retries by default). Raising the count rides out short overloads without custom code.

Verify: reproduce it on purpose

Reproduce locally · mock server
$ node -e 'require("http").createServer((q,s)=>{s.writeHead(529,{"content-type":"application/json"});s.end(JSON.stringify({type:"error",error:{type:"overloaded_error",message:"Overloaded"}}))}).listen(8529)' &
ANTHROPIC_BASE_URL=http://localhost:8529 node your-script.js

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

Prevent

  • Treat 529 like 503: retry, never alert on a single occurrence.
  • Use the Message Batches API for work that does not need an immediate answer.
  • Alert on the 529 rate over 5 minutes, not individual errors.

FAQ

Does a 529 count against my rate limit?

It signals provider capacity, not your quota. Your rate-limit headers tell you how much of your own budget remains.

Is 529 a real HTTP status?

It is not in the HTTP standard. Anthropic uses it to distinguish overload from 500 api_error; SDKs treat it as a retryable server error.

How long do overloads last?

Usually seconds to a few minutes. Exponential backoff with jitter up to about a minute covers most of them.

Related errors

Last verified 2026-10-22 · Source: Anthropic API error reference + SDK docs · Official docs ↗ · ~22,100 searches/mo