MockFoxAdvertise

HTTP 501 Not Implemented

Updated Free mock REST & WebSocket APIs

HTTP 501 Not Implemented — The server doesn't support the functionality (usually the HTTP method) needed to fulfill the request.

Class
5xx Server Error
Defined in
RFC 9110 §15.6.2
Official
Yes (IANA registry)
Cacheable by default
Yes (heuristically, per RFC 9110)
Safe to retry
Sometimes — idempotent requests only

Try it: get a real 501 response

Our test endpoint answers every request with 501 Not Implemented.

curl -i https://mockfox.dev/api/status/501

Use it in tests, health-check monitors or to see how your client handles a 501. Add ?delay=2000 to slow it down.

What does HTTP 501 mean?

501 Not Implemented means the server doesn't support the functionality required to fulfil the request — most often, it doesn't recognise the request method at all and can't support it for any resource.

It's a server-side status (5xx) because the limitation is in the server, and it's cacheable by default. Compare 405, where the method is known but not allowed for that particular URL.

When is 501 used?

  • A server receives an unknown or custom method (e.g. PURGE, PROPFIND on a non-WebDAV server).
  • An API stub or planned endpoint that isn't built yet.
  • A proxy that doesn't support a feature such as a particular Transfer-Encoding.

Common causes of a 501

  • The client uses a method the server software doesn't implement.
  • The endpoint is a placeholder in a beta API.
  • Unsupported Transfer-Encoding values in a request.

How to fix 501 Not Implemented

If you're visiting the site

  1. There's nothing you can fix; the site doesn't support that action. Try again later or contact the site owner.

If you run the site or API (developers)

  1. Use 405 (with an Allow header) if the method exists on your server but not on that route.
  2. Return 501 for deliberately unimplemented features and document when they'll be available.
  3. If a CDN purge (PURGE method) returns 501, the origin server — not the CDN — received the request.

Returning or handling 501: server examples

Express

app.all("/api/v2/reports", (req, res) =>
  res.status(501).json({ error: "not_implemented", message: "Reports arrive in v2.1" }));

Next.js

// app/api/example/route.ts (Next.js App Router)
export function GET() {
  return Response.json({ error: "not_implemented" }, { status: 501 });
}

nginx

# nginx answers unknown methods itself; e.g. FOO / HTTP/1.1 → 405 for static files,
# while unparseable methods get 400. Let the app decide for proxied routes:
location /api/ { proxy_pass http://app; }

Example 501 response

HTTP/1.1 501 Not Implemented
Content-Type: application/json

{"error":"not_implemented"}

Related status codes

Related tools

Frequently asked questions

What's the difference between 501 and 405?

405: the server knows the method, but this resource doesn't allow it. 501: the server doesn't support the method (or feature) at all.

Is 501 a temporary error?

Not usually — it signals a missing capability. It's cacheable by default, unlike most 5xx codes.

Can I retry a 501?

Retrying the same request won't help unless the server is updated to support it.