<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Shifter on Medium]]></title>
        <description><![CDATA[Stories by Shifter on Medium]]></description>
        <link>https://medium.com/@shifter.io?source=rss-ab59c8922910------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*U0gy5l5EZy1ENSXW</url>
            <title>Stories by Shifter on Medium</title>
            <link>https://medium.com/@shifter.io?source=rss-ab59c8922910------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 17 Oct 2026 22:59:15 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@shifter.io/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Your Proxy Pool Size Is the Wrong Number. Count Live IPs Instead.]]></title>
            <link>https://medium.com/@shifter.io/your-proxy-pool-size-is-the-wrong-number-count-live-ips-instead-fd667d7a91e8?source=rss-ab59c8922910------2</link>
            <guid isPermaLink="false">https://medium.com/p/fd667d7a91e8</guid>
            <category><![CDATA[web-scraping]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[proxy]]></category>
            <category><![CDATA[data-engineering]]></category>
            <category><![CDATA[benchmark]]></category>
            <dc:creator><![CDATA[Shifter]]></dc:creator>
            <pubDate>Wed, 07 Oct 2026 20:44:27 GMT</pubDate>
            <atom:updated>2026-10-07T20:44:27.008Z</atom:updated>
            <content:encoded><![CDATA[<h3>We counted every live US IP across 16 residential proxy networks. The ranking does not follow the advertised numbers.</h3><p>Every residential proxy provider leads with a pool size. Tens of millions of IPs, sometimes hundreds of millions. Those figures are not invented, but they answer a question you are not asking when a crawl is running.</p><p>An advertised pool size counts every address a network has seen over a long window, usually a month. Residential devices come and go through the day: phones switch networks, home routers reconnect, laptops close. A monthly total tells you how big the network is over time. It does not tell you how many addresses will actually answer during the hour your scraper is working.</p><p>That second number is what decides whether your crawl finishes cleanly. We call it live IPs, and we measured it across the market.</p><h3>What a live IP count measures</h3><p>The test is simple. Send requests through a provider’s rotating residential gateway to an IP echo endpoint, open a fresh connection for every request so the gateway hands out a new exit, and count the distinct addresses that come back.</p><p>Every distinct address in that count was live and reachable at that moment. The result is a lower bound on the pool that was available during the test, not a census of the whole network. But it is a fair lower bound, as long as every provider gets exactly the same test.</p><p>Why it matters in practice:</p><ul><li><strong>Fewer requests per address.</strong> The more distinct live IPs you can draw from in a country, the fewer requests land on each one, and the less any single target sees from a single IP.</li><li><strong>Less reuse.</strong> A small live pool means the same addresses come back again and again, which is exactly the pattern anti-bot systems look for.</li><li><strong>Network spread.</strong> Addresses drawn from many different networks (ASNs) are harder to block as a group than the same number concentrated in a few large ISPs.</li></ul><h3>The test</h3><p>We ran the same benchmark against 16 residential proxy networks:</p><ul><li>250,000 plain-HTTP requests for the United States</li><li>Each request through the provider’s rotating residential gateway, to an IP echo endpoint</li><li>A fresh connection per request</li><li>1,000 concurrent connections and a 10 second timeout</li><li>One network at a time, from the same server, so no two competed for bandwidth</li></ul><p>Shifter, our own network, went through the identical method, server and settings as every other provider. Residential pools shift throughout the day, so read each number as a snapshot of that moment, not a permanent ranking.</p><h3>The US result</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*94guwmzvgSeH17xhLWqweA.png" /><figcaption>Live US IPs per network, 250,000 requests each. Selected networks from our benchmark of 16.</figcaption></figure><p>Shifter returned 212,212 live US IPs, the largest live US pool of the 16 networks we have measured. That is 41% more than Webshare, the next network on the list, 51% more than Oxylabs and 53% more than Decodo.</p><p>It also had the widest network spread in the US: 1,828 distinct ASNs, against 1,591 for Oxylabs, the next highest.</p><p>A few networks reached marginally more US cities than Shifter did, by 4.2% or less, which matters far less for crawling than a live pool 41% larger.</p><p>The full 17-row ranking, including every network we tested, is on the Shifter benchmarks page.</p><h3>Beyond the US</h3><p>We ran the same test in four more countries. Shifter came out on top in the United Kingdom, France and Canada as well.</p><p>Germany is the exception. Webshare, Oxylabs and Decodo all returned more live German IPs than Shifter, by between 5% and 12%. We publish that result alongside the others, because a benchmark that only shows wins is not a benchmark.</p><p>Added up over all five countries, Shifter returned 390,093 live IPs. Webshare, in second place, returned 306,410.</p><h3>Why the test stops at 250,000 requests</h3><p>A larger run reaches more of a pool. If we had sent 500,000 requests, every network’s live count would have been higher, Shifter’s included. We kept the US test at 250,000 requests because that is what every other provider received, and a comparison is only fair if the inputs match.</p><p>The same logic applies to the monthly figures providers advertise. Shifter sees more than 205 million residential IPs over a month. That is a real number, but it is not the number in this table, and it should never be compared with a live count from a single run.</p><h3>Run it yourself</h3><p>You do not need to trust our numbers. With any provider’s rotating gateway, this counts distinct live IPs in 10,000 requests:</p><pre>export PROXY_URL=&quot;http://USER:PASS@GATEWAY:PORT&quot;<br>seq 1 10000 | xargs -P 100 -n1 sh -c \<br>  &#39;curl -s --max-time 10 -x &quot;$PROXY_URL&quot; http://ip-info.com/json | jq -r .ip&#39; \<br>  | sort -u | wc -l</pre><p>A few rules if you compare providers this way:</p><ol><li>Use the same request count for every provider.</li><li>Run them from the same machine, one at a time, at a similar hour.</li><li>Test in the countries you actually crawl. A network that leads in one country can trail in another, as Germany shows.</li></ol><h3>The takeaway</h3><p>When you choose a residential proxy network, ask for the live count in your target country, not the monthly pool size. The monthly figure describes the network. The live count describes your crawl.</p><p>In our latest run, that number was 212,212 for Shifter in the US, the largest of the 16 networks we have measured, with plans starting from $0.10 per GB.</p><p>The full ranking, the method and the country by country results are in the original write-up: <a href="https://shifter.io/blog/largest-live-us-residential-ip-pool">https://shifter.io/blog/largest-live-us-residential-ip-pool</a></p><p>Every network’s head to head page is on <a href="https://shifter.io/benchmarks">https://shifter.io/benchmarks</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fd667d7a91e8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fourteen Years of Running a Proxy Network]]></title>
            <link>https://medium.com/@shifter.io/fourteen-years-of-running-a-proxy-network-e2d00834989c?source=rss-ab59c8922910------2</link>
            <guid isPermaLink="false">https://medium.com/p/e2d00834989c</guid>
            <category><![CDATA[residential-proxies]]></category>
            <category><![CDATA[web-scraping]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Shifter]]></dc:creator>
            <pubDate>Tue, 01 Sep 2026 16:19:57 GMT</pubDate>
            <atom:updated>2026-09-01T16:19:57.915Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8ry75kRYi9Gv0oalks2Oug.png" /></figure><h3>What actually changed between 2012 and now, and what did not</h3><p>When we started selling residential proxies in 2012, the phrase did not exist as a product category. You sold “IPs”. Customers were sneaker resellers, ticket buyers, a handful of SEO agencies, and a small number of people doing market research who were slightly embarrassed to explain their job at parties.</p><p>Fourteen years later the same infrastructure underpins price intelligence at retailers you have heard of, ad verification for brands spending nine figures a year, and the data pipelines feeding models that write code. The pipes did not change much. Everything around them did.</p><p>Here is what actually moved, from the inside.</p><h3>The unit of sale changed, and it changed the customer</h3><p>The original model was ports. You bought a plan giving you, say, 100 ports, each one a single concurrent connection with its own host and port number. Need more concurrency, buy a bigger plan. It made sense in 2012 because concurrency was the scarce resource and bandwidth was cheap relative to the cost of maintaining the network.</p><p>Around 2020 the industry moved to bandwidth pricing, and almost everyone now sells per gigabyte through a single gateway endpoint. The stated reason was flexibility. The real reason was that ports had stopped describing anything useful: a port that sits idle costs the network nothing, and a port saturated by a headless browser loading full pages costs it a great deal.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XqUr_5SLTqZ1N9y_hRmCMw.png" /></figure><p>The interesting part is what that did to the customer base. Under port pricing, the constraint was how many things you could do at once, which favoured people running many small jobs. Under bandwidth pricing, the constraint is how much you download, which punishes anyone rendering full pages to extract one number and rewards anyone who bothers to hit an API or parse a lighter endpoint.</p><p>Pricing models are not neutral. They select for a kind of customer, and the industry changed who it was built for without ever announcing it.</p><h3>Blocking stopped being about your IP</h3><p>In 2012, getting blocked mostly meant your IP address had been seen too often. The countermeasure was more addresses, which is why pool size became the number everyone advertised, and why it still leads every provider’s homepage including ours.</p><p>That has not been the main story for years. Modern anti-bot systems score the network an address belongs to rather than the address itself, so a clean IP on a network with a bad reputation inherits the reputation. They fingerprint the TLS handshake and the HTTP/2 frame ordering, which means a request can be rejected before a single byte of your carefully-crafted headers is read. They watch timing, mouse movement, and the shape of a session across many requests.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RutPOUX9f1GpYld8iXGUvQ.png" /></figure><p>The practical consequence is that most scraping failures we see reported as “your proxies are bad” are not proxy failures at all. The address was fine. The client library announced itself as a Python HTTP client at the TLS layer, or the session did fifty things in a pattern no human produces, or the job hammered one endpoint with no jitter. Swapping providers does not fix any of that, which is why the customers who chase pool size between vendors tend to keep having the same problem at each one.</p><p>We still sell addresses. But the honest framing is that addresses are now necessary and nowhere near sufficient.</p><h3>The demand curve inverted</h3><p>For the first decade, the growth in this market came from commerce. Price monitoring, availability checks, ad verification, rank tracking. Roughly: businesses watching other businesses.</p><p>The last few years added a different kind of demand entirely. Models need training data, and then they need grounding data at inference time, which means an agent making live requests to the open web on behalf of a user who is waiting. That second category behaves nothing like a scraper. A scraper is patient, batched, and tolerant of retries. An agent is synchronous and has a human watching a spinner, so a request that takes eight seconds to succeed has already failed.</p><p>This has been the biggest shift in what customers ask us for. For ten years the question was throughput. Now, as often as not, it is tail latency, because the ninety-fifth percentile is what the user actually experiences.</p><h3>What did not change</h3><p>Three things, and they are the ones I would tell anyone entering this market.</p><p>Residential networks are rolling windows, not warehouses. The addresses belong to real connections that go offline. Every provider’s pool is a flow rather than a stock, which is why cumulative counts keep rising even when a network is not growing, and why live availability is always a fraction of the headline figure. This was true in 2012 and it is true now, and it is still the single most misunderstood thing about how these networks work.</p><p>Trust is the whole product. Not uptime, though that matters. Trust in the sense that a customer building a pipeline on your infrastructure is making a bet that you will still exist and still behave the same way in two years. This industry has an unusually high rate of providers who appear, undercut everyone, and vanish, and every one of them leaves customers who now have to migrate a pipeline they did not budget to migrate. Being boring for fourteen years turns out to be a feature.</p><p>Nobody publishes their method. The industry competes on numbers that cannot be audited, which means the incentive runs in one direction and the claims drift upward with nothing pulling them back. This is the part I find genuinely embarrassing about the market we operate in, and the reason we started publishing <a href="https://shifter.io/benchmarks">residential proxy benchmarks</a> with the method attached, including the results where competitors beat us. It is not altruism. It is that a market where nothing is checkable eventually gets bought on price alone, and that is a bad market to be in if you are actually running infrastructure.</p><h3>The part I did not expect</h3><p>If you had told me in 2012 that this would become critical infrastructure for artificial intelligence, I would have assumed you were selling something.</p><p>What we were actually building, without knowing it, was one of the few remaining ways to see the web as an ordinary person sees it. Not the version served to a datacenter, not the version behind a login, not the version an API decides to expose. The public web as experienced from a real connection in a real place.</p><p>That turned out to matter far more than anyone in 2012 thought it would, and the reason is not flattering to the web. The gap between what a site shows a person and what it shows a machine has widened every year, and it keeps widening. Prices differ by location. Search results differ by country. Availability differs by network.</p><p>Measuring that gap honestly is a real job, and it is more or less the whole business. It just took a decade for anyone to describe it that way.</p><p><em>Shifter has run a residential proxy network since 2012. You can </em><a href="https://shifter.io/"><em>buy residential proxies</em></a><em> on any plan size.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e2d00834989c" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>