A per-GB price tells you nothing until you know how many bytes a page costs you. Two jobs on the same plan can differ a hundredfold in cost per page because one fetches an API response and the other renders a full page.
The conversion
Cost per page is the price per GB, times the megabytes transferred per attempt divided by 1,024, divided by the success rate. The success rate is in the denominator because failed attempts move bytes too. The cost tool does this arithmetic with the price you are quoted.
def cost_per_page(price_per_gb, mb_per_attempt, success_rate):
return price_per_gb * (mb_per_attempt / 1024) / success_rateWhere the bytes go
- Images, fonts and media, which a headless browser fetches by default.
- Scripts and tracking calls, including those loaded by other scripts.
- Failed attempts and challenge pages, which cost bytes and return nothing.
- Redirect chains, where each hop is a billed response.
What to do
Measure bytes per success on your real targets, block what you do not need, and compare per-GB offers against per-request ones on cost per success. For heavy pages, a per-request API can be cheaper than traffic-priced proxies once rendering is counted; for light API endpoints, the opposite.