Cheap residential proxies: the price per GB is not your price
Cheap residential proxies are priced per GB, but you pay per page that works. The formula, a worked example and a checklist to find the cheapest.
Cheap residential proxies are the ones with the lowest cost per successful request, and the headline price per GB is only one half of that. The other half is how many gigabytes each good page costs you, which depends on the block rate, what the meter counts, whether failures are billed and whether unused traffic expires.
So a provider at a lower rate per GB can cost you more per page than one at a higher rate. This guide shows how to work out the real figure, with a worked example and a checklist you can run against anyone, us included.
What does a residential proxy cost per successful request?
The number that matters is:
cost per successful request = price per GB × GB per successful request
Price per GB is the figure on the pricing page, at the volume step you will buy.
GB per successful request is everything you pay for, divided by the pages you kept. It is always more than the size of one good page, because it also carries:
- the failed attempts you were billed for,
- the block pages and captchas that came back with a body,
- whatever else the meter counts beyond the response you wanted.
Two providers with the same price per GB can differ a lot here. Two providers with different prices per GB can end up close, or swap places.
What inflates the gigabytes per success?
Retries, and whether failures are billed
On a residential pool, some requests land on an IP the target already dislikes. You retry, and a different IP gets through. The question is what the failed attempts cost. A timeout or a connection reset carries no body, and a provider can reasonably bill it at zero. Some do, some do not. If failures are billed, every retry pushes the cost of each good page up.
Block pages
A 403 page or a captcha arrives as HTML. It is a response with bytes in it, so on most meters it counts as traffic. A pool with a high block rate on your target costs you the real pages plus all the refusals in between. This is why the quality of a pool is a price question as well as a speed one.
Page weight and compression
The page itself is usually the largest term. Asking for compressed responses, fetching the JSON endpoint behind a page, and not running a headless browser when plain HTML is enough can each cut the bytes per page several times over. Estimating what a scrape will cost has a script that measures page weight on your own URLs.
Headers, TLS and request bytes
Every response carries headers, and every HTTPS connection has a handshake. Some meters bill only the response; some bill the request you sent as well, cookies and all. None of this is wrong in itself, as long as the provider tells you which.
How the meter counts
A meter that counts decompressed bytes, rounds each request up, or cannot show you per-request rows is a meter you cannot check. How to check your provider's meter shows how to count your side and compare.
The terms that change the price before you send a request
Expiry. Some residential traffic is sold in bundles that expire after a set period. Whatever you have not used by then is gone, so the effective price per GB is the bundle price divided by the gigabytes you used, not the ones you bought. Does proxy bandwidth expire? walks through bundles, monthly resets and rollover rules.
Minimum orders. A low rate that only applies to a large bundle is not a low rate for a small job. If the smallest order is several times what your job needs, and the rest expires, you are paying for the rest.
Refunds of unused balance. Can you get unused money back if the pool does not work on your target? A provider that refunds unused balance makes a test cheap. One that does not turns every top-up into a bet.
Location. If your job needs a particular country, check that the product offers it. A cheap pool without country targeting is not cheap if it cannot do the job.
A worked example: provider A and provider B
Both providers below are invented, and so are all the figures, which are priced in made-up credits. They are there to show the arithmetic, and none of them describe ProxyPanda or any real company.
The job: 100,000 product pages. One real page weighs 120 KB on the wire, headers included. A block page weighs 40 KB.
| Provider A | Provider B | |
|---|---|---|
| Headline price | 2.00 credits per GB | 3.00 credits per GB |
| Pages that come back real on this target | 60 in 100 | 85 in 100 |
| Failed attempts billed | all of them | only those with a body, two thirds here |
| Request bytes billed | yes, about 1 KB per attempt | no |
| How traffic is sold | 20 GB bundles, used within 30 days | any amount from a balance that does not expire |
Provider A. Each real page takes 1.67 attempts on average, so 0.67 failed attempts per success, each a 40 KB block page that is billed. Add 1 KB of request bytes per attempt.
- 120 + (0.67 × 40) + (1.67 × 1) = about 148 KB per successful page
- 100,000 pages = 14.83 GB, which at 2.00 credits is 29.67 credits of traffic
Provider B. Each real page takes 1.18 attempts, so 0.18 failures per success. A third of those are timeouts with no body, billed at zero; the other two thirds are 40 KB block pages.
- 120 + (0.12 × 40) = about 125 KB per successful page
- 100,000 pages = 12.47 GB, which at 3.00 credits is 37.41 credits of traffic
The headline prices are 50% apart. Per successful page, A costs about 0.30 credits per thousand and B about 0.37 credits per thousand, so the real gap is about 26%, with A still cheaper.
Now add the terms. A sells 20 GB bundles that expire after 30 days, so a one-off job costs 40.00 credits, with 5.2 GB left to lapse. B's job costs 37.41 credits and the rest of the balance stays. For this one-off job B is cheaper. For someone running a similar job every week, A's bundle gets used up and A is cheaper again.
Neither answer is universal, and that is the point. The ranking depends on your target, your page weight and how often you run, so the only reliable number is one you measure.
A checklist for cheap residential proxies
Before paying for residential traffic from anyone:
- What exactly is billed: response only, or request bytes too? Headers?
- Are failed requests billed? Which ones: timeouts, resets, 429s, 5xx?
- Can you see per-request usage and export it?
- Does purchased traffic or balance expire?
- What is the smallest order, and does the advertised rate apply to it?
- Can unused balance be refunded, and how do you ask?
- Does the product offer the country you need?
- What does the pool's block rate look like on your target? Only a test answers this.
A provider that cannot answer one to seven in a sentence each has told you something already.
How to measure it yourself on a small top-up
You need three numbers: the share of requests that return a real page, the bytes per real page, and the bytes per failed attempt. All three come from one small run.
- Buy the smallest order the provider allows.
- Run fifty to a hundred real URLs from your target through it, and record for each one whether the real page came back and how many bytes arrived. Testing a provider on a small top-up has a harness that records the first; the page-weight script in the cost estimate post records the second.
- Compare your byte total with the provider's meter for the same run.
- Put the numbers into the formula above, at the rate you would pay for the full job.
The result is your cost per successful request on that provider. Do the same on a second provider and you have a comparison no pricing page can give you.
When a datacenter IP is the cheaper answer
Residential is the most expensive line to run per request, and plenty of targets do not need it. If a site loads fine from a hosting network, a few static datacenter IPs, rented per IP instead of per GB, can do the whole job for less, and you can pick the country. The heavier your pages and the more you fetch, the more that matters. Residential or datacenter has the test for deciding.
Where ProxyPanda sits
We are at the budget end on price, and the parts that the checklist asks about are written down on the honesty page:
- We bill response body plus response headers, measured at our proxy. Request bytes are free.
- Connection failures (timeouts, resets, and errors from our own gateway such as a 407 or a 502) are billed at zero and still shown, marked free. Anything the site sends back, a 429 or a 5xx page included, is traffic.
- Every request is logged on its own line with its byte count, and you can export the log as CSV.
- The balance never expires, purchased residential traffic never expires, and there is no subscription. Unused balance can be refunded within the window in our refund policy, back to the card or crypto wallet that paid for it.
- Residential rotates per request or holds a sticky session, and it has no country, region or city targeting. If you need a fixed location, our ISP and datacenter lines have it.
The rates, including each step of the volume ladder, are on the pricing page.
Quick answers
What is a fair residential proxy price per GB? It depends on what the meter counts and how much of your traffic turns into real pages. Compare cost per successful request instead of the headline figure.
Are the cheapest residential proxies worse? Not by definition. A low price with a clean pool and an honest meter is a good deal. A low price with a high block rate or expiring bundles often is not.
Do block pages count as traffic? On most meters, yes, since they arrive with a body. Ask your provider which failures it bills at zero.
How small can a first test be? Small. Fifty to a hundred real URLs from your target tell you most of what you need.
Run the test on a small top-up with us or anyone else, and bring the numbers to Discord if you want a second pair of eyes on them.