Your 99% success rate was measured on a page that lets you in

Proxyway's 2026 report gives a 99.28% median on a 6KB page that doesn't block and 74.43% on Amazon, Google and Instagram. Test your own list.

  • Published November 6, 2026
  • 10 min read
In this article
  1. Here is what the 99% measured, and it measured it honestly
  2. The same report pointed the test at Amazon, Google and Instagram and got 74.43%
  3. Five vendor pages, five numbers, and no page named
  4. Run the test on your own list before you trust anyone's number
A gauge bar with two square markers, one near the top of the scale and one further left in lime, joined by a dashed line that spans the gap between the easy page and the hard page.

Five tabs, read on 6 November 2026. Bright Data's residential page: 99.95%, with "~0.7 sec response time" set beside it. Oxylabs: "Avg. 99.95% success rates". IPRoyal: 99.4%. Decodo: 99.92%. Webshare managed two on one page: 99.7% in its comparison table, 99.97% in the prose. Next to each figure I looked for three things: the URL it was measured on, how many requests sat behind it, the date. Fifteen chances. Zero hits.

Only one published method I could find lands in that range. Proxyway's Proxy Market Research 2026 says the main benchmark records "the speed and success rate when connecting to a small page that doesn't block requests", and the parameters list adds "The page weighs ~6KB". That CDN file is the page in my title, and I want to be careful with it, because the number is not made up. The endpoint is real and Proxyway really sent the requests. It is only that nobody put anything on that page to turn a request away.

I should say who is writing. I work for ResiFactory, and we sell residential and mobile proxies by the gigabyte. We also publish no success rate at all, which I will defend near the end.

Here is what the 99% measured, and it measured it honestly

Method first. Thirteen providers took part, most of the data was gathered in March and April 2026, and the page went up on 8 April (last modified 23 October; I read it on 6 November). The global pool test lasted 21 days and sent 3.6 million connection requests. Median infrastructure success across the global residential pools: 99.28%, with Oxylabs on top at 99.93%. US pools came in at a 99.12% median, SOAX best at 99.92%. Median response time was 0.93 seconds.

The question it answers is narrow but fair. You ask the gateway for an exit; does one come back that can fetch a small file? Plenty of things fail that test. A pool padded with phones that went offline an hour ago fails it, and so does a gateway that falls over at peak. A provider at 99.9% on it has a network that works, and I would not wave that away.

It cannot tell you whether the exit gets past a site that wants you gone.

The same report pointed the test at Amazon, Google and Instagram and got 74.43%

If someone has quoted you a 99, this is the section of the same report I would send them. Proxyway also sends 5,200 requests with a US proxy location and a US test server, at one per second, at Amazon, Google and Instagram. To count, a response needs the right status code, an HTML body of the right size and the right page title. A 200 carrying a challenge page fails. On that test the median participant scored 74.43% and the best, Byteful, 81.23%. Responses slowed from a 0.93-second median on the small page to 3.21 seconds, about three and a half times as long.

You could object that 99.28% is global and 74.43% is US-only, and you would be right to. Swap in the US pool median, 99.12%. The gap goes from 24.85 percentage points to 24.69.

Put as failures: the median participant failed 25.57% of the time on those three sites, roughly one in four, and the best failed 18.77%, roughly one in five. Set that next to "99.95%" and what you are comparing is two web pages.

Proxyway attaches two warnings to this, and I would rather carry them than bury them. One: the client is part of what gets measured. Amazon was fetched with a custom HTTPX script, Google and Instagram with headless browsers, and the report says the target test "has too many variables ... to be reliable on its own", naming the quality of the scraper and changes in the sites' defences among them. It still has value, the report says, "when comparing providers under the same conditions". Two: participants saw the methodology before testing, and readers are told "to treat what you see as their best rather than default configuration". So: 74.43% is the median for providers who knew the test was coming.

The year-over-year decline is tempting, and I would not lean on it

Proxyway's 2025 edition reported a 94.30% median on the same three named targets, against a 99.56% infrastructure median. So a year on, the target median is 19.87 points lower and the infrastructure median 0.28 lower. You can read that as the three sites getting harder to fetch, and they may well have.

But the comparison is not clean enough to prove it. The 2025 panel had 12 providers and the 2026 panel 13, with Bright Data withdrawing in 2025. The client changed too: 2025 used Puppeteer for Instagram and Splash for Google, and 2026 used headless browsers for both. Any of those could move a median by a lot.

Five vendor pages, five numbers, and no page named

Back to the five tabs, then, one at a time: what the page says, and what it means.

Bright Data's 99.95%, Oxylabs' 99.95% and IPRoyal's 99.4% are written as facts about the pool. I have nothing that contradicts any of them. I also cannot tell, from the pages, whether they came from something like Proxyway's 6KB file, from an internal health check, or from a few hundred product pages, and those would be three very different numbers that happen to share a percent sign.

Decodo does better than the others here because it names a source. Its Oxylabs comparison credits "Proxyway's Best Residential Proxies of 2026" for 99.92% against 99.82%. I opened the Proxyway page it cites (modified 6 November). The table is headed "Infrastructure", it describes an unfiltered pool hit with 3.6 million connection requests, and its Oxylabs row says 99.93%. Where the 99.82% comes from I can't say from that page; Bright Data uses a 99.82–99.95% range for Oxylabs elsewhere, so I doubt anyone invented it. Either way, the table being cited is the small-page test.

Webshare's two figures, 99.7% and 99.97% on one page, might both be true of something. Without a target and a sample, nobody reading can say what.

The most honest sentence I found was on a competitor's page. Bright Data's comparison with Oxylabs, modified on 24 September, puts Oxylabs at "99.82–99.95%" and says the range holds "depending on the test methodology." Five words, and they are my whole argument. Bright Data wrote them on a page comparing itself with Oxylabs.

Since I asked you to weigh my interest, here is Proxyway's. Its review policy calls the site "an affiliate website" and says "our reviews cost money". It also says research is "removed from the commercial side", and that reviewees see drafts so facts can be checked. I'm leaning on its research anyway. Of everything I read on this subject, it was the only method published in enough detail to argue with.

Run the test on your own list before you trust anyone's number

Any success rate worth comparing answers five questions. If a page can't, it hasn't given you a comparison:

  1. Which URL was fetched?
  2. What counted as success: any response, a 200, or a 200 with the right page in it?
  3. Which client, and from which country?
  4. How many requests?
  5. When?

For your own targets, all five take an afternoon. The script below copies Proxyway's rule for success (status code, page size, page title) and its one-request-per-second pace. You write the list. Put a page that never blocks at the top as a control; then the gap shows up in your own output rather than in mine.

# targets.tsv: url, a word that must be in the <title>, minimum bytes. Tab-separated.
https://example.com/	example domain	500
https://www.your-target.com/product/12345	product name	50000
https://www.your-target.com/search?q=lamp	results	40000
#!/usr/bin/env python3
# success_test.py: per-target success rate through one proxy, judged on status, page size and title.
# Usage: PROXY_URL='http://USER:PASS@HOST:PORT' python3 success_test.py targets.tsv 200
# Needs: pip install requests
import collections, os, re, sys, time
import requests

proxy = os.environ["PROXY_URL"]
path = sys.argv[1]
per_target = int(sys.argv[2]) if len(sys.argv) > 2 else 100

targets = []
with open(path) as fh:
    for line in fh:
        if not line.strip() or line.startswith("#"):
            continue
        url, title_has, min_bytes = line.rstrip("\n").split("\t")
        targets.append((url, title_has.lower(), int(min_bytes)))

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                         "(KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"}
title_re = re.compile(r"<title[^>]*>(.*?)</title>", re.I | re.S)

for url, title_has, min_bytes in targets:
    tally = collections.Counter()
    for _ in range(per_target):
        try:
            r = requests.get(url, headers=headers, timeout=30,
                             proxies={"http": proxy, "https": proxy})
        except requests.RequestException as exc:
            tally["error " + type(exc).__name__] += 1
        else:
            m = title_re.search(r.text)
            title = m.group(1).strip().lower() if m else ""
            if r.status_code != 200:
                tally[f"status {r.status_code}"] += 1
            elif len(r.content) < min_bytes:
                tally["page too small"] += 1
            elif title_has not in title:
                tally["wrong title"] += 1
            else:
                tally["ok"] += 1
        time.sleep(1)
    ok = tally.pop("ok", 0)
    print(f"{url}\n  success {ok}/{per_target} = {100 * ok / per_target:.2f}%")
    for reason, n in tally.most_common():
        print(f"  {reason}: {n}")

Two hundred requests a target is a long way short of 5,200. It is still plenty to tell 99 from 75. Read the failure lines too, not only the percentage. A pile of status 403 or status 202 lines on a storefront can mean the site recognised your client before it ever judged the IP, in which case a different provider may not move the number much. wrong title with a 200 is the case a looser test would have counted as a success: the site answered with a challenge or a consent page instead of the product.

Say you are deciding between two providers for three shopping domains. Same file, same client, same afternoon, run once through each: that is the "same conditions" comparison Proxyway says its own test is good for. Then put money on it. Cost per successful page is GB billed to the domain, times the per-GB rate, divided by successful requests to the domain. Suppose both runs bill about 0.1 GB to the domain and one provider returns 150 good pages out of 200 while the other returns 190. At the same per-GB rate, the second one's pages cost about 21% less each, and a cheaper rate on the first provider has to beat that before it saves you anything. The rate is on our pricing page. The GB comes from our ledger, which meters each request to the domain it was spent on while the run is still going. The successful requests have to come from your script, because the ledger counts bytes and has no idea whether you got the product page.

Which is the reason we don't print a success rate. Our refund policy says we "do not offer or guarantee any level of uptime, availability, latency, throughput, success rate, IP-pool size, or continued access to any particular destination", and the homepage lists "No uptime, latency or pool-size figures" under what we do not claim. Whatever number we put up would describe whichever pages we picked to test, and we would be back at the 6KB file. Run the script through our residential pool and through Oxylabs on the same afternoon instead. I would trust that comparison over anything either of us prints.

If you are about to sign a contract because of a 99, ask the seller which URL it came from before you ask for a discount. If you are about to buy a small amount to test, run the script on the three domains you actually care about, and let your own failure breakdown pick the provider.

Try it on your own targets

Start small, then measure.

Top up a wallet from $0.50 and point it at your own targets, or try the free trial first.

See pricing