Bandwidth billing
Charging by gigabyte transferred — the standard model for residential proxies, and easy to underestimate.
Bandwidth billing charges for data transferred through the proxy rather than for addresses or time. It is standard for residential and mobile services.
#What counts as billable traffic
Usually everything: request and response, headers as well as bodies, and typically retries and failed requests too. This is where estimates go wrong. A page whose HTML is 50 KB may transfer well over a megabyte once images, fonts, stylesheets and scripts are included — and a headless browser fetches all of them by default.
#Reducing consumption
- Block images, media and fonts when rendering — often the single largest saving.
- Request compression and confirm the server honours it.
- Use an API or JSON endpoint instead of a rendered page where one exists.
- Avoid re-fetching content you already hold.
#Comparing plans honestly
Headline price per gigabyte usually reflects the largest commitment. Compare the tier you will actually buy, and check the minimum spend and whether unused traffic expires.
#What is billable that people do not expect
Metering usually counts bytes crossing the proxy in both directions, not bytes you successfully used. The gap between those two is where unexpected invoices come from.
| Traffic | Commonly billed? |
|---|---|
| The response body you wanted | Yes |
| Response headers | Usually |
| Failed and blocked requests | Usually |
| Challenge pages | Usually |
| Redirects you then follow | Yes, both hops |
| Images, fonts and scripts in a rendered page | Yes, every one |
| Retries | Yes, each attempt |
The last three rows explain most surprises. A headless browser fetches every asset on the page, so one page view can cost many times what the HTML alone would.
#Reducing consumption
- Request only what you need. Block images, fonts and media in a browser context.
- Accept compression and make sure it is actually applied.
- Call the API the page calls, where one exists. It is usually a fraction of the size.
- Fail fast. A short timeout stops a stalled transfer accumulating bytes.
- Cache what does not change, so a repeated run does not re-fetch it.
Confirm the definition with the provider before you commit. Ask directly whether failed requests and headers are metered, and get the answer in writing.