| Status code | 418 |
|---|---|
| Status text | I'm a teapot |
| Category | 4xx Client Error |
| Response has body | Usually |
| Specification | RFC 2324 |
What does 418 I'm a teapot mean?
The server refuses to brew coffee because it is, permanently, a teapot. An April Fools' joke that became a reserved status code. It belongs to the 4xx Client Error class, which means the request contains bad syntax or cannot be fulfilled. Something about the request needs to change.
When do APIs return 418?
Almost never from a real API. It was defined in 1998 by RFC 2324, the Hyper Text Coffee Pot Control Protocol, and survives as an in-joke. A few services return it on purpose to turn away requests they would rather not explain, such as automated traffic.
How to fix a 418 I'm a teapot
There is nothing standard to fix. If a real service answers 418, treat it as a refusal: check whether your client is being blocked as a bot, and read the response body or the service's documentation for the reason.
Reproduce a 418 response
The fastest way to understand a status code is to trigger one and read the full response. Open the
API tester and send a request to https://httpbin.org/status/418 — you will
see the 418 status along with every response header the server sent. Comparing those headers against
a working request is often what reveals the cause.
When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.
Related 4xx status codes
400 Bad Request
The server could not understand the request because it is malformed.
401 Unauthorized
The request lacks valid authentication credentials. Despite the name, this means unauthenticated.
402 Payment Required
The request cannot be processed until payment is made.
403 Forbidden
The server understood the request and knows who you are, but refuses to authorise it.
404 Not Found
The server cannot find the requested resource.
405 Method Not Allowed
The endpoint exists but does not support the HTTP method you used.
418 I'm a teapot FAQ
Is 418 I'm a teapot a real status code?
It comes from RFC 2324, an April Fools' joke from 1998 describing a coffee pot control protocol. It is not part of HTTP, but the code is reserved so that nothing else can be assigned to it.
Why do some servers actually return 418?
As an in-joke, and sometimes as a deliberate way to reject requests the operator does not want to explain, such as automated traffic. It carries no standard meaning, so treat it as a refusal.
Should my API use 418?
No. Clients and intermediaries have no defined behaviour for it. If you are refusing a request, use the code that says why: 403 for not allowed, 429 for too many requests, 400 for a bad request.
References
- RFC 2324 — The specification that defines this status code.
- MDN: 418 I'm a teapot — MDN's reference page for this status code.