Every host
Tunnel counts and bytes per host, with and without the CONNECT exchange, and the buckets for tunnels no request explains.
Free open-source tool · Browser-only viewer
scrapescope is a free, MIT-licensed local metering proxy for scrapers and browser agents. It finds the smallest response that already contains the value your job needs, lists every host the job talked to and prices the bytes at a rate you type. This page opens a scrapescope report in your browser and explains how to read it.
Use scrapescope with your current provider today. It has no default provider, rate or account, no telemetry and no update checks. ipvolt proxy access is coming separately.
What a report shows
scrapescope find URL --value V loads the page once in headless Chromium and searches every text response the page received for the values you name: the document, XHR and fetch, scripts, embedded JSON and frames, with common encodings of each value tried for you. Matches are ranked by the bytes a standalone fetch of that response would move, which can be a small fraction of the full page load. Each match says whether the browser sent cookies or a token for it, and an optional replay checks whether it still works without a browser.
A provider dashboard cannot show this. A provider sees the host in each CONNECT request and a stream of encrypted bytes. It cannot see inside TLS, so it cannot tell you which resource type used the bytes, which browser component fetched something the job never asked for, or what blocking would change. scrapescope sits on your machine in front of your provider, counts the bytes of every tunnel at the socket and joins those counts to what the browser helper reports.
Tunnel counts and bytes per host, with and without the CONNECT exchange, and the buckets for tunnels no request explains.
Bytes per resource type, such as document, script, image, font, media and XHR, allocated from each host's tunnel totals.
Traffic the browser started by itself, labelled with a catalogued component such as Chromium's optimisation-guide model downloads, but only when the host is in the evidence-backed background catalog.
The modelled effect of blocking images, media and fonts or of denying catalogued background hosts, with fixes for your stack that appear only when the matching problem was measured in your run.
Sizing mode runs without any proxy account and approximates the transfer a job would need. It is a lower bound for protected targets and helps size a purchase; it does not predict a bill.
Bytes per 1,000 page loads and, when you give your own rate, an estimated cost per run, per 1,000 units and per 1,000 successful units.
The viewer
Drop a scrapescope report.json into the frame, choose a file, or load the bundled sample. The report is parsed inside an isolated frame on this page and nothing is uploaded. You can compare two runs, price the bytes at a rate you type and download a share card rendered on your device.
How to read a report
Per-host totals are tunnel-measured: the bytes scrapescope wrote to and read from the socket to your provider, TLS included, shown with and without the CONNECT exchange. Per-request and per-type bytes are allocated: each host's tunnel bytes shared in proportion to the sizes the browser helper reported. Every cost is estimated billable transfer: tunnel-measured bytes times the rate you typed.
scrapescope reports in GB = 10⁹ bytes by default; a GiB (2³⁰ bytes) is about 7.4% larger, and a --gib switch reports in GiB instead. Check which unit your provider uses before comparing.
Providers meter differently: with or without the CONNECT exchange, in GB or GiB, with minimums or rounding, including or excluding failed requests. No reconciliation against a provider's billing has been published yet, so no figure in a report is billing-grade.
Cloud browser services send their proxy traffic from the service's own network, so a local meter cannot see it. scrapescope makes no claims about them.
Blocking images, media and fonts, or denying background hosts, can change how a page behaves or attract anti-bot scrutiny, and denying Chromium's component updates also stops certificate-revocation and Safe Browsing data. Every what-if is a prediction: compare a second run before relying on it.
Method notes
scrapescope is an open-source local metering proxy that a developer wraps around a scraper or browser agent. It counts the bytes of every tunnel at the socket to the proxy provider, attributes them to hosts, resource types and browser background traffic, finds the smallest response that already carries a named value, and can stop a run at a byte budget.
find ranks matches by encoded body bytes + response header bytes + request header bytes + one new TLS handshake estimate of 7,200 bytes for https. This approximates one standalone fetch of that response on a new connection by a client that accepts the same compression as the browser. It leaves out the CONNECT exchange, redirects and a second handshake after a failed resumption. On HTTP/2 and HTTP/3 there are no separate header sizes, so both header fields are 0 and the match is marked multiplexed.
The TLS handshake figure is a typical value from local measurements, not a constant. Certificate chains vary by site, so a real fetch can move more or less.
Tunnels of hosts with no matching request are labelled by rules: background:<id> only for hosts in the background catalog; before_attach for tunnels opened before the helper attached; preconnect_idle for tunnels that did not fail and carried at most 3,072 payload bytes up and 6,144 down, typical of a connection opened in advance and never used; and unattributed otherwise. An uncatalogued host is never called background, and the buckets add up to the with-CONNECT total.
Costs appear only when you give a rate: the total bytes, with and without CONNECT, divided by 10⁹ (or 2³⁰ with --gib) and multiplied by your rate, plus the same per 1,000 units and, when success is known, per 1,000 successful units. The label is estimated billable transfer.
Break-even
In words: the bytes a fix removes per 1,000 units, divided by 10⁹, times your price per GB, is what the fix is worth per 1,000 units; multiply by the units you run in a month and compare it with the time the fix costs you, including the second run that checks it. A fix that breaks extraction removes nothing. The viewer does this arithmetic with a price you type; it has no default rate.
For a starting point, the Proxyway 2026 proxy market research (read 2026-09-23) gives these median residential prices by monthly volume:
| Monthly volume | Median residential price |
|---|---|
| 5 GB | $4.16 per GB |
| 50 GB | $3.00 per GB |
| 100 GB | $2.84 per GB |
| 250 GB | $2.60 per GB |
| 500 GB | $2.28 per GB |
| 1 TB | $1.94 per GB |
Medians describe the market on the day they were read, not any provider's quote to you. Use the rate on your own invoice. Proxyway: proxy market research 2026
Privacy
Your report is parsed in your browser inside an isolated frame and never uploaded; nothing about it is sent to analytics. If you accept optional analytics, this page records only fixed labels: that a report was opened from a file, a drop or the bundled sample and whether it parsed; that two runs were compared; that a share card was downloaded; that an install command was copied; and that the link to the homepage was used. Hostnames, byte counts, prices and file names never leave the frame.
Privacy and analyticsPrior work
Chrome DevTools and the NetScope DevTools panel already find which request carries a value; scrapescope adds the ranking by billed basis, the encoded variants, the cookie and token flags and a replay check. apify/proxy-chain exposes per-connection traffic statistics, Bright Data Proxy Manager is a local forward proxy with statistics for a Bright Data account, and Scrapfly Proxy Saver is a hosted, paid layer that blocks and caches for you. NodeMaven's benchmark notebook and Skyvern's postmortem documented the Chromium background traffic that the background catalog builds on. Each is credited with a dated citation in the project README.
Good to know
No. scrapescope works with any provider or none. It has no default provider, rate or account, and it never contacts ipvolt. This viewer opens any report.json the tool writes.
Yes. The page and the tool are free. The report is parsed inside an isolated frame in your browser and is never uploaded. Optional analytics, if you accept it, receives only fixed labels, never hostnames, byte counts, prices or file names.
scrapescope counts every byte on its socket to your provider, TLS included. A provider may count a different subset: with or without the CONNECT exchange, in GB or GiB, with rounding or minimums, including or excluding failed requests. Treat the report as a measurement on your machine, not a bill.
Any client that can be pointed at an HTTP proxy gets tunnel totals per host: Playwright, Puppeteer, Selenium, Scrapy, curl, aiohttp and Node's fetch among them. Per-type attribution, units and the bypass check need the Playwright Python helper or the Requests and HTTPX hooks. Hosted browsers are not covered.
The share card is rendered on your device, and you choose whether to download it. The tool itself keeps query strings out of reports and can replace hosts with catalog ids or keyed hashes (--redact-hosts). Check a report before you share it; it is your data.
No. The what-if is a model of your measured run. Blocking can change how a page behaves, break extraction or attract anti-bot scrutiny, and a page that loads more on a second visit can move the numbers the other way. The second, compared run is the measurement; the what-if is a prediction.
Your next connection
Use scrapescope with your current provider today. ipvolt is launching per-GB proxies — residential, datacenter, ISP and mobile — from $3.50/GB at launch.