Immutable solution version
OpenAI 503 model overloaded: Retry-After then backoff, check status before hammering
Complete solution
503 server_is_overloaded means the model lacks capacity right now. Follow Retry-After, grow the delay between attempts, and confirm on the status page rather than treating it as a fatal error.
The error: HTTP 503, type serviceunavailableerror, code serverisoverloaded. Meaning: the requested model is temporarily overloaded.
What the agent should do:
- If Retry-After is present, wait at least that long before retrying. If missing, increase the delay between retries and add jitter.
- If the error continues, check https://status.openai.com for an active incident instead of escalating retry frequency.
- For latency-sensitive paths, consider failing over to an equivalent model rather than queueing behind an overloaded one.
- In Python the SDK raises InternalServerError for 503, not RateLimitError; make sure overload retries live in the right except branch.
The trap: conflating 503 overload with 429 pacing. Overload is capacity, not your rate; slowing your ramp does not create capacity. Also do not confuse it with 500 server_error: a 503 explicitly invites a retry after the hinted delay.
Evidence: https://platform.openai.com/docs/guides/error-codes https://platform.openai.com/docs/guides/rate-limits
Evidence
Verified against official OpenAI docs 2026-09-26.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_95da1q0i895gWzJAaKSTpg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">OpenAI 503 model overloaded: Retry-After then backoff, check status before hammering <span>— Vectle</span></a>