← All posts Blog Guides

Per gigabyte or per port: what 100,000 pages actually costs

Per gigabyte or per port: what 100,000 pages actually costs

Every residential proxy provider publishes a price per gigabyte. Almost none of them publish how many pages a gigabyte buys.

That is the number you actually need, and it is the one number a per gigabyte vendor has no commercial reason to give you. So we measured it on our own network and wrote it down.

Short version: one product page on a large retail site costs about 174 KB of billable proxy traffic, which is roughly 6,000 pages per gigabyte. A plain JSON API response costs about 7.4 KB, which is roughly 140,000 calls per gigabyte. Those two numbers are a factor of twenty three apart, which is why “how much bandwidth do I need” has no useful answer until you know what you are fetching.

How we measured it

We fetched five representative targets through our own Budget Unlimited network, five times each, and recorded the bytes that actually crossed the wire between client and proxy. That includes the CONNECT exchange and the entire TLS record stream, because that is the natural point at which a per gigabyte vendor meters you.

One convention, stated up front so the arithmetic is checkable: 1 GB means 1,073,741,824 bytes throughout this post. Vendors are inconsistent about this and it moves the answer by about seven percent.

Here is what a single fetch cost.

TargetBillable per fetchPages per GB
Large e commerce product page173.6 KB~6,000
News article77.2 KB~14,000
JavaScript app, document only20.8 KB~50,000
Plain JSON API endpoint7.4 KB~140,000

A search results page came in between 47.8 KB and 71.6 KB across five identical requests. We are giving that one as a range rather than an average, because the spread has a real cause: rotating exits landed in different places and got served different result pages. A median off five samples with that much movement would be false precision, which is exactly the sin this post is complaining about elsewhere.

These are five specific URLs measured on one day from one vantage point. They illustrate their categories. They are not a survey of them, and your pages will differ.

The bytes you pay for but never counted

One request unspooling into a much larger bundle of billable traffic, showing the invisible payload that rides along behind a single page fetch

Here is the part that does not appear in any dashboard.

Every new tunnel costs 4,512 bytes before a single byte of content moves. That is the CONNECT exchange plus the TLS handshake. It is unavoidable, it is billable, and your HTTP library will never show it to you.

On a heavy page that is noise. On a small one it dominates. Measured as a share of the total bill:

  • E commerce product page: 6.8% overhead
  • News article: 14.0%
  • Search results page: 19.2%
  • JavaScript app shell: 44.9%
  • Small JSON response: 76.7%

Read that last one again. On a small API call, more than three quarters of what you pay for is connection setup rather than data. If your workload is many small requests, and you open a fresh connection for each one, you are buying handshakes and receiving a rounding error of content.

Which points at the single cheapest optimisation available to you, and it costs nothing:

Reuse your connections. On a small response workload, keep alive cut billable bytes by 47.8% in our test. Same requests, same responses, half the bill. Most HTTP clients do this by default and most scrapers accidentally turn it off by constructing a fresh client per request. We wrote about that failure mode in your proxy is rotating, your HTTP client is not, where the same behaviour causes a different problem.

The compression trap, in both directions

If you have ever tried to estimate your own usage, you probably did something like summing the length of the response bodies. That estimate is wrong, and interestingly it is wrong in both directions depending on what you fetch.

Everything ships compressed. On the retail product page we measured, the decompressed HTML was 1.77 MB while only 165 KB crossed the wire, a ratio of about eleven to one. On the news article the ratio was about five and a half. On a search page, about two and a half.

So if you estimate from decompressed response bodies, you will overstate your bandwidth by somewhere between two and a half and eleven times, and conclude you need a far bigger plan than you do.

But on the JSON endpoint the sign flips. The raw response was 6.7 KB and the billable traffic was 7.4 KB, because the payload was too small to compress usefully and the handshake dwarfed it. There, summing response bodies understates your real usage.

There is no single correction factor. The honest answer is that you cannot estimate this from your application layer at all, which is precisely why the per gigabyte model is uncomfortable: you are being billed on a number you cannot independently produce.

What the market charges

Here is what residential bandwidth costs across the field. Every figure is a published list rate fetched on 8 September 2026, exclusive of VAT, ignoring promotions, free trials and negotiated enterprise rates.

ProviderEntry rateVolume rate
Oxylabs$6.00/GB (5 GB, $30)$2.50/GB (1 TB, $2,500)
IPRoyal$7.00/GB (1 GB)from $1.75/GB (10,000 GB)
Decodo$4.00/GB pay as you go$2.00/GB (enterprise)
Webshare$3.50/GB (1 GB)$1.40/GB (3,000 GB)
Rayobyte$3.50/GB (1 to 49 GB)$0.50/GB (5,000 GB+)
Infatica$4.00/GB pay as you go$2.60/GB (1,000 GB)
Massive$8.00/GB (10 GB, $80)$4.90/GB (100 GB, $490)

Two notes on reading a rate card, both of which we hit while compiling this one.

Headline rates are frequently not the standing price. Bright Data advertises $4.00/GB against a regular rate of $8.00/GB, with the difference being a coupon. Proxy Cheap’s page title advertises from $0.49/GB, and $0.49 appears nowhere in its own tier table, where the lowest published rate is $0.78/GB.

A volume rate is not a price you can pay unless you can commit to the volume. This is the trap that makes per gigabyte comparisons so slippery, and we nearly published a version of this post that fell into it ourselves.

The 100,000 page job

Let us price something concrete: 100,000 fetches of a large retail product page.

At 173.6 KB per fetch, that is 16.56 GB.

Now the arithmetic that matters. You cannot simply multiply 16.56 by a provider’s best rate, because their best rates require buying more than 16.56 GB. The honest comparison is the cheapest package that actually covers the job:

OptionCost for the job
Decodo, pay as you go at $4.00/GB$66.22
Decodo, 25 GB plan$81.25
IPRoyal, 10 GB subscription rate$86.92
Oxylabs, Basic 20 GB$100.00
Budget Unlimited, 5 ports$51.99

Then scale it. One million fetches is 165.6 GB:

OptionCost for the job
Decodo, 250 GB enterprise tier$625.00
IPRoyal at $5.25/GB$869.17
Budget Unlimited, 5 ports$51.99

The per gigabyte bill scales with the work. The port bill does not move.

For completeness on whether five ports can absorb that: we measured a median 2.38 seconds per product page fetch, so five concurrent ports run about 2.1 fetches per second, which is 100,000 in roughly thirteen hours and a million in about five and a half days. If you need it faster, you buy more ports, and the price per port falls as you scale: 25 ports is $183.20 and 100 ports is $599.20.

Where per gigabyte genuinely wins

We sell both models, so this section is not a setup.

Per gigabyte is the right purchase when your usage is low, occasional or unpredictable. If you need 3 GB this month and nothing next month, a pay as you go gigabyte is honest pricing and a flat monthly port is not. You should buy the gigabyte.

It is also the right purchase when you need targeting that port based plans do not carry. Our own per gigabyte product, Platinum, exists precisely because country, state and city targeting matters to some workloads in a way that unmetered bandwidth does not.

Flat pricing wins when the work is sustained and heavy. The crossover is not subtle. It is the difference between a bill that tracks your ambition and a bill that ignores it. If you are running a pipeline continuously, per gigabyte pricing quietly taxes every improvement you make: parallelise your crawler and your invoice goes up.

One more honest note, because we checked and it would be easy to overclaim. We are not the only provider selling unmetered residential bandwidth. ProxyScrape and ProxyEmpire both sell uncapped residential plans, and Webshare markets unlimited bandwidth on its static ISP product. The argument for flat pricing is not that we invented it. The argument is the price at which you can get it, and what you have to give up: ProxyEmpire’s unmetered tiers start at $1,500 a month and restrict you to country level targeting in a little over forty countries.

Which one are you

Two questions settle it, and neither is about proxies.

How many pages, and of what kind? Multiply your monthly page count by the right figure from the table at the top. If the answer is a handful of gigabytes, buy gigabytes. If the answer is hundreds, stop paying by the gigabyte.

Is your volume going up? This is the one people skip. Per gigabyte pricing is fine at today’s volume and painful at next year’s, and switching pricing models mid pipeline is a migration nobody schedules. If your roadmap says more crawling, price the roadmap rather than the current sprint.

On Budget Unlimited there is no bandwidth metering and no overage. Bandwidth and requests are unlimited for the life of the subscription, you pay per port, and you set each port’s country and rotation interval in the dashboard. A heavy day costs exactly what a quiet day costs, which means you can stop doing this arithmetic entirely, which is rather the point.

If you want to check our numbers rather than trust them, the method is in this post and the targets are ordinary public pages. We would rather you measured.

For the mechanics of what gets counted and why your own byte counter disagrees with your invoice, see how proxy bandwidth is measured and where your gigabytes go. For sizing concurrency rather than bandwidth, see how many proxies do you need.

Start routing today. Spin up in 90 seconds.

Create an account and ship your first ProxyOmega request before your coffee's cold.

ProxyOmega ProxyOmega

90M+ ethically-sourced IPs across 200+ countries and 30,000+ cities. Residential, mobile, ISP and IPv6 proxies for scraping and AI agents.

GDPRCCPA
Product
Premium Unlimited Budget Unlimited Unlimited Residential Proxies Residential / ISP Mobile IPv6 Chrome Extension
Solutions
Web scraping AI agents Price monitoring SERP & SEO Integrations All use cases
Resources
Glossary Error codes Free tools Proxies by platform Locations
Company
About Blog Docs Reseller program Affiliate Contact Sign in
© 2026 ProxyOmega Ltd. All rights reserved.