Skip to main content
Comparison

Apify Cost at Scale: CU Stacking Explained

Apify stacks compute units, proxy, and per-result fees, so cost at scale is hard to forecast. See how CU stacking works versus a flat per-page credit.

fastcrw
By RecepJuly 7, 20269 min readLast updated: June 2, 2026

By the fastCRW team · Competitor pricing characterized qualitatively, fastCRW figures verified 2026-05-18 · fastCRW prices: see /pricing, verify independently before buying.

Disclosure: We build fastCRW. This is a vendor-authored comparison, so weight it accordingly — the worked cost math below runs only on fastCRW's frozen, published credit model, and we keep a "Where Apify genuinely wins" section because a comparison that pretends the competitor has none is useless to you.

How Apify cost stacks up at scale

If you are trying to answer "what will Apify cost at scale" for a data team running Actors at volume, the hard part is not finding a number — it is that there is no single number. Apify's platform bill is composed of several metered dimensions that stack on the same run, and each one moves independently of the page count you actually care about. Understanding that stacking is the whole game when you forecast monthly spend.

The three dimensions teams most often trip over are:

  • Compute units (CUs). Actors are billed for the compute they consume — roughly memory allocated multiplied by wall-clock runtime. A heavier headless-browser Actor on a bigger memory setting burns CUs faster than a lightweight HTTP Actor, even when both fetch the same number of pages.
  • Proxy traffic. Datacenter and residential proxy usage is metered separately. Residential and other premium proxy classes cost materially more per gigabyte than datacenter, so a switch made to defeat anti-bot defenses quietly changes your unit economics.
  • Per-result or Actor-specific charges. Many marketplace Actors layer their own pay-per-result or rental pricing on top of the platform's compute and proxy meters.

None of these is a defect. A general compute platform that runs arbitrary Actors genuinely cannot price like a fixed-shape API, because it does not know in advance what your Actor will do. The trade-off is real: you get a marketplace of thousands of prebuilt scrapers, and in exchange the bill is multi-dimensional. We are characterizing Apify's model qualitatively here — compute-unit, proxy, and per-result meters that stack — not quoting a frozen dollar figure, because their live pricing should be read off their own page, not ours.

The forecastability problem

The reason CU stacking matters for budgeting is that the dimension you can predict (page count) is not the dimension you are billed on (compute time, proxy gigabytes, per-result counts). Two runs that scrape the same 10,000 URLs can produce different bills if one hits more JS-heavy pages, retries more often, or routes more traffic through residential proxies. The cost is a function of execution, not intent.

That is where bills surprise mid-volume teams. A pipeline that looked cheap in a 1,000-page proof of concept can scale super-linearly when:

  • A site tightens its anti-bot posture, pushing you from datacenter to residential proxies — the per-gigabyte rate jumps while the page count stays flat.
  • Target pages get heavier, so each Actor run holds memory longer and consumes more CUs per page.
  • You add a marketplace Actor with its own per-result fee, introducing a fourth meter you now have to model.

To forecast accurately, you have to estimate CU consumption per run, proxy mix, and per-result counts independently, then sum them. That is a legitimately hard modeling exercise, and it is the core of the "Apify cost at scale" question. The alternative is not a cheaper platform — it is a pricing model with fewer moving parts.

fastCRW's single-dimension credit model

fastCRW takes the opposite stance: one dimension, metered per operation, published in a short table. Every number here traces to fastCRW's internal source of recordso you can forecast a monthly bill from page volume alone.

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

There are no separate proxy gigabytes to model, no compute-time meter, and no per-result rental layered on top. JSON extraction is the 1-credit scrape plus the LLM token cost, billed as usage-metered LLM credits in the same currency — not a second subscription. The renderer is chosen automatically (chrome → lightpanda → http fallback), and every renderer — including Chrome — costs the same flat 1 credit.

Concretely, forecasting works like arithmetic. If you scrape 100,000 pages in a month, that is 100,000 credits — regardless of which renderer each page uses, including Chrome. There is no fourth or fifth variable hiding in a proxy line item. For the tier dollar figures behind those credits, see live /pricing — we deliberately do not hard-code the table here so it can never drift out of date.

Honest gap: no Actor marketplace

Here is the trade-off in the other direction, stated plainly. fastCRW is a primitive — a single static Rust binary exposing a Firecrawl-compatible REST surface (/v1/scrape, /v1/crawl, /v1/map, /v1/search) — not a marketplace of prebuilt scrapers. There is no equivalent of Apify's Actor store, no library of site-specific extractors maintained by a community, and no place to rent a turnkey "scrape this exact social network" Actor.

It also lacks some cloud-only specialties worth naming up front: no Fire-engine-class anti-bot, no residential proxy pool, and the engine is stateless per request (no persistent session or login state). If your workload depends on a long-tail site that already has a well-maintained Apify Actor — and building and maintaining your own extractor against that site would cost more engineering time than the stacked CU bill — then Apify's marketplace is genuinely the cheaper path once you price in your own labor. That is a real win for Apify, not a concession we make grudgingly.

Cost at scale: a like-for-like estimate

Because Apify's pricing is multi-dimensional and not S0-locked in our records, we will not invent a head-to-head dollar table. Instead, here is the forecastable side — fastCRW's flat credit model — worked at scale, so you have a concrete baseline to compare your own Apify estimate against.

Workload (per month)fastCRW creditsHow it is computed
10,000 static scrapes10,0001 credit/page
10,000 scrapes, all chrome-rendered10,0001 credit/page (same as any renderer)
10,000-page crawl10,0001 credit/page
10,000 JSON extractions10,000 + LLM token cost1 credit/request + usage-metered LLM token cost

The point is not the exact credit totals — it is that every web-fetch cell is computed from a single input you control (page volume) times a published per-operation rate; extraction adds a usage-metered LLM token cost on top of its 1-credit scrape, and there is no proxy or compute variable anywhere in the formula. You can do the page-fetch math on a napkin before you write a line of code.

And there is a hard escape hatch at the top of the curve. Self-hosting the AGPL-3.0 engine costs $0 per 1,000 scrapes — you pay only for your own server. For large recurring jobs, that caps your worst-case cost at a VPS bill rather than an open-ended metered total, which a hosted-only platform structurally cannot offer. For a broader treatment of where the curve bends, see the cost of web scraping at scale.

Where Apify genuinely wins

To be fair about it:

  • The Actor marketplace. Thousands of prebuilt, community-maintained scrapers for specific sites. If one already covers your target, you skip the build-and-maintain cost entirely — and that can beat any flat-rate API on total cost of ownership.
  • Proxy depth and anti-bot. A managed residential proxy pool and mature anti-bot infrastructure that fastCRW does not match. For aggressively defended targets, that depth is the product.
  • Orchestration and scheduling primitives. A general compute platform with storage, schedules, and integrations baked in — more than a stateless scrape/crawl primitive offers out of the box.
  • Pay-only-for-what-runs. For spiky, irregular workloads, a pure compute meter can be cheaper than a credit allowance you do not fully use — the same flexibility that makes it hard to forecast also makes it efficient when usage is genuinely variable.

Which cost model fits your workload

The choice comes down to predictability versus breadth. If your spend forecast has to be defensible to a finance team, if your volume is steady, and if you can express your job as scrape/crawl/map/search/extract, a single-dimension credit model is the more forecastable shape — and self-host gives it a hard floor. If your value is concentrated in long-tail Actors, deep proxy infrastructure, or genuinely spiky compute, Apify's stacked model earns its complexity. Map your real workload onto the per-1,000-page math above, compare it against your own Apify estimate built from CU, proxy, and per-result lines, and let the two numbers decide.

Sources

Related: Apify pricing explained · Apify vs fastCRW · Cost of web scraping at scale

FAQ

Frequently asked questions

How does Apify pricing work at scale?
Apify bills across several metered dimensions that stack on the same run: compute units (memory × runtime), proxy traffic (datacenter vs the pricier residential classes), and per-result or rental fees on marketplace Actors. Because the dimension you can predict (page count) is not the one you are billed on (compute time, proxy gigabytes, per-result counts), forecasting at scale means modeling each meter independently. Check apify.com/pricing for current rates.
What are compute units and why do they stack with proxy fees?
A compute unit roughly tracks memory allocated multiplied by how long an Actor runs. A heavier headless-browser Actor burns CUs faster than a lightweight HTTP one even at the same page count. Proxy traffic is metered separately on top, and residential proxies cost materially more per gigabyte than datacenter — so a switch made to defeat anti-bot defenses changes your unit economics independently of CUs. That independence is why the dimensions stack into a bill that is hard to forecast from page volume alone.
How does fastCRW make scraping cost predictable?
fastCRW meters a single dimension: 1 credit = 1 page for scrape and crawl (any renderer, including Chrome), 1 per search query, 1 per map, and 1 credit plus the usage-metered LLM token cost for any JSON extraction request. There is no separate proxy meter, no compute-time meter, and no per-result rental — so you can estimate the web-fetch side of a monthly bill from page volume alone. Tier dollar figures live on /pricing rather than hard-coded, so they never drift.
Does fastCRW have an Actor marketplace like Apify?
No. fastCRW is a primitive — a single static Rust binary with a Firecrawl-compatible REST API — not a marketplace of prebuilt, site-specific scrapers. If a well-maintained Apify Actor already covers your exact target site and building your own would cost more engineering time than the stacked compute bill, Apify's marketplace is genuinely the cheaper path. fastCRW also has no residential proxy pool or Fire-engine-class anti-bot.
How do I cap my worst-case scraping cost?
Self-host the AGPL-3.0 engine: it costs $0 per 1,000 scrapes — you pay only for your own server. That turns an open-ended metered total into a fixed VPS bill, which is especially valuable for large recurring crawls. A hosted-only platform cannot offer that floor structurally, because there is no version of it you can run yourself.

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 comparison posts

View category archive