Skip to content

OpenAI API errors

OpenAI error 503: The engine is currently overloaded

OpenAI defines this as load on its side: its servers are taking more traffic than they can serve, or your request rate jumped suddenly.

What the error says

HTTP status 503, type engine_overloaded, with the message:

The engine is currently overloaded, please try again later.

Is the OpenAI API down right now?

OpenAI's own status page

OpenAI reports no incident on its status page.

As of the last successful poll, 2026-11-05 14:14 UTC.

OpenAI's status page

Checks passingOur checks of the OpenAI API

As of Nov 5, 2026, 2:30 PM UTC, RealUptime's checks of OpenAI passed in all 10 regions that returned a reading.

Our checks of the OpenAI API pass right now. They send a few small requests, so they cannot see load on the model you call: a 503 can still come from OpenAI while they pass. Compare with OpenAI's own status.

Every region, response time and incident history for OpenAI

What it means

OpenAI documents two 503 messages. "The engine is currently overloaded, please try again later" means its servers are under high traffic. "Slow Down" means a sudden rise in your own request rate is affecting reliability, and asks you to drop back to your earlier rate and ramp up gradually. Both clear by waiting and retrying.

Is it you or them? Usually OpenAI's: it uses this code for failures or load on its own side.

Common causes

  • High traffic on OpenAI's servers, often around a launch or an incident.
  • A sudden jump in your own request rate (the "Slow Down" message).

How to fix it

  1. Retry with exponential backoff and jitter, as in the snippet below.
  2. For "Slow Down", go back to your earlier request rate and ramp up over several minutes.
  3. Check our reading and OpenAI's status below; while an incident is open, queue the work or fall back to another model.

Retry with backoff

A retry loop that waits as long as OpenAI asks, else doubles the wait with random jitter so many clients do not retry in step:

// Retry OpenAI 503 errors with backoff and jitter.
const RETRYABLE = new Set([429, 500, 502, 503, 504, 529]);

async function withRetry(call: () => Promise<Response>, maxAttempts = 5): Promise<Response> {
  for (let attempt = 1; ; attempt++) {
    const response = await call();
    if (!RETRYABLE.has(response.status) || attempt === maxAttempts) return response;
    // Wait as long as the provider asks, else 1s, 2s, 4s... with full jitter.
    const retryAfter = Number(response.headers.get("retry-after"));
    const delayMs = retryAfter > 0 ? retryAfter * 1000 : Math.random() * 1000 * 2 ** (attempt - 1);
    await new Promise((resolve) => setTimeout(resolve, delayMs));
  }
}

See these errors grouped, and know when the API is down

RealUptime Errors takes errors from any Sentry SDK. Tag each failed call with the provider, status and model, and errors from the same code group into one issue with its count and first and last time seen, so a run of 503s shows up as one rising issue instead of a flood:

import * as Sentry from "@sentry/node";

// The DSN from your RealUptime Errors project settings.
Sentry.init({ dsn: process.env.REALUPTIME_ERRORS_DSN });

if (!response.ok) {
  Sentry.captureException(new Error(`OpenAI ${response.status}`), {
    tags: { ai_provider: "openai", ai_status: response.status, ai_model: model },
    fingerprint: ["openai", String(response.status)],
  });
}

RealUptime Monitor can check an API endpoint from several regions every minute and alert you when it fails, and the OpenAI outage page can alert you when OpenAI reports an incident. Both are free to start.

Start Errors free

Related errors

OpenAI's own reference: platform.openai.com/docs/guides/error-codes. How our checks work: methodology.