Pricing

You pay for egress bandwidth plus the features you turn on. Every price is additive, so the cost of a request is exactly the sum of the parts it used.

The model

A scrape costs egress bandwidth (billed per megabyte, with a per-scrape minimum) plus a flat fee for each feature you enable. Nothing is bundled: if you do not render, you do not pay for rendering; if you do not extract, you do not pay for extraction.

ComponentDescription
Datacenter egress$0.0002 per MB, minimum $0.01 per scrape. The default pool.
Residential egress$0.0025 per MB, minimum $0.025 per scrape. Used when proxyPool is residential or asp is on.
js_render+ $0.0010 flat, added when renderJs is true.
anti_bot_bypass+ $0.0025 flat, added when asp is true. asp also forces residential egress.
extraction_rules+ $0.0002 flat, added when extractionRules is present.

Reserve, then reconcile

When a request arrives, Capzy reserves the minimum egress charge for the chosen pool plus the flat feature fees. When the scrape completes, the reservation is reconciled against the actual bytesDownloaded: if you moved more than the minimum, the egress line is trued up; otherwise the minimum stands. The final amount is returned as the top-level cost field.

asp forces residential
Enabling asp moves the request to the residential pool regardless of proxyPool, so it is billed at the residential per-megabyte rate with the residential minimum, plus the anti-bot flat fee. See Rendering & anti-bot.

Free requests

  • Failed requests are free. If a scrape ends in an error, you are not billed for it.
  • Cache hits cost zero. With cache enabled, a request served from a fresh cache entry (within cacheTtl) is not charged at all.

Worked examples

The numbers below show how the components combine. The minimum egress charge dominates on small pages, so most lightweight scrapes land at the pool minimum.

cost-examples.txt
# 1. Plain fetch, 30 KB page, datacenter
#    egress: max($0.0002 * 0.03, $0.01) = $0.01 (hits the minimum)
#    total  = $0.01

# 2. Rendered + extraction, 1.2 MB page, datacenter
#    egress:     $0.0002 * 1.2 = $0.00024 -> minimum $0.01
#    js_render:  $0.0010
#    extraction: $0.0002
#    total     = $0.0112

# 3. asp bypass, 2 MB page (residential is forced)
#    egress:    $0.0025 * 2 = $0.0050 (above the $0.025 minimum? no)
#               max($0.0050, $0.025) = $0.025
#    anti_bot:  $0.0025
#    total    = $0.0275
Iterate for free
Because failures and cache hits are free, you can develop selectors and scenarios without spending balance. Turn on cache while iterating so repeated fetches of the same URL do not re-bill egress.