Bandwidth billing
How ByteKit measures billed bandwidth for capture and sitemap endpoints.
ByteKit bills most capture endpoints from bytes transferred over the upstream wire, not from the size of the final JSON, Markdown, image, or recording artifact. Sitemap jobs use the generated results artifact instead, as described below.
Upstream wire-byte endpoints
For scrape, fetch, crawl, and monitor requests, the amount taken from your balance is calculated once, at settlement, and rounded once:
balance deduction = round(upstream wire bytes × endpoint factor × cache factor × clean-Markdown factor)A cache hit contributes a 0.5× factor. Successful clean-Markdown processing contributes a separate 3× factor. The endpoint factor is listed below. All three compose; they are not alternative rates.
Endpoint factors
Each endpoint carries a factor reflecting the work it performs:
| Endpoint | Factor |
|---|---|
| Scrape | 1× |
| Scrape with Markdown output | 1.5× |
| Fetch | 1× |
| Fetch with Markdown output | 1.5× |
| Crawl | 1.5× |
| Crawl links | 1× |
| Monitor run | 1× |
Requesting Markdown output raises a scrape or a fetch from 1× to 1.5×, so a Markdown scrape and a Markdown fetch each deduct one and a half times their upstream wire bytes. The surcharge is not scrape-only.
This factor is part of what you are charged. GET /v1/usage/by-endpoint, the per-endpoint table under Dashboard → Usage, the billing object on each response and the X-Billable-Bytes header all report the same amount your balance lost — there is no separate reporting weight to reconcile.
Screenshot and recording captures bill on a different basis, described under Other capture artifacts.
Sitemap
Sitemap billing uses the byte length of the gzip-compressed generated results CSV. The worker builds the results CSV, compresses it, and uses that compressed length for the job's billed bytes and sitemap usage record.
Discovery fetch bytes are not accumulated into the sitemap charge. The charged byte count is the compressed results artifact, not the upstream bytes transferred while discovering URLs.
Other capture artifacts
Screenshots and recordings use a separate capture basis: phase1WireBytes × 1.5, rounded to whole bytes. The 1.5× combines the upstream Phase 1 fetch with rendering overhead. If Phase 1 has no positive wire-byte measurement, that capture contributes zero billable bytes.
Your current allowance, purchased bandwidth, rollover bandwidth, and remaining balance are shown under Dashboard → Settings → Billing.