Service Unavailable
Server Error (5xx)The 503 Service Unavailable status code indicates that the server is currently unable to handle the request due to temporary overload or scheduled maintenance. The server may include a Retry-After header to indicate when the service is expected to be available again. Unlike 500, a 503 implies the situation is temporary and the client should retry later.
What is HTTP 503 Service Unavailable?
HTTP 503 Service Unavailable is a server error (5xx) status code. The 503 Service Unavailable status code indicates that the server is currently unable to handle the request due to temporary overload or scheduled maintenance. The server may include a Retry-After header to indicate when the service is expected to be available again. Unlike 500, a 503 implies the situation is temporary and the client should retry later. Common causes include server undergoing maintenance and server overloaded with too many requests. To fix it, wait and retry — the condition is temporary.
Example Response
HTTP/1.1 503 Service Unavailable Retry-After: 300 Content-Type: text/html <h1>We're down for maintenance</h1><p>We'll be back in 5 minutes.</p>
Common Causes
- • Server undergoing maintenance
- • Server overloaded with too many requests
- • Deploying a new version of the application
- • Auto-scaling has not caught up with demand
- • Dependency service is down
How to Fix
- 1. Wait and retry — the condition is temporary
- 2. Check the Retry-After header for the expected recovery time
- 3. Scale up server resources if consistently overloaded
- 4. Use a maintenance page during planned downtime
- 5. Implement circuit breakers for dependency failures
Frequently Asked Questions
What is the difference between 503 and 500?
503 indicates a temporary condition (maintenance, overload) that will resolve. 500 indicates an unexpected error with no implication of when or if it will be fixed. Use 503 for planned or predictable outages.
How does 503 affect SEO?
Search engine crawlers understand 503 as a temporary issue and will retry later without penalizing your rankings. Use 503 with a Retry-After header during maintenance to preserve your SEO. Never use 503 as a permanent state.
Should I use 503 during deployments?
Yes, if your deployment causes a brief downtime. Return 503 with Retry-After so clients and crawlers know to come back. Better yet, use zero-downtime deployment strategies like blue-green or rolling deploys.