Site Is Overloaded
Production Risk
Medium — indicates the service is temporarily unavailable due to load. Use retry with backoff.
529 Site Is Overloaded is used by Qualys and Shopify to indicate that the server cannot handle the request because it is currently overloaded. It signals that the client should retry after a backoff period.
- 1The server is receiving more requests than it can process at the current time.
- 2A traffic spike (flash sale, viral content, DDoS) has overwhelmed the server's capacity.
- 3Insufficient server resources for the current load.
A Shopify store launches a flash sale and receives 10× normal traffic, exceeding server capacity.
GET /products/sale-item HTTP/1.1 Host: mystore.myshopify.com # During peak traffic surge
expected output
HTTP/1.1 529 Site Is Overloaded
Fix
Implement exponential backoff and retry
WHEN Programmatically accessing an API that returns 529.
async function fetchWithRetry(url, retries = 3) {
for (let i = 0; i < retries; i++) {
const res = await fetch(url);
if (res.status !== 529) return res;
await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
}
}Why this works
Retries with increasing delays, reducing load on the overloaded server.
✕ Do not immediately retry 529 responses in a tight loop
Tight retry loops make overload worse. Always back off.
Not a standard IETF code. Use 503 Service Unavailable with Retry-After in your own APIs.
Shopify API documentation
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#529 ↗Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev