What you're trying to learn
A proxy test should answer one question: which product gives me the lowest cost per successful result on my targets? Speed tests against a neutral site don't answer that. Neither do provider claims about pool size. Only your targets, your code and your volume do. Our general how to test proxies before buying guide covers the theory; this is the Rayobyte version.
Step 1: choose targets
Pick five to ten URLs that represent your real workload:
- Your two or three hardest targets.
- Two or three typical ones.
- One that requires location accuracy, if location matters.
Step 2: choose products to compare
Use the free trial to test the products that might work. For most scraping jobs that's rotating datacenter, rotating ISP and Premium Residential. Add the Scraping API free requests for targets that fail. See the free trial.
Step 3: record the right metrics
For each request, log:
- Product, target domain, URL
- HTTP status code
- Block indicator (a CAPTCHA, an "access denied" page, or missing content)
- Response time
- Bytes downloaded
- Exit IP and, for location tests, the reported location
Status 200 isn't enough. Many sites return 200 with a block page, so check the content for something you expect, like a product title.
Step 4: run a small script
import os, time, csv, requests
PROXIES = {
"datacenter": os.environ["RAYOBYTE_DC_PROXY"],
"isp": os.environ["RAYOBYTE_ISP_PROXY"],
"residential": os.environ["RAYOBYTE_RESI_PROXY"],
}
TARGETS = [("https://example.com/product/1", "Add to cart")]
with open("results.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["product", "url", "status", "ok", "secs", "bytes"])
for name, proxy in PROXIES.items():
for url, marker in TARGETS:
for _ in range(50):
t = time.time()
try:
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
ok = r.status_code == 200 and marker in r.text
w.writerow([name, url, r.status_code, ok, round(time.time() - t, 2), len(r.content)])
except requests.RequestException:
w.writerow([name, url, "error", False, round(time.time() - t, 2), 0])Set each environment variable to a proxy URL copied from the dashboard, such as http://user:pass@host:port. Keep concurrency low during tests. For browser-based targets, run the same idea through Puppeteer or Playwright. Our Puppeteer proxies guide covers the full setup.
Residential tip: You can test most of this guide for free: Rayobyte offers a no-card trial on Premium Residential, rotating ISP and rotating datacenter proxies. Move to a paid plan once the pilot works. See our complete Rayobyte guide.
Step 5: calculate cost per success
For each product and target:
Cost per 1,000 successes = (GB used x price per GB) / successes x 1,000
A residential setup at $2 per GB with 95% success can beat datacenter at $0.30 per GB with 10% success, because failed requests still use bandwidth and time.
Step 6: decide per target
Write down the cheapest product that meets your success threshold for each target. That's your routing table. Most teams end up with a mix. See choosing the right Rayobyte product.
Testing static ISP IPs
Static ISP isn't in the self-serve trial, so ask sales for a few test IPs, or buy the 5-IP minimum for a month. Test the real workflow (log in, browse, act) over several days, because account problems often show up late.
Testing location accuracy
Request an IP geolocation endpoint through each targeting setting and compare the reported location with what you asked for. Then check the target itself: does it show local prices, results or language? See Rayobyte geo-targeting and how to check if a proxy works.
Proxy tip: For a second opinion on hard targets, run the same test through Geonode residential proxies, which support sticky sessions up to 24 hours and ASN targeting. We compare the two in Rayobyte vs Geonode.
Re-test regularly
Sites change their defenses. Re-run your test script every month or quarter, and whenever success rates drop, to keep your routing honest.
How it compares
Use the same script on Geonode and Webshare to compare providers fairly. See Rayobyte vs Geonode speed and reliability and Rayobyte vs Webshare speed and reliability.
If you're still shortlisting, compare these options with the wider market in our best proxies guide, and use our cheap proxies guide to estimate a sensible budget.
Budget tip: For jobs where a fixed IP list is enough, Webshare is one of the cheapest options: shared datacenter proxies are sold by the IP, and static residential (ISP) proxies cost well under a dollar per IP per month at the time of writing. More in testing Webshare proxies.
Key takeaways
- Test on your own targets with your own code, and measure cost per successful result.
- Check content, not just status codes, to detect block pages.
- Compare datacenter, ISP and residential side by side during the free trial.
- Build a per-target routing table and re-test regularly.
FAQ
How many requests should a test include?
50 to 200 per product per target is usually enough to see a clear pattern.
Should I test at high concurrency?
Start low. Raise concurrency only after you've chosen products, to check stability at your real load.
What success rate is good enough?
It depends on the cost of failure. For most scraping, 90% or more after retries is a reasonable target.
Editorial note: Proxy providers change their pools, features and prices often, so treat any figures here as typical ranges at the time of writing and confirm current terms with the provider before you buy.