

Start by checking where the request fails: your app, proxy login, plan limits or the website you’re trying to reach. These tests help you narrow it down before changing settings at random.
Some apps ignore system proxy settings, and browser extensions can override them. A phone’s Wi-Fi proxy setting applies to that Wi-Fi network, not cellular data.
Use curl to send a test request without your browser or app. On Windows 10 or later, search Start for Command Prompt. On macOS, open Applications → Utilities → Terminal; on Linux, open your terminal app. In PowerShell, use curl.exe instead of curl.
These examples use an HTTP proxy with username/password authentication. Replace the placeholders with your dashboard details. For SOCKS5 or another login method, follow your provider’s setup instructions.
curl -x PROXY_HOST:PORT -U USERNAME:PASSWORD https://api.ipify.org
For an IPv6 exit, use:
curl -x PROXY_HOST:PORT -U USERNAME:PASSWORD https://api6.ipify.org
If you get the proxy’s exit IP back, that request worked. It doesn’t prove every destination will work. Try the failing website next and compare the errors.
Open your provider’s dashboard. Check the plan status, expiry date, remaining bandwidth and concurrency limit: how many connections you can have open at once.
Try the same request through a second exit IP, then without the proxy. If it works directly but fails through several proxy IPs, the website may be rejecting it, or the provider may be unable to reach it. Routing, DNS and provider restrictions can look similar from your side, so save the exact error.

Use the code to choose your next check. Most codes narrow down the cause rather than prove it. Cloudflare’s 1015 and 1020 are error-page codes, not HTTP status codes.
| What you see | Most likely layer | What it may mean |
|---|---|---|
| 407 Proxy Authentication Required | Proxy | A proxy needs valid credentials. It may be your provider’s proxy or another proxy on your network. Check the username, password and IP allowlist. |
| 401 Unauthorized | Target | The website may need its own login, API key or session. If it sent this response, your request probably got through the proxy. |
| 403 Forbidden | Target, sometimes an intermediary | The website, proxy or firewall refused access. Check the error page or response headers to identify the sender. IP reputation, headers, cookies, session data and location rules are possible causes; try a second exit IP. |
| 429 Too Many Requests | Usually the target | A rate limit was reached, but the code doesn’t identify whose. Check your request rate, provider limits and the website’s limits. |
| 500 Internal Server Error | Target or an upstream gateway | The website or an upstream gateway had a server error. Save the timestamp and session ID, if available, and compare with a direct request. |
| Cloudflare 1015 | Target edge | Cloudflare rate limiting, set up by the website. Slowing your request rate may help. |
| Cloudflare 1020 | Target edge | A Cloudflare firewall rule set by the website denied access. Slowing down generally won't fix a rule-based block. Send the site owner the error details and the Ray ID shown on the error page. |
| Cloudflare 520 | Target edge | Cloudflare reached the website's server but got an empty or unexpected response. This is often a problem on the site's side. Try again later, and if it keeps happening, send the site owner the Ray ID. |
| Works in curl, fails in your app | Possibly your app | Compare requests using the same proxy, URL, headers and credentials. Then check the app’s proxy and DNS settings. |
| Dashboard shows active, no traffic recorded | Proxy setup or dashboard | No usage is showing yet. Check that the app is using the proxy, repeat a small test, and allow for dashboard reporting delay. |
Some apps have their own settings instead of using Windows or macOS settings. Check the exit IP from inside the app, then compare its proxy host, protocol and credentials with the working curl request.
DNS turns a website name into an IP address. With SOCKS, that lookup can happen on your computer or at the proxy. In curl and libcurl, the scheme selects which:
socks5:// your machine does the lookup socks5h:// the proxy does the lookup
Those prefixes aren’t universal settings. Firefox has a proxy-DNS option for SOCKS v5; other apps handle it differently. Check your client’s instructions.
This matters if your computer returns an IPv4 address but your proxy only connects over IPv6. Proxy-side DNS may help if the destination also has a reachable IPv6 address. If it doesn’t, you may need an IPv4-capable exit.
Self-managed Rotating Residential Proxies support up to 100 concurrent connections and up to 100 Mbps. Other products vary. Find your limit under Overview or My Proxies → select the proxy → Concurrency (threads).
One page or app can open several connections, while HTTP/2 can send multiple requests over one connection. Your tool’s worker count won’t necessarily match its active connections.
Exceeding the limit may make requests queue, fail or time out. Reduce parallel connections and try again. Faster home internet won’t raise a limit set by the proxy provider.
Send support your proxy host and port, protocol, authentication method, exact error, an example failing request, and whether it fails on another device or network. Remove passwords and other secrets from the example. Proxy-Cheap support is available 24/7 through live chat or [email protected].