503 Service Unavailable

The server is temporarily unable to handle the request, typically because it is overloaded or down for maintenance.

Status

HTTP/1.1 503 Service Unavailable

Details

503 says the condition is temporary and expected to clear. It is the correct code for planned maintenance, for shedding load under pressure, and for a service whose dependencies are unavailable. Retry-After tells the client when to come back and, during maintenance, tells search engines not to deindex the page.

It is also the standard response from anti-bot and DDoS protection layers while they evaluate traffic, which is why automated clients meet it during challenge flows.

Note: Send Retry-After during maintenance. Without it, crawlers can treat a long outage as content removal rather than a temporary condition.

Headers

Common causes

How to fix it

As the client

As the server

Examples

Planned maintenance

A request during a maintenance window:

HTTP request

GET / HTTP/1.1
Host: www.example.com

Retry-After tells both clients and crawlers that the condition is temporary:

HTTP response

HTTP/1.1 503 Service Unavailable
Retry-After: 120
Content-Type: text/html; charset=utf-8

Notes for proxy users

A 503 that appears only for automated traffic and clears for a browser is usually a protection layer rather than an outage. Lower concurrency, add delay between requests, and distribute across more addresses before assuming the site is down.

Specifications

See also