Published 2026-10-15

Test a proxy before you buy

This site has no free trial, so the test is the smallest order on the line you want. Five checks with curl, run in this order, tell you whether to buy more of it.

Check 1: the exit address

Take one entry from the proxy list in the dashboard and put its host, port, username and password into the commands below. First note your own address, without the proxy:

curl -sS https://api.ipify.org

Then send the same request through the proxy, written as an HTTP proxy address:

curl -sS --proxy http://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org

The two answers must differ. If they match, the request did not go through the proxy. A 407 in the error means the proxy refused the credentials; if the password holds a character such as @ or a colon, pass it with --proxy-user USERNAME:PASSWORD instead of inside the URL. If your tool cannot send a username and password at all, allowlisting your own IP is the fallback.

If your tool uses SOCKS5, which the datacenter line offers alongside HTTP and HTTPS, change the scheme. The h asks the proxy to resolve host names, so name lookups leave from the same place as the request:

curl -sS --proxy socks5h://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org

Check 2: where the address places you

Ask a geolocation lookup what it makes of the address:

curl -sS --proxy http://USERNAME:PASSWORD@HOST:PORT https://ipinfo.io/json

Read the country, region and city lines against what you ordered. Lookup services build their maps from different sources and disagree with each other, most often about the city, so a neighbouring town is no cause for alarm. A different country is. The org line names the network the address belongs to; on an ISP order you are looking for a consumer internet provider, not a hosting company.

On rotating residential you cannot pick the country, so on that line this check tells you where one request landed, not whether the order was filled as asked.

Check 3: the headers the far end receives

A header echo service prints the request headers it was sent:

curl -sS --proxy http://USERNAME:PASSWORD@HOST:PORT https://httpbin.org/headers

Look for your own address from check 1 anywhere in the output, and for headers such as Via, Forwarded or X-Forwarded-For that announce a proxy. Ignore the trace id the echo service adds for itself. curl sends its own User-Agent, so repeat the request with the headers your real tool sends, including the Accept-Language of the market you are checking, because a site reads those as well as the address:

curl -sS --proxy http://USERNAME:PASSWORD@HOST:PORT -H "Accept-Language: de-DE,de;q=0.9" https://httpbin.org/headers

Check 4: one page from the real target

Now one request to the site you plan to work with. Pick a single page you are allowed to fetch under that site’s terms and the allowed-use policy, and put its address in place of example.com:

curl -sS --proxy http://USERNAME:PASSWORD@HOST:PORT -o /dev/null -w "%{http_code} %{size_download}\n" https://example.com/

The first number is the status code and the second the bytes received. Run it once without the proxy as well. A 200 with a byte count close to the direct run means the site served the same page. A 403, a 429, or a 200 with a much smaller body, which is often a check page, means the site treats this kind of address differently. That is a verdict on the line for this target, not on the order, and the line guide says where to step next.

Keep the byte count. It is the page weight the traffic guide starts from.

Check 5: the same request, twenty times

One good answer can be luck. Send the echo request twenty times, a second apart, and tally what comes back:

for i in $(seq 1 20); do
  curl -sS -m 15 --proxy http://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org && echo || echo failed
  sleep 1
done | sort | uniq -c

On a per-IP order you are looking for one address, twenty times. On rotating residential you are looking for the address to change across the run. Any line reading failed deserves a look before you scale: an echo service has no reason to refuse you, so failures there point at the connection, the credentials or the proxy, not at a target.

Reading the results, and when to buy more

Put the five results side by side and match them to one of these:

  • All five pass: buy more of the same line in the same country. Per-IP prices fall with quantity and with longer terms, so order the rung you will use. On residential, buy the GB you need in one order, because renewals cost the one-GB rate.
  • Checks 1, 2, 3 and 5 pass but check 4 fails: the order works and the target does not accept that kind of address. Move a line up instead of buying more of the same: from datacenter to ISP, or to residential when the country does not matter.
  • Check 1 or check 3 fails: stop and fix the setup before spending more. If it still fails, write to support with the command you ran and what it printed.
  • Check 2 is off by a whole country: ask support before you rely on that address.

Frequently asked questions

Is there a free trial?

No. The test is a small paid order: one IP on the ISP or datacenter line, or one GB of residential, paid from a top-up of at least $5.

Where should the first test order go?

The cheapest one that could work on your target, which is usually a shared datacenter IP. If check 4 fails on it, the line guide covers the next step.

Do these checks work with tools other than curl?

Yes. curl is used here because its output is easy to read. Any HTTP client that takes a proxy URL can send the same five requests; keep the same endpoints so the results compare.

Why use echo services instead of my target for most checks?

An echo service has nothing to protect, so its answers are about the proxy alone. Only check 4 involves your target, and only one page of it.

Start with $5

Minimum top-up is $5. Run your own target through it before you scale.

Create account