All HTTP status codes
4xx Client Error
RFC 9110

406 Not Acceptable

The server cannot produce a response matching the client's Accept headers.

What it means

HTTP 406 Not Acceptable means the server cannot generate a response that matches the criteria specified in the request's Accept, Accept-Charset, Accept-Encoding, or Accept-Language headers.

When it's used

Strict content negotiation when the server has no representation that satisfies the client's preferences.

Common causes
  • Client requested Accept: application/xml but server only returns JSON
  • Accept-Language for an unsupported locale
  • Accept-Encoding for unsupported compression
How to fix it
  • Add support for the requested format on the server
  • Loosen Accept header restrictions on the client
  • Implement format fallbacks (e.g., default to JSON if XML unsupported)
Example response
HTTP/1.1 406 Not Acceptable
Content-Type: application/json

{"error":"Only application/json supported"}
SEO impact

Should not occur for HTML pages. Crawlers send Accept: */*.