Mock XML endpoint returning HTTP 404

https://demo-xml-404.supercrontab.com/ answers every request with HTTP 404 Not Found and a small XML body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 404 before it happens in production.

Live demo endpoint

https://demo-xml-404.supercrontab.com/

Any method, any path. Returns 404 Not Found with Content-Type: application/xml. OPTIONS returns 204 with CORS headers.

Call it with curl

curl -i https://demo-xml-404.supercrontab.com/

Call it with fetch

const res = await fetch("https://demo-xml-404.supercrontab.com/");
console.log(res.status); // 404
const body = await res.text();

What HTTP 404 Not Found means

When you see it
The path does not exist or the resource was deleted. Also returned by some APIs to hide private resources.
What a client should do
Check the URL and the id. For webhooks, disable the target after a few 404s in a row.
Retry?
No

Sample response body

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <ok>true</ok>
  <id>42</id>
</response>

Common in SOAP, payment and legacy enterprise APIs. Good for testing XML parsers and namespaces.

Questions

Does this endpoint really return HTTP 404 every time?

Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-xml-404.supercrontab.com/ gets status 404 Not Found with a small XML body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.

Should my client retry a 404?

No. Retrying the same request cannot change the outcome. Check the URL and the id. For webhooks, disable the target after a few 404s in a row.

Can I get a different format, a delay or a custom body?

The same status is available in JSON, Text, CSV, HTML, YAML, RSS, JavaScript. Delays, custom headers, error rates, request logging and your own body need a personal endpoint: sign up and create one at /endpoints in a minute, free.