Residential proxies are billed per GB, so the real question is how heavy your requests are. Here is how to estimate it in five minutes, with real numbers.
Residential proxies are sold by traffic, not by IP or by request. That makes the first purchase feel like guesswork: is 2 GB enough, or do you need 50? The answer depends almost entirely on one number, the average size of a request, and you can measure it before you spend anything.
What counts as traffic
Providers bill every byte that passes through the proxy: the request you send, the response you get back, headers, TLS handshakes and redirects. Downloads dominate, so in practice you can think of it as "everything the target server sends you".
Typical sizes per request
- JSON API call: 2 to 50 KB. One GB covers roughly 20,000 to 500,000 calls.
- Raw HTML page (fetched with curl, Python requests or similar, no images): usually 50 to 300 KB compressed. One GB covers roughly 3,000 to 20,000 pages.
- Full browser page load (Puppeteer, Playwright, Selenium, anti-detect browsers): the median web page is around 2 to 2.5 MB with images, scripts and fonts. One GB covers only about 400 to 500 pages.
- Video or large images: several MB per minute. Avoid loading these through residential proxies unless you really need them.
The 5-minute estimate
- Run your script or browser for 50 to 100 typical requests through any proxy, or without one.
- Read the total transferred: the Network tab in Chrome DevTools shows it at the bottom, and in code you can sum the response sizes.
- Divide by the number of requests to get your average size.
- Multiply by the requests you plan per month, then add 15 to 25% for retries, redirects and failed attempts.
Example: 30,000 product pages a month at 180 KB each is about 5.4 GB. With 20% for retries that is about 6.5 GB, so a 10 GB pack leaves comfortable room.
How to use far less data
- Block images, media and fonts in headless browsers. In Playwright and Puppeteer this is a few lines of request interception and often cuts traffic by 50 to 80%.
- Call the site's internal API instead of rendering the page, if the data comes from one. JSON is many times smaller than HTML plus assets.
- Send
Accept-Encoding: gzip, brso responses arrive compressed. Most HTTP libraries do this by default; check yours. - Route only what needs a residential IP. Static files from a CDN usually do not care about your IP, so load them directly.
- Cache pages that do not change between runs.
Buy small first
Measure with a small pack, then scale. Data that does not run out after a month helps here: with Proxare, residential and mobile data stays valid for 12 months, so buying a slightly bigger pack at a lower per-GB price does not mean losing what you do not use this month.
More guides
Also in: Français · العربية · Tiếng Việt · 中文 · Українська