Tech
HTTP Status Code Lookup
Look up any HTTP status code from 100 to 599. See the RFC name, category, full description, spec reference, when to use it, typical causes, and how to fix it. Covers all 30 essential codes plus an Unassigned fallback.
HTTP Status Code Lookup
Type a code or click a related code below to jump to it.
404Not Found
4xx Client ErrorCommonRFC 9110, Section 15.5.5
The server cannot find the requested resource. This either means the resource does not exist, or the server does not wish to reveal that it exists (in which case 403 would be the truthful answer).
When to use
The requested URL maps to no resource. Returned by routing layers when no handler matches the path.
Typical causes
- Mistyped URL
- Resource was deleted
- Route was renamed without a redirect
- Server-side rewrite rules missing or wrong
How to fix
Verify the URL is spelled correctly and the resource still exists. Add a 301 redirect from old paths to new ones, or return 410 Gone if the resource was deliberately removed.
Related codes
Frequently Asked Questions about the HTTP Status Code Lookup
What are the five HTTP status code categories?
HTTP statuses split by the first digit. 1xx Informational signals interim states like Continue or Switching Protocols. 2xx Success means the request worked (200 OK, 201 Created, 204 No Content). 3xx Redirection points the client elsewhere (301, 302, 304, 307, 308). 4xx Client Error blames the request (400 Bad Request, 401 Unauthorized, 404 Not Found, 429 Too Many Requests). 5xx Server Error blames the server (500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout). RFC 9110 is the current canonical reference for the core set.
What is the difference between 200 OK and 204 No Content?
Both mean success, but they differ on the body. 200 OK returns a response body that describes the result, typical for GET requests and most API calls. 204 No Content says the request succeeded and there is deliberately nothing to send back. A 204 response must not include a body. Use 204 for successful DELETEs, idempotent PUT updates where the client already has the new state, and tracking pixels or analytics endpoints. As a bonus, browsers will not navigate away on a 204, which is occasionally useful for fire-and-forget form posts.
When should I use 301 vs 302 vs 307 vs 308?
301 Moved Permanently and 308 Permanent Redirect both mean the move is permanent and search engines should update their index. 302 Found and 307 Temporary Redirect mean the move is temporary and the original URL should be kept. The other axis is method preservation: 301 and 302 were historically allowed to rewrite POST to GET (most clients do), while 307 and 308 must preserve the original method. Use 308 for permanent moves of POST endpoints (webhooks, API versions). Use 307 for temporary redirects of non-GET requests. Use 301 for canonical URL changes and SEO-safe permanent redirects of GET. Use 302 only when you specifically want the legacy POST-to-GET rewrite.
Is 418 I'm a Teapot a real HTTP status code?
Yes, in a manner of speaking. RFC 2324 defined the Hyper Text Coffee Pot Control Protocol as an April Fools' joke in 1998, and RFC 7168 extended it for teapots in 2014. It is a formally registered code but it is not part of mainstream HTTP. In practice, some sites and frameworks return 418 deliberately as a non-standard signal to misbehaving bots or scrapers, since real clients should never see it. If your application is hitting 418 from an API, it almost always means the server is rejecting your client on a bot heuristic, not that you actually asked for coffee from a teapot.
What does 429 Too Many Requests mean and how do I handle it?
429 means the client has sent too many requests in a given amount of time and the server is rate-limiting you. RFC 6585 defines it, and virtually every public API uses it. The server should include a Retry-After header telling you when it is safe to try again, either as a number of seconds or as an HTTP date. The correct client behaviour is to read Retry-After, wait that long, then retry. Add exponential backoff with jitter so a fleet of clients does not all hammer the endpoint at the same instant when the window opens. Long term, cache responses, batch requests, or ask the provider for a higher rate limit.