Start with the endpoint
Use the subdomain as-is for the default behavior, or add a question mark to begin custom settings.
https://flaky.unreliablewebsite.com/
A deliberately unreliable benchmark site for uptime monitors, synthetic checks, alert pipelines, and anyone who has ever received a 3:07 AM notification that simply said "HTTP bad".
Params are optional query string settings that let you make an unreliable endpoint behave in a specific way.
Use the subdomain as-is for the default behavior, or add a question mark to begin custom settings.
https://flaky.unreliablewebsite.com/
Use name=value pairs. Join multiple settings with &. Your monitor will request the full URL.
?fail=100&status=503
Where supported, add a seed so a random-looking test gives the same result each time.
?codes=200,500,503&seed=demo
Always fail with a 503, which is useful for checking alert timing.
https://flaky.unreliablewebsite.com/?fail=100&status=503
Each endpoint is small, configurable, and intentionally annoying in one specific way.
Picks from a configured set of status codes. Sometimes a teapot, sometimes a disaster.
random-status.unreliablewebsite.comParams: codes=200,500,503, seed=abc, body=1
Fails by percentage, for teams who miss their incident channel being too quiet.
flaky.unreliablewebsite.comParams: fail=25, status=503, seed=abc
Responds eventually, after taking a meaningful pause to consider its choices.
slow.unreliablewebsite.comParams: delay=5, min=1, max=10, status=200
Fails inside predictable windows so incident timing can be compared fairly.
scheduled.unreliablewebsite.comParams: down_for=5, period=60, status=503
Redirects in circles until the monitor admits it is lost.
redirect-loop.unreliablewebsite.comParams: limit=10, status=302
Returns 200 OK with the wrong words, which is technically fine and practically not.
wrong-content.unreliablewebsite.comParams: expected=..., mode=wrong|right
Advertises JSON and then forgets where the brackets go.
bad-json.unreliablewebsite.comParams: mode=bad|good, status=200
GET and HEAD disagree, as many monitoring setups quietly discover.
method-mismatch.unreliablewebsite.comParams: head=500, get=200
Starts friendly, then returns 429 when the visitor gets clingy.
rate-limit.unreliablewebsite.comParams: limit=5, window=60, status=429
Sends odd cache and length hints for header-sensitive monitors.
headers.unreliablewebsite.comParams: cache=stale, length=wrong|omit|normal, status=200