HTTP Errors

What Is the 406 Status Code? (Not Acceptable)

On this page

HTTP 406 Not Acceptable means the server can't return content matching your Accept headers. Content negotiation failed — you asked (via Accept, Accept-Language, or Accept-Encoding) for a format or language the server won't produce. It's also written “HTTP 406” or just “406 error” / “406 status code.”

Quick facts

Status code406
MeaningNot Acceptable
Category4xx Client Error
Common causes (scraping)Missing/empty Accept headers, content-negotiation mismatch, anti-bot header check
Right responseFix the request / retry with backoff; for disguised blocks use a real-browser unblock

What a 406 Not Acceptable means

Content negotiation failed — you asked (via Accept, Accept-Language, or Accept-Encoding) for a format or language the server won't produce. In short, 406 status code is the server can't return content matching your Accept headers.

Why scrapers see 406

This is common with bare HTTP clients that send no Accept header, an empty one, or a combination no real browser would. Some anti-bot setups deliberately return 406 to requests whose Accept-* headers look automated, because real browsers send a very specific, consistent set.

How to fix a 406 error

Send realistic, browser-like Accept, Accept-Language, and Accept-Encoding headers — copy them verbatim from a real browser and keep them consistent with your User-Agent. Stripping compression headers to simplify parsing alone can trigger 406. When 406 is an anti-bot signal, a full real-browser request via Web Unblocker resolves it.

Related terms

Concept map

How 406 Status Code (406 Not Acceptable) connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · HTTP Errors
Building map…

Frequently asked questions

Is 406 a client or server error?

It's a client-side (4xx) error — the server is pointing at something in your request.

Does a 406 mean I'm blocked when scraping?

Not necessarily. 406 points at your request, not a ban — but anti-bot layers sometimes return it instead of a 403, so check the response body and headers.

How do I fix a 406 error?

The server can't return content matching your accept headers is the cause, so the fix targets that. Correct the offending part of the request, then retry.

What's the difference between 406 and 415?

406 is about the response: the server can't produce what your Accept headers asked for. 415 (Unsupported Media Type) is about the request: the server won't accept the Content-Type you sent.

Last updated: 2026-05-28