HTTP Errors

What Is the 503 Status Code? (503 Service Unavailable)

What Is a 503 Error (Service Unavailable)? — conceptual illustration
On this page

HTTP 503 Service Unavailable means the server is temporarily unable to handle the request — usually because it's overloaded, undergoing maintenance, or actively rejecting traffic at the edge. For scrapers, 503 most often appears when a CDN or bot-detection layer decides to drop a request rather than forward it to the origin, or when an upstream is being throttled. The response should include a `Retry-After` header indicating when to come back.

Quick facts

Status code503
Category5xx Server Error
Common causes (general)Server overload, scheduled maintenance, upstream timeouts
Common causes (scraping)Cloudflare "Just a moment" challenge, WAF interstitials, edge throttling
Right responseHonor Retry-After, exponential backoff, escalate if persistent

Why 503s happen

There are two distinct sources. The first is genuine origin trouble: the server is overloaded, restarting, deploying, or hitting a database timeout. These 503s are transient and clear on their own within seconds or minutes. The second — the one scrapers hit constantly — is bot detection. Cloudflare historically returned 503 with its "Checking your browser…" interstitial; modern Cloudflare uses 403 for explicit blocks and reserves 503 for capacity protection, but the legacy pattern still appears. Akamai, AWS WAF, and Imperva all return 503 in various managed-block configurations. The response body usually tells you which one you're dealing with — a vendor-branded page is bot detection; a plain "Service Unavailable" or your own server's error template is real overload.

How scrapers should respond to 503

Treat 503 as retryable, but never blindly. Honor `Retry-After` if present. Use exponential backoff with jitter — 2s, 4s, 8s, 16s — capping at a few minutes. If the body shows a bot-detection interstitial, retrying from the same identity won't help; rotate proxy and refresh fingerprint before the next attempt. If you see 503s in bursts followed by recovery, that's likely real origin overload and your retry strategy will eventually succeed. If 503s are constant from your scraper but not from a browser, you're being blocked, not throttled.

Avoiding 503s in the first place

Spread your request rate. Concurrency limits should be set per-domain, not globally — hitting one site with 50 parallel workers reliably triggers 503s even on robust origins. Reuse TCP/TLS connections (a single HTTP/2 connection can carry many requests; spinning up a new connection per request is both slower and more bot-shaped). Cache aggressively — if you've already scraped a page in the last 24 hours, don't refetch it. And monitor: a sudden spike in 503s from a previously stable target usually means the target rolled out new rate limits or a new bot-detection rule, and your strategy needs to catch up.

Related terms

Concept map

How 503 Status Code (503 Service Unavailable Error) connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · HTTP Errors
Building map…

Frequently asked questions

Is a 503 always temporary?

Semantically, yes — 503 means "come back later." In practice, bot-detection-driven 503s persist until you change something about your scraper's identity, so they're not temporary in the sense the spec implies.

What's the difference between 503 and 502?

502 Bad Gateway means the proxy got a bad response from upstream. 503 means the server itself is refusing to serve right now. Both are 5xx and both are retryable, but 502s often indicate a more serious upstream problem.

Should I treat 503 as success-eventually or as failure?

As eventual success on the first 2–3 retries, as failure after that. Most production scrapers have a max-retry policy of 3–5 with backoff, then mark the URL as failed and move on. Failing fast keeps the queue moving.

Does a 503 count against my scraping API quota?

Depends on the provider. Most credit you back for upstream 503s, charge you for transient ones, and mostly charge you when the 503 was caused by bot-detection. Read the provider's billing docs — this is one of the bigger sources of bill surprises.

Last updated: 2026-05-26