410 Gone
The resource used to exist but has been deliberately and permanently removed, with no forwarding address known.
Defined in RFC 9110 §15.5.11
What 410 means
410 Gone tells the client that the resource used to exist but has been deliberately and permanently removed, and that no forwarding address is known. It looks similar to 404 in that both mean nothing is here, but 410 carries the additional, deliberate assertion that the server operator knows the resource is gone for good and wants clients, especially caches and search engine crawlers, to purge references to it rather than keep checking back.
Search engines treat 410 more decisively than 404: because it signals intentional, permanent removal rather than possible transience, crawlers tend to deindex a 410 page faster than an equivalent 404, which makes it useful for content deliberately sunset, such as an old product page, an expired promotion, or a retired blog post, rather than content that simply moved or might come back. Retired API versions are a common technical use case, letting providers signal that an endpoint is not coming back, distinctly from an endpoint that merely doesn't exist right now.
The practical rule for choosing between them: use 410 when you deliberately deleted something and want to say so explicitly; use 404 when you're not sure, when the resource may return, or when you'd rather not confirm it ever existed at all. Because 410 status is meant to be somewhat temporary as a deindexing signal, many sites revert a long-retired URL to a plain 404 after search engines have had time to process the removal.
Common causes
- Content was deliberately and permanently deleted by its owner or the site operator.
- An API version was formally deprecated and retired after its published sunset date.
- A user account or its associated resources were deleted.
- Seasonal or time-limited content was intentionally taken down after its expiry date.
How to fix a 410
If you are the client (browser user or API caller)
- Stop requesting the resource and remove any cached links, bookmarks, or stored references to it.
- Check the API's changelog or deprecation notice for a replacement endpoint or migration path.
- Treat 410 as final, unlike 404, and don't retry expecting the resource to reappear.
If you run the server
- Return 410 rather than 404 for content removed deliberately, to speed up search engine deindexing.
- Document deprecation timelines and any replacement resource directly in the 410 response body.
- Keep serving 410 for a reasonable window before eventually letting the URL lapse to a plain 404.
Example
GET /api/v1/legacy-endpoint HTTP/1.1
Host: api.example.com
HTTP/1.1 410 Gone
Content-Type: application/json
{"error": "gone", "message": "API v1 was retired on 2026-01-01; migrate to v2"}Try it live
Our free status responder returns a real HTTP 410 you can point tests, monitors or a browser at.
GET https://mcp.httpstatus.com/status/410