418 I'm a teapot
The server refuses the attempt to brew coffee with a teapot.
Meaning & Description
Common Causes
- April Fools' jokes.
- Developers having fun.
- Sometimes used by anti-bot or WAF rules as a whimsical way to drop a malicious connection.
How to fix a 418 error
- Smile.
- Stop trying to brew coffee with a teapot.
- Check if you accidentally triggered a hidden Easter egg in the API you are consuming.
Browser & SEO Behaviour
Browser Behavior
Browsers do nothing special; they will display the payload if provided.
SEO Impact
No direct SEO impact, though if your main homepage returns a 418, Google will drop it from the index as a client error.
CDN Behavior
CDNs will treat it as an uncacheable 4xx client error by default.
Code Examples
HTTP/1.1 418 I'm a teapot
Content-Type: text/plain
I am short and stout.app.post("/brew-coffee", (req, res) => {
res.status(418).send("I'm a teapot, short and stout.");
});from fastapi import FastAPI, HTTPException
app = FastAPI()
@app.get("/coffee")
async def brew_coffee():
raise HTTPException(status_code=418, detail="I'm a teapot")func handler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusTeapot)
w.Write([]byte("I'm a teapot"))
}[HttpGet("coffee")]
public IActionResult Brew()
{
return StatusCode(418, "I'm a teapot");
}curl -i -X BREW http://api.example.com/teapotRaw HTTP Response Example
HTTP/1.1 418 I'm a teapot
Date: Wed, 21 Oct 2026 07:28:00 GMT
Content-Type: text/plain
I'm a teapot.Real-world Examples
Frequently Asked Questions
Is 418 a real HTTP status code?
Yes and no. It was created as an April Fools' joke in RFC 2324. However, because it became so popular in pop culture, the IANA officially reserved it in 2017 to prevent it from ever being assigned to a real HTTP feature.
Should I use 418 in production APIs?
Generally, no. While it is fun, it violates strict REST semantics for actual error handling. Use it strictly as an Easter egg.
Did You Know?
In 2017, a proposal was made to remove 418 from Node.js and Go because it wasn't a "real" standard. The community launched a massive "Save 418" campaign, leading to the HTTP working group officially reserving the code to protect it.
The RFC for this code is the Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0).
Developer Tips
- If you are building an API that handles beverage brewing devices, 418 is technically the correct status to return if a teapot is asked to brew coffee.
Interview Questions
These are questions you might face in a backend or API design interview that touch on HTTP 418.
What is the HTTP 418 status code?
It is "I'm a teapot." It's an Easter egg originally defined in the 1998 April Fools' Day RFC 2324 for the Hyper Text Coffee Pot Control Protocol.
Common Interview Mistakes
- Assuming it is a trick question and denying that 418 exists.