HTTP status code tester.

Build a URL that answers with exactly the status code you choose, as slowly as you like. Point a client, a monitor or a retry policy at it and see how it behaves.

Open URL

Your URL

https://kirkdiamond.com/tools/status/503

About this tool

/tools/status/<code> responds with that status and a one-line body (503 Service Unavailable). Add ?delay=<ms> and the server waits that long first, up to ten seconds. The response carries no caching and is never indexed. Send request above fetches the URL from your browser and shows the status, timing and response headers; Open URL loads it in a new tab so you can see how the browser itself reacts.

What to test with it

ScenarioURL
Retry with backoff on a 5xx/tools/status/503
Rate limit handling/tools/status/429
Client timeout (does it give up at 5 s?)/tools/status/200?delay=8000
Slow success inside the timeout/tools/status/200?delay=2500
Uptime monitor alerting/tools/status/500
Redirect without a Location header/tools/status/302
Auth failure paths/tools/status/401
Empty body handling/tools/status/204

HTTP status code classes

From the command line

curl -i kirkdiamond.com/tools/status/429 shows the status line and headers. Add ?format=json for {"status":429,"text":"Too Many Requests"}. Time a delayed response with curl -o /dev/null -w '%{http_code} %{time_total}s\n' "kirkdiamond.com/tools/status/200?delay=1500". To inspect what a real URL returns, use the HTTP header and redirect checker.