Residential Proxies

How We Benchmarked 15 Residential Proxy Networks with 15.6 Million Requests

The full method behind the Shifter proxy benchmark series: one machine, identical request volumes, five countries, 15 networks. Results, failures and what the numbers mean.

Chris Collins

Chris Collins

August 13, 2026 · 7 min read

Proxy providers do not publish numbers you can check. We wanted to know how our own network compared to the rest of the market on something measurable, so we built a test, pointed it at fifteen networks including our own, and published everything, including the countries where a competitor beat us.

This is the method, the results, and what the figures do and do not prove. Every provider has its own page with the full country by country breakdown, linked below.

The method, in full

One machine. Every run originated from the same server, so network conditions, DNS and the local stack are constant across providers. Nothing was run from a laptop.

One destination. Every request went to pro.ip-api.com over plain HTTP, which returns the exit IP with its geolocation and ASN. That gives us the four things we care about in one response: whether the request succeeded, which address it exited from, which network owns that address, and where it geolocated.

One transport. Plain HTTP, one fresh connection per request, no keep-alive, no connection reuse. This matters more than it sounds. Some gateways behave better through an HTTPS CONNECT tunnel, and it is tempting to give a struggling provider the transport it prefers. Nobody got that. A benchmark where each provider is handed the setup that flatters it stops being a benchmark.

One concurrency. 1,000 concurrent connections, 10 second timeout, for every network. Providers that could not sustain it are reported as they measured. We did not lower concurrency to make anyone look better.

Fixed volumes per country.

CountryRequests per provider
United States250,000
United Kingdom100,000
France80,000
Canada70,000
Germany60,000

That is 560,000 requests per network. Run against fourteen competitor gateways and through our own gateway alongside each one, it comes to roughly 15.6 million requests.

Rotating sessions. Every request asked for a new exit, using each provider’s own documented rotation. No sticky sessions, no session IDs.

What we counted

Unique exit IPs. The number of distinct addresses that answered. This is a floor on the live pool, not the pool. A provider with 5 million addresses will show a fraction of them in 250,000 requests, and so will everyone else, which is what makes the comparison fair.

Unique ASNs. How many distinct network operators those addresses belonged to. This is the figure most people ignore and the one anti-bot systems care about most.

Unique cities. Distinct geolocated cities, as a proxy for how evenly a pool is distributed inside a country.

Completion rate. The share of requests that returned a usable response inside the timeout.

Median and p95 response time. Round trip through the gateway to the destination.

Results across five countries

Totals, all five countries combined, sorted by measured pool.

NetworkLive IPsNetworks (ASN)MedianPrice/GB
Shifter279,2442,441400 ms$0.75
Webshare306,4102,256924 ms$1.40
Decodo281,1212,284702 ms$2.00
Oxylabs276,6802,283700 ms$2.50
Proxy-Seller265,8351,804507 ms$2.20
Byteful213,9471,804849 ms$1.75
DataImpulse172,8931,526470 ms$1.00
SOAX159,9751,763496 ms$3.00
ProxyEmpire145,1771,831483 ms$0.75
Massive131,6271,678495 ms$4.90
IPRoyal116,8661,350523 ms$1.75
NodeMaven108,6641,4362,744 ms$2.20
Evomi82,8241,0291,176 ms$2.20
Proxy Cheap20,4505512,947 ms$4.99

Two things stand out. The top four are close enough on pool that the differences are inside the range you would expect from running the test on a different day. And price varies by a factor of six across networks whose measured performance varies by far less than that.

The United States on its own

The US run is the largest and the most competitive, and it is where we do not lead.

NetworkUS live IPsUS networks
Webshare150,5121,518
Oxylabs140,8111,591
Proxy-Seller139,9331,227
Infatica139,3341,279
Decodo138,9141,578
Shifter136,6671,606
Byteful117,3301,300
SOAX112,1121,371
ProxyEmpire87,2181,270
DataImpulse86,976967
Massive84,8271,138
IPRoyal70,304914
NodeMaven62,0531,002
Evomi25,320625
Proxy Cheap14,223354

Five networks returned a deeper US pool than we did, four of them by less than 3%. We also drew from more distinct US operators, 1,606, than any of them.

The three gateways that could not finish

Three runs did not complete, and those results are published as they measured rather than re-run on easier settings.

Proxy Cheap completed between 10.3% and 14.4% of requests across the five countries. The 20,450 addresses it returned are a floor produced by a failing run, not a measurement of its pool, and its page says so.

NodeMaven completed 67.7% of the US run with a 2,744 ms median. The addresses that came back were fine. The gateway would not take the concurrency.

ProxyEmpire completed 62.6% in the US and between 56% and 66% elsewhere.

Infatica is a separate case, and the reason it is missing from the combined table above. Its run required a different transport, so its timings measure our connection setup rather than its network and cannot sit in a column next to the rest. Its pool and ASN counts stand, and they are on its own page: 260,977 live IPs across 1,842 networks, which would place it sixth on pool.

What the numbers prove, and what they do not

They prove relative pool depth, network spread and gateway behaviour under identical load on the day of testing. That is a genuinely useful signal, and it is more than anyone in this market usually publishes.

They do not prove total pool size. 250,000 requests cannot enumerate a pool of millions, for us or for anyone else. They do not prove how a network behaves against a hardened target, because pro.ip-api.com does not block anyone. And they are a snapshot: pools change week to week.

If you want a number that reflects your workload, the method above is a few hundred lines of code. Run it against your actual target during a trial.

Fourteen years of building this network

Shifter has been selling residential proxies since 2012, before “residential proxy” was a category with a name. The reason we lead this series on network spread, latency and price is not a recent optimisation, it is what a decade and a half of adding operators one at a time produces: 2,441 distinct networks across five countries, more than anyone else measured, and 14,780 distinct cities.

The price follows from the same thing. A network you built yourself over fourteen years costs less to run than a network you rent, which is why our floor is $0.75 per GB with no commitment beyond a 200 GB plan, and why the whole ladder is published.

Full results per provider are in the benchmark series. The scored write-ups, including our own, are in the reviews section.

Ready to get started?

Try Shifter's residential proxies, 205M+ IPs, 195+ countries, from $0.75/GB.

Get Started