The target site, or occasionally the proxy.

400 — Bad Request

The request was malformed and the server refused to parse it. Unlike a 403 or a 429, this is not a judgement about who you are or how often you have asked — the bytes you sent were not a valid HTTP request.

A proxy does not fix this. Nothing about the exit IP changes a malformed request. Fix the request.

Why it happens

A header with an illegal character — often a User-Agent copied with a line break in it.

A URL that was not properly encoded.

A duplicated Host header, which happens when a client adds one on top of the proxy's.

Cookies grown past the server's header size limit over a long session.

How to fix it

  1. Reproduce with curl -v and read the request line as sent, not as intended.
  2. Encode the URL. A raw space or bracket in a query string is the most common cause.
  3. Clear the cookie jar if the session has been running long enough to accumulate.

FAQ

What does 400 mean?›
The request was malformed and the server refused to parse it. Unlike a 403 or a 429, this is not a judgement about who you are or how often you have asked — the bytes you sent were not a valid HTTP request. The target site, or occasionally the proxy.
Why am I getting 400?›
A header with an illegal character — often a User-Agent copied with a line break in it. A URL that was not properly encoded. A duplicated Host header, which happens when a client adds one on top of the proxy's. Cookies grown past the server's header size limit over a long session.
How do I fix 400?›
Reproduce with curl -v and read the request line as sent, not as intended. Encode the URL. A raw space or bracket in a query string is the most common cause. Clear the cookie jar if the session has been running long enough to accumulate.
Will a proxy fix 400?›
Nothing about the exit IP changes a malformed request. Fix the request.

Other errors