Skip to content

HTTP 451 Unavailable For Legal Reasons

HTTP status code (RFC 7725) indicating the requested content is blocked in the requesting client's jurisdiction. The number is a deliberate reference to Ray Bradbury's *Fahrenheit 451*.

HTTP 451 "Unavailable For Legal Reasons" is the standardized status code (RFC 7725, December 2015) for content blocked by legal demands -- court orders, government censorship, copyright takedowns, jurisdiction-specific licensing restrictions, or regulatory compliance requirements. The code distinguishes "the resource was removed for legal reasons" from generic "not found" (404) or "forbidden" (403).

The number 451 was chosen by Tim Bray (the RFC author) as a reference to Ray Bradbury's 1953 novel Fahrenheit 451, in which firemen burn books -- a reference to the censorship use case the status code documents.

Common scenarios where you'll see HTTP 451:

  • GDPR-restricted content: a US-based site that hasn't done GDPR compliance work returns 451 to EU IP addresses for the entire site, or for specific pages with personal-data forms.
  • Geo-licensed media: streaming services (Netflix, Hulu, BBC iPlayer) return 451 for content licensed only in specific regions.
  • Sanctioned countries: services subject to US OFAC, EU embargo, or similar restrictions return 451 to IPs in sanctioned jurisdictions.
  • Court-ordered takedowns: copyright-infringement DMCA takedowns can return 451 (more commonly, 410 Gone is used).
  • Gambling restrictions: betting / gambling sites return 451 to clients in jurisdictions where the activity is prohibited.

The Response SHOULD include a Link header pointing to the body that issued the demand:

Link: <https://copyright-court.example.com/order/abc123>; rel="blocked-by"

This lets clients (and intermediate proxies) know which legal authority is responsible for the block, enabling appeals or transparency reporting.

Adoption status: HTTP 451 has been formally standardized for almost a decade but remains rarely used in production -- many sites that should return 451 use 403 or 404 instead, either out of habit, to avoid drawing attention to the geo-block, or because legacy infrastructure doesn't support setting the custom code. Cloudflare added native 451 support in 2017; nginx supports it via return 451; in config; Apache supports it as Status: 451 Unavailable For Legal Reasons headers.

The BeaverCheck geo-restriction analyzer treats HTTP 451 as a definitive geo-block signal (no body text confirmation needed) and treats HTTP 403/404 + body matching geo-restriction template phrases ("not available in your country", "geo-blocked") as a "soft" geo-restriction.

Related terms

Further reading

Send Feedback