All locations active · 99.99% uptime
Proxy Guide

How Is Proxy Bandwidth Calculated?

Residential and mobile proxy packages are mostly priced Per GB . That turns "is 5 GB enough?" straight into a budget question. Unfortunately most users underestimate their consumption badly and find their quota gone by mid-month.

In this article we look at what GB consumption really consists of, which line items get overlooked, and the measurable ways to bring it down.

What Exactly Does the Meter Count?

Providers generally count the total bytes that pass through the proxy: both request (upload) and response (download). That includes:

FIGUREByte breakdown of a typical page request
BREAKDOWN%58%16%12%10Images and mediaJPEG, PNG, WebP, video preloadsJavaScriptFrameworks, tracking and ad scriptsCSS and fontsStylesheets and web fontsHTMLThe content you actually came forHeaders and TLSRequest/response headers, handshake

On a page, the HTML you actually need is often just a tenth of the total traffic. All of your savings come from managing that ratio.

Caution

Some providers count only downloaded bytes, others total traffic. If your work is upload-heavy (file transfers, large POST bodies), that distinction changes the bill noticeably. Confirm in the contract which one is counted.

A Realistic Worked Example

Say you plan to pull 10,000 product pages a day from a marketplace. The cost of three different approaches is worlds apart:

ApproachPer pagePer dayPer month (30 days)
Full load in a browser~2.2 MB22 GB660 GB
Browser + images/media blocked~0.6 MB6 GB180 GB
Plain HTTP request (HTML only)~0.12 MB1.2 GB36 GB

That is an 18x difference. You collect the same data, but the cost is completely different. That is why the first optimization is always "do I really need a browser?" is the question.

FIGUREBrowser, or plain HTTP request?
DECISIONWhere is the target content produced?The data appears in the HTML sourceYESPlain HTTP is enoughNOSee belowThe cheapest routeThe data comes from a JSON/XHR callYESCall the API directlyNOSee belowUsually the most efficientThe data is built into the DOM by JSYESA browser is requiredNOPlain HTTPResource blocking is a must

If the Network tab shows an XHR/fetch call returning the data as ready-made JSON, you no longer need to load the whole page.

If You Must Use a Browser: Resource Blocking

If you work with Playwright, Puppeteer or Selenium, blocking unnecessary resources at the network layer cuts consumption by 60–80%:

FIGUREAborting image, font and media requests
Playwright (Python) — resource filter01BLOCK = {"image", "media", "font"}02BLOCK_HOSTS = ("googletagmanager.com", "google-analytics.com",03 "doubleclick.net", "facebook.net", "hotjar.com")0405async def route_filter(route):06 req = route.request07 if req.resource_type in BLOCK:08 return await route.abort()09 if any(h in req.url for h in BLOCK_HOSTS):10 return await route.abort()11 await route.continue_()1213context = await browser.new_context(14 proxy={"server": "http://proxy.example.com:8080",15 "username": "username", "password": "password"})16await context.route("**/*", route_filter)

Every blocked request never reaches the proxy, so it never hits the meter either. The layout breaks, but the text content usually arrives complete.

For hands-on browser automation settings, take a look at our automation proxy page and the proxies for web scraping article.

Compression: A Free 70% Saving

Servers can send HTML, CSS and JSON compressed with gzip or Brotli — but only if the client says it wants that. Adding the Accept-Encoding: gzip, br header to your request typically saves 65–80% on text content.

Tip

Most HTTP libraries send this header by default, but it is very easy to drop by accident when you set headers manually. If you customize your header list, be sure to keep Accept-Encodingin place.

The Overlooked Line Items

Items usually left out of the math that add up to a serious share of the total:

  • Redirects: Every 301/302 means an extra round trip. Long redirect chains burn both bytes and time.
  • Failed requests: A request that times out still spends data. A 20% failure rate means a 20% higher bill.
  • Retries: Automatic retry logic can download the same page three times.
  • TLS handshakes: Every new connection adds ~5–7 KB of overhead. Using a connection pool reduces this considerably.
  • Health checks: A check that runs once a minute adds up to thousands of requests a month.
  • CAPTCHA pages: Blocked requests are downloaded and counted too.
FIGUREBytes and time spent on a failed request
WASTEDNS + TCP + TLS180 msSending the request20 msCAPTCHA page downloaded240 msRetry with a new IP420 ms0 ms860 ms total

A blocked request is not "free": the handshake, the block page and the retry together cost as much as two full pages. Raising the success rate is the most effective way to save.

Don't Optimize Without Measuring

Measure instead of guessing. In browser automation, summing response sizes takes only a few lines:

FIGURELogging real consumption
Measurement01# Playwright — sum the response body sizes02total = 003async def on_response(resp):04 global total05 try:06 body = await resp.body()07 total += len(body)08 except Exception:09 pass10page.on("response", on_response)1112# curl — bytes downloaded for a single request13curl -x http://proxy.example.com:8080 -s -o /dev/null \\14 -w "downloaded: %{size_download} bytes, time: %{time_total}s\\n" \\15 https://example.com

An average taken over a few hundred requests is accurate enough for a monthly projection. After making savings changes, repeat the same measurement and confirm the difference.

The Right Proxy Type for Each Traffic Type

If bandwidth is expensive, pushing every request through the expensive pool makes no sense. Choosing the source by traffic type lowers costs noticeably:

Job typeTypical volumeSuitable sourceWhy
Static page collectionHighDatacenterLowest cost per GB, high speed
Protected marketplaceMediumResidentialHigh trust score, few blocks
Long-session account operationsLowISPStatic IP, unlimited traffic options
The strictest platformsVery lowMobileHighest trust, expensive per GB

Static-IP packages with unlimited traffic can be far more economical than GB-based plans for high-volume, long-running work. To decide, see our ISP vs residential comparison .

Set an Alert Before the Quota Runs Out

When the quota runs out, the operation stops — which can be worse than ending up with incomplete data. A simple safety layer:

  1. Set a daily consumption target (monthly quota ÷ 30).
  2. Count downloaded bytes on your own side and raise an alert as you approach the threshold.
  3. At 80% switch automatically to the cheap pool; at 95% run only critical jobs.
  4. If the provider offers an API, sync the real quota a few times a day.

Summary

GB consumption is decided far less by "how many pages did I fetch" than by "what did I download on each page". Blocking images and tracking scripts, keeping compression on, avoiding unnecessary browser use and raising the success rate — those four together cut a typical operation's bill to a third. If you want to settle which proxy type suits your work before you start measuring consumption, take a look at our location and product pages is worth reviewing.

Frequently Asked Questions

01How far does 5 GB of residential proxy go?

On a job that pulls HTML only, roughly 40,000 pages; with full browser rendering, 2,000–2,500 pages. The whole difference comes from the type of resources downloaded.

02Does the proxy meter count upload traffic too?

Most providers count total traffic (request + response). For jobs that upload files or send large POST bodies, confirm this distinction in the contract.

03Does blocking images break the site?

Apart from the handful of sites that use image-based verification, text content arrives complete. The layout breaks visually, but that is no problem for automation. If in doubt, try it on a small sample first.

04Is unlimited traffic really unlimited?

On static-IP ISP and datacenter packages, traffic is usually unlimited; the limits sit on speed (Mbit) and concurrent connections. If a residential pool claims "unlimited", read the fair use policy without fail.

05Are bandwidth and speed the same thing?

No. Bandwidth is how much data can be carried per unit of time (Mbit/s); a quota is the total volume of data (GB). A faster connection burns through your quota sooner.

Related Articles and Pages

NEXT STEP

Strengthen your proxy setup today.

Get started in minutes with a paid plan, or try our free proxy list first.

FREEPROXY.TR

Looking for a free proxy? You're in the right place

A complete proxy platform where you can browse up-to-date free proxy addresses, compare HTTP and SOCKS proxy types, and check your proxy connections with free tools.