Every error generated by the proxy carries an
X-Proxy-Error response header with a stable code like PX1002. If that header is absent, the response came from the target site and we passed it through untouched.Errors you can fix
These mean the request needs to change. Retrying it unchanged returns the same error.Errors worth retrying
These are conditions in the exit network. The same request will often succeed a moment later.Errors about the destination
Errors from the target site
If a response has noX-Proxy-Error header, it came from the site you requested and reached you exactly as they sent it. We never rewrite a target’s status code, headers or body.
This is why matching on the
PX code matters: a 403 from us (PX1003) and a 403 from the target site mean completely different things and need completely different fixes.
Handling errors in code
Onhttp:// URLs, read the header directly:
https:// URLs, catch the proxy error and branch on the status in its message:
curl -v and read the CONNECT response:
Reading the code on HTTPS
When you only have the status, this is what it narrows down to:Connection-level failures
Some failures happen before any HTTP response exists, so they carry no code:Still stuck?
Reach out at team@roundproxies.com or visit the Help Center. Quote thePX code and the time of the request — it tells us exactly which stage failed.