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.
| Country | Requests per provider |
|---|---|
| United States | 250,000 |
| United Kingdom | 100,000 |
| France | 80,000 |
| Canada | 70,000 |
| Germany | 60,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.
| Network | Live IPs | Networks (ASN) | Median | Price/GB |
|---|---|---|---|---|
| Shifter | 279,244 | 2,441 | 400 ms | $0.75 |
| Webshare | 306,410 | 2,256 | 924 ms | $1.40 |
| Decodo | 281,121 | 2,284 | 702 ms | $2.00 |
| Oxylabs | 276,680 | 2,283 | 700 ms | $2.50 |
| Proxy-Seller | 265,835 | 1,804 | 507 ms | $2.20 |
| Byteful | 213,947 | 1,804 | 849 ms | $1.75 |
| DataImpulse | 172,893 | 1,526 | 470 ms | $1.00 |
| SOAX | 159,975 | 1,763 | 496 ms | $3.00 |
| ProxyEmpire | 145,177 | 1,831 | 483 ms | $0.75 |
| Massive | 131,627 | 1,678 | 495 ms | $4.90 |
| IPRoyal | 116,866 | 1,350 | 523 ms | $1.75 |
| NodeMaven | 108,664 | 1,436 | 2,744 ms | $2.20 |
| Evomi | 82,824 | 1,029 | 1,176 ms | $2.20 |
| Proxy Cheap | 20,450 | 551 | 2,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.
| Network | US live IPs | US networks |
|---|---|---|
| Webshare | 150,512 | 1,518 |
| Oxylabs | 140,811 | 1,591 |
| Proxy-Seller | 139,933 | 1,227 |
| Infatica | 139,334 | 1,279 |
| Decodo | 138,914 | 1,578 |
| Shifter | 136,667 | 1,606 |
| Byteful | 117,330 | 1,300 |
| SOAX | 112,112 | 1,371 |
| ProxyEmpire | 87,218 | 1,270 |
| DataImpulse | 86,976 | 967 |
| Massive | 84,827 | 1,138 |
| IPRoyal | 70,304 | 914 |
| NodeMaven | 62,053 | 1,002 |
| Evomi | 25,320 | 625 |
| Proxy Cheap | 14,223 | 354 |
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.