5xx Server Errors

HTTP 503 Service Unavailable

The server is currently unable to handle the request due to temporary overloading or maintenance.

When is 503 used?

  • Scheduled maintenance
  • Server overload protection
  • Dependency service down

How to handle a 503 response

The problem is on the server side. Check server and proxy logs, retry idempotent requests with exponential backoff, and alert on sustained 5xx rates.

Check the status code a URL returns from the command line:

curl -s -o /dev/null -w "%{http_code}\n" https://example.com

How to return 503 from your server

Node.js (Express)

res.status(503).json({ message: 'Service Unavailable' });

Python (Flask)

return {"message": "Service Unavailable"}, 503

Go (net/http)

w.WriteHeader(503)

Frequently Asked Questions

What does HTTP 503 mean?

503 Service Unavailable: The server is currently unable to handle the request due to temporary overloading or maintenance.

Is 503 an error?

Yes. 503 is in the 5xx Server Errors class. Server errors: the server failed to fulfil an apparently valid request.