Skip to main content
Engineering

Credit-Based vs Metered Billing: Which Scales

Credit-based and metered billing price web scraping differently. See how credits, multipliers, and rollover affect cost at scale and which stays predictable.

fastcrw
By RecepJuly 6, 20268 min readLast updated: July 12, 2026

By the fastCRW team · Pricing/credit costs verified 2026-05-18 · Verify independently against live /pricing before buying.

Disclosure: We build fastCRW. This is a vendor-authored explainer, so weight it accordingly — but the goal here is to teach you to read any scraping bill, including ours, with clear eyes, and we point out where a usage-metered model genuinely fits better below.

Credit-based pricing for web scraping, defined

Credit-based pricing for web scraping means you buy a bucket of credits on a plan, and every API operation deducts a fixed number of them. A scrape costs 1 credit, a search costs 1, and a JSON extraction is that 1-credit scrape plus a usage-metered LLM token cost, and so on. You forecast spend by counting operations and multiplying. The plan is the meter ceiling: when the bucket empties, you top up or upgrade. This is the dominant model for AI-data APIs because it maps cleanly onto how agents and pipelines actually call the service — one page, one credit.

Pure usage metering bills the underlying resources instead: bandwidth (per GB), compute time (per second), per-request fees, and proxy egress, often summed into a per-call invoice with no fixed bucket. It is the cloud-infrastructure model — you pay for exactly what you consumed, but you cannot read the price of one scrape off a table without knowing the page size, the renderer, and the proxy route first.

What a credit represents

A credit is an abstraction over "one unit of scraping work." Its value comes from being predictable: you can write pages × credits-per-page on a whiteboard and trust it. The risk is that the abstraction leaks — when a single logical operation silently costs 2x, 5x, or 10x credits depending on how the vendor rendered or routed it, the whiteboard math breaks.

What pure usage metering charges for

Metering charges for measurable resources: residential-proxy GB, headless-browser seconds, CAPTCHA-solve events, and per-request overhead. Done well it is exquisitely fair — a tiny static page costs almost nothing. Done carelessly it is impossible to forecast, because the cost of next month's job depends on which sites you hit and how hard they fight back.

Where credit costs hide

The honest weakness of credit-based pricing is the multiplier. Vendors advertise "1 credit per page" on the marketing page, then quietly bill more when the operation is harder. Three places to check before you trust a credit quote.

JS-render and extraction multipliers

JavaScript-heavy pages need a headless browser, which costs the vendor real compute, so most credit models charge a render multiplier. Structured extraction (running an LLM over the page to emit JSON) is even pricier because it adds model-inference cost. fastCRW is explicit about both: every renderer — http, lightpanda, auto, and chrome — costs a flat 1 credit per scrape, and any request with formats: ["json"] (LLM extraction) is that 1-credit scrape plus the LLM token cost, billed as usage-metered LLM credits (fastCRW credit table, README "Renderer selection", verified 2026-05-18). The web leg is flat and published; the extraction's LLM usage is metered by token cost and scales with page size, not a fixed multiple — but it draws on the same credit wallet, not a runtime proxy surprise.

Proxy and compute-unit stacking

The opaque case is when a single page silently consumes several "compute units" because the vendor escalated through datacenter, then residential, then mobile proxies, charging more at each hop. You only learn the true cost after the invoice. This is where metered-flavored credit models lose the predictability that is the whole point of credits.

Non-rolling credits

Most plan credits reset monthly and do not roll over — unused credits expire. A free tier may grant credits once rather than monthly. fastCRW's free tier, for example, is 500 one-time lifetime credits, not a monthly meter (fastCRW /pricing, verified 2026-05-18). Read the cadence before you budget: "500 credits" that never refill is a very different number from "500 credits per month."

How fastCRW credits map to operations

The point of a flat credit table is that you can price a workload from the table alone, with no per-page surprises. Here is fastCRW's full table.

OperationCredits
scrape (any renderer: auto, http, lightpanda, chrome)1
crawl1 per page (any renderer)
search1 per query
map1
extract / any request with formats: ["json"]1 + usage-metered LLM token cost
browse (MCP session)1 per session

Source: fastCRW credit table (README "Renderer selection"), verified 2026-05-18.

1 credit per scrape — any renderer

Every scrape is 1 credit regardless of which renderer handles it. fastCRW's auto renderer escalates chrome → lightpanda → http only when cheaper renderers fail, so you always pay the same 1 credit whether the page needed a full browser or a simple HTTP fetch. There is no JS-rendering surcharge or chrome multiplier.

JSON extraction: 1 scrape credit plus usage-metered LLM cost

The JSON-extraction cost is the single biggest line item to plan around, because LLM extraction is the expensive operation. A structured-extraction request is the 1-credit scrape plus the LLM token cost, billed as usage-metered LLM credits — so if your pipeline extracts structured fields from most pages, model your bill as 1 scrape credit per page plus that metered LLM usage, not a flat 1 credit. How much more than a plain scrape depends on page size and token usage, not a fixed multiple, and underbudgeting it is the most common forecasting mistake. One honest constraint to design around: fastCRW's /v1/extract is single-URL with no multi-URL batch endpoint, so "extract from a thousand pages" is a thousand scrapes with formats: ["json"], each billed as 1 scrape credit plus its LLM token cost (fastCRW API surface).

Search and map credit costs

Search is 1 credit per query and map is 1 credit per call — both cheap and flat, which keeps discovery-heavy and search-augmented agent loops easy to forecast. An MCP browse session is 1 credit per session, so an agent that opens a session and runs several tool calls inside it pays once for the session, not per call.

Forecasting cost at scale

The discipline that makes credit pricing trustworthy is doing the per-1,000 math before you commit, using the heaviest operation in your pipeline as the unit.

Per-1,000-page math

Take 1,000 pages and price them against the table:

  • Any scrape (http, lightpanda, or chrome renderer): 1,000 pages × 1 credit = 1,000 credits.
  • Structured JSON extraction: 1,000 × 1 scrape credit = 1,000 credits, plus the usage-metered LLM token cost for each of the 1,000 pages (scales with page size).

The same 1,000 pages carry very different costs purely by operation type. Forecast with your actual mix — if 80% are plain scrapes and 20% need JSON extraction, that is (800 × 1) + (200 × 1) = 1,000 scrape credits per 1,000 pages, plus the usage-metered LLM token cost for those 200 extractions. This is also why a flat, published table beats an opaque metered invoice for budgeting the fetch leg: you can run that arithmetic in advance and it holds, and only the extraction's LLM usage is metered on top.

Self-host as the zero-credit escape hatch

Credits only meter the managed cloud. fastCRW's engine is an AGPL-3.0 single static Rust binary you can self-host, and self-hosting has no credit meter at all — the comparison of record is $0 per 1,000 scrapes self-hosted (you pay only for your own server) versus $0.83–5.33 per 1,000 scrapes on Firecrawl's hosted tiers, competitor-prices.lock.md, verified 2026-05-18). At high, steady volume the credit question disappears: the binding cost becomes a fixed VPS bill, not a per-operation meter. This is the structural escape hatch a hosted-only metered model cannot offer.

Which billing model scales

Neither model is universally better; they fail in opposite directions. Credits fail when multipliers are hidden; metering fails when resource usage is spiky and unknowable.

When credits win on predictability

Credits win when your workload is countable — a known number of pages, a known operation mix, a steady monthly cadence. You can read the cost off a table, write it into a budget, and have it hold. For RAG ingestion, scheduled crawls, and enrichment pipelines with a stable shape, a flat credit table is the more forecastable model, and an upgrade path of "buy a bigger bucket" is simpler to reason about than a variable infrastructure invoice.

When metered wins on bursty workloads

Pure usage metering genuinely wins when your traffic is bursty and unpredictable: long-idle periods punctuated by spikes, or a workload dominated by a few enormous pages where paying per-GB is fairer than paying a flat per-page credit. If you scrape rarely and lightly, a metered model can cost less than a plan whose monthly credits you would mostly waste — and credits that do not roll over make that waste real. If your job is heavy on residential-proxy GB against hostile sites, a transparent metered proxy bill can also beat a credit model that buries proxy escalation inside a multiplier. Match the model to your traffic shape, not to the marketing.

Sources

  • fastCRW credit table, pricing, and free-tier cadence — /pricing ·
  • Firecrawl pricing reference — firecrawl.dev/pricing (verified 2026-05-18)

Related: Firecrawl credits and rate limits · Cost of web scraping at scale · Cheapest web scraping API · Self-host vs managed scraping

FAQ

Frequently asked questions

What is credit-based pricing for a web scraping API?
Credit-based pricing means you buy a bucket of credits on a plan and each API operation deducts a fixed amount. On fastCRW every scrape is 1 credit regardless of renderer (http, lightpanda, or chrome), search and map are 1 each, and a JSON extraction is that 1-credit scrape plus a usage-metered LLM token cost (credit table verified 2026-05-18). You forecast spend by counting operations times credits-per-operation, which makes a flat published table predictable to budget.
How is metered billing different from credits?
Metered billing charges for the underlying resources consumed — bandwidth per GB, compute seconds, per-request fees, proxy egress — instead of a fixed credit per operation. It is fairer for tiny or bursty jobs but harder to forecast, because the cost of a scrape depends on the page size, renderer, and proxy route rather than a number you can read off a table.
Why does scraping cost more than 1 credit per page sometimes?
LLM extraction carries a usage-metered cost: structured JSON extraction is the 1-credit scrape plus the LLM token cost, billed as usage-metered LLM credits, because it adds real model-inference cost on top of the scrape. Rendering does not add a multiplier — fastCRW charges a flat 1 credit per scrape for any renderer, including chrome. fastCRW publishes the full credit table, and its auto renderer only escalates to chrome when cheaper renderers fail, so the cost is always predictable.
How do I forecast scraping cost at scale?
Price 1,000 pages against the credit table using your actual operation mix. If 80% are static scrapes (1 credit) and 20% need JSON extraction (1 scrape credit plus a usage-metered LLM token cost), that is (800 × 1) + (200 × 1) = 1,000 scrape credits per 1,000 pages, plus the metered LLM usage for those 200 extractions. Always account for the extraction leg; the most common mistake is budgeting extraction-heavy work as a flat 1 credit per page when each extraction also bills usage-metered LLM credits that scale with page size.
Can I avoid per-credit billing by self-hosting?
Yes. Credits only meter the managed cloud. fastCRW's engine is an AGPL-3.0 single static Rust binary you can self-host with no credit meter at all — $0 per 1,000 scrapes, paying only for your own server, versus $0.83–5.33 per 1,000 on Firecrawl's hosted tiers. At high, steady volume the binding cost becomes a fixed server bill instead of a per-operation meter.

Get Started

Try fastCRW free

Run a live request in the playground — no signup required. Or grab a free API key with 500 credits, no credit card.

Continue exploring

More engineering posts

View category archive