Home / Guides

What does it cost to crawl a list of URLs at 10K, 100K, and 1M?

A current, source-backed cost table for sending a known list of ordinary HTML URLs to scraping APIs, including plan throughput, domain effects, and crawl-versus-scrape pricing.

ExactWritten against 74 products47 cited sourcesUpdated 2026-07-26

Where the retained snapshot sits

$99.00ExactHasData, Business. The lowest exact published bill for 100,000 JavaScript-rendered pages a month.No published lower bound sits beneath it.

The dataset behind this guide

Products priced74
Latest recorded source date2026-07-26
Guide last reviewed2026-07-26
Sources cited below47
  1. Successes you want

    100,000 pages

    Your stated workload. Every vendor on this site is priced against this same number.

  2. × 1

    Attempts you are billed for

    100,000 requests

    HasData does not bill failed fetches, so failures cost nothing here.

  3. × 10

    What the meter counts

    1,000,000 credits

    One attempt is not one billed unit here: this workload multiplies by 10 before any money is involved.

  4. =

    Cash per month

    $99.00 /mo

    Business. Cheapest of every eligible purchase option, not the first plan that fits.

Bars share one linear scale across the 3 counted stages, so a multiplier shows as length. Units differ by stage and are labelled. Cash is not on that scale.

What is calculated and what is checked. The bill and ladder above are engine output for this guide's own workload. The prose below is written by a person. Each money figure is checked against the dated vendor price stored with this guide, but that does not mean the vendor page was freshly rechecked. A mismatch must be explained by the shown arithmetic or another cited vendor fact, or the page is not published.

Among offers that can be priced from URL count alone, recurring free tiers make 10,000 simple-tier HTML URLs cost $0 at ScrapingAnt and Diffbot; at 100,000, Zyte is lowest at $13, and at 1,000,000, ScrapingDog is lowest at $90. The cheapest vendor changes at both steps: ScrapingAnt or Diffbot at 10K, Zyte at 100K, then ScrapingDog at 1M. ScrapingAnt, Diffbot, Zyte, and ScrapingDog (retrieved 2026-07-26).

What this comparison prices

Each URL is submitted once for a public static HTML response at the vendor’s basic or simplest target tier. The table excludes JavaScript rendering, premium or residential routing, screenshots, AI extraction, target-specific surcharges, client retries, taxes, and annual discounts. It uses monthly self-serve pricing and assumes every submitted URL produces the vendor’s billable outcome. Recurring monthly free tiers count; one-time signup credits and trials do not. One-time request packs count when they are the vendor’s standard self-serve purchase. That is the only baseline that can be applied consistently across the current records.

The dollar cells use the site’s bill engine where its normalized meter and plan are compatible. A marks a source correction, a first-party conflict, or a purchase condition the engine cannot represent. “Not published” is not treated as zero.

Full cost table

The plan shown is the cheapest published way to cover that column’s volume. Throughput is the limit on the selected plans in 10K / 100K / 1M order. NP means the vendor does not publish a usable numeric concurrency limit.

Full cost table table

Vendor 10,000 URLs 100,000 URLs 1,000,000 URLs Selected-plan throughput Source and retrieval date
Zyte API $1.30 PAYG† $13 PAYG† $100 minimum commitment† 3,000 req/min; concurrency NP Zyte pricing and billing docs (retrieved 2026-07-26)
Nimble $9 PAYG $90 PAYG $900 PAYG NP Nimble pricing (retrieved 2026-07-26)
ScrapeOps $9, 25K plan $19, 100K plan $99, 1M plan 1 / 1 / 50 threads ScrapeOps pricing and request costs (retrieved 2026-07-26)
Bright Data Web Unlocker $15 PAYG $150 PAYG $1,301.10, Scale† Unlimited, with no numeric cap Bright Data pricing (retrieved 2026-07-26)
BrowserCloud $19, Hobby $19, Hobby $99, Startup 5 / 5 / 50 BrowserCloud pricing (retrieved 2026-07-25)
ScrapingAnt $0, Free† $19, Enthusiast $249, Business Numeric cap NP ScrapingAnt pricing (retrieved 2026-07-26)
Decodo Web Scraping API $19 plan $49 plan Custom quote 10 / 25 / custom req/s Decodo pricing (retrieved 2026-07-26)
ScrapingFish $20 pack $200 pack $2,000 pack 25 per target domain ScrapingFish packs and service page (retrieved 2026-07-26)
ScrapeGraphAI Scrape $20, Starter $100, Growth $1,250, Pro plus top-ups 100 / 500 / 5,000 req/min; 3 / 15 / 50 concurrent crawls ScrapeGraphAI pricing (retrieved 2026-07-26)
ScrapeNinja $25, Pro $25, Pro $150, Mega 100 / 100 / 300 req/min; concurrency NP ScrapeNinja pricing (retrieved 2026-07-26)
Browserbase Fetch API $29, Developer† $119, Developer† First-party conflict: $594 or $1,019 5 Fetch req/s per project Browserbase pricing (retrieved 2026-07-26)
Olostep $29, Starter plus one top-up† $99, Standard $399, Scale 150 / 500 / NP Olostep pricing (retrieved 2026-07-26)
Scrape.do $29, Hobby $29, Hobby $99, Pro 10 / 10 / 50 Scrape.do pricing and request costs (retrieved 2026-07-26)
Scrapfly $30, Discovery $30, Discovery $100, Pro 5 / 5 / 20 Scrapfly pricing (retrieved 2026-07-26)
Hyperbrowser Fetch $30, Startup $100, Scale† $1,000, Scale plus usage† 25 / 100 / 100 Hyperbrowser pricing and billing docs (retrieved 2026-07-25)
ScrapingDog $40, Lite $40, Lite $90, Standard 5 / 5 / 50 ScrapingDog pricing and request costs (retrieved 2026-07-26)
ScraperAPI $49, Hobby $49, Hobby $149, Startup 20 / 20 / 50 ScraperAPI pricing and credit costs (retrieved 2026-07-26)
ScrapingBee $49, Freelance $49, Freelance $99, Startup 50 / 50 / 100 ScrapingBee pricing and credit costs (retrieved 2026-07-26)
WebScrapingAPI $49, Basic $149, Advanced Custom quote 20 / 100 / custom WebScrapingAPI pricing (retrieved 2026-07-26)
Oxylabs Web Scraper API $49, Micro† $110, Starter† $999, Business† 50 / 50 / 100 req/s Oxylabs pricing (rechecked 2026-07-29)
ZenRows $69.99, Developer $69.99, Developer $129.99, Startup 20 / 20 / 50 ZenRows pricing docs (retrieved 2026-07-26)
Firecrawl $99, Standard $99, Standard $749, Scale 50 / 50 / 150 Firecrawl pricing (retrieved 2026-07-26)
Browse AI $162, Professional 10K First-party top-up conflict† First-party top-up conflict† NP Browse AI plan guide (retrieved 2026-07-26)
Diffbot Bulk Extract $0, Free† $299, Startup $899, Plus 5 calls/min / 5 calls/s / 25 calls/s Diffbot pricing and credit rules (retrieved 2026-07-26)

The marked cells need context:

  • ScrapingAnt and Diffbot each publish a recurring 10,000-unit free tier. The bill engine now applies ScrapingAnt’s compatible request meter and returns $0 at 10K. Diffbot’s record does not publish a request.basic billing unit, so its sourced $0 table cell is not presented as an engine result; its free plan is also limited to 5 calls per minute. ScrapingAnt and Diffbot (reviewed 2026-07-29).

  • Zyte’s current page publishes $0.13 per 1,000 simple HTTP responses on PAYG and $0.10 per 1,000 at the $100 commitment. The bill engine now preserves the explicit PAYG meter and plan-specific commitment rate, producing $1.30, $13, and $100 for the three columns rather than relabelling the fee-less plan as a quote. Zyte pricing (reviewed 2026-07-29).

  • Bright Data’s engine result at 1M is $1,299.80, but it gets that number by applying the Web Unlocker request meter to a Web Scraper API record plan. The comparable Web Unlocker calculation is $499 + 617,000 x $0.0013 = $1,301.10. Bright Data pricing (retrieved 2026-07-26).

  • Browserbase includes 1,000 Fetch calls on Developer and charges $1 per 1,000 afterward. That makes 10K cost $20 + 9 x $1 = $29, and 100K cost $20 + 99 x $1 = $119. At 1M, the Startup card says $1 per 1,000 over its included 10,000, while the comparison table says $0.50; those two published paths make the cheapest bill either $1,019 on Developer or $594 on Startup. There is no honest single number until Browserbase resolves the conflict. Browserbase pricing (retrieved 2026-07-26).

  • Olostep’s engine chooses the $99 Standard plan at 10K because it does not model credit packs. The published $9 Starter plan includes 5,000 requests, and a 10,000-credit pack costs $20, so the purchasable total is $29. Olostep pricing (retrieved 2026-07-26).

  • Oxylabs publishes target- and plan-specific rates plus plan-specific top-up caps. The engine now applies the “other sites” rate on each eligible plan, excludes Custom+ because its commitment is not published, and enforces the top-up caps. That produces $49 on Micro, $110 on Starter, and $999 on Business for 10K, 100K, and 1M simple successful URLs. Oxylabs pricing (reviewed 2026-07-29).

  • Browse AI’s plan guide says Professional monthly top-ups range from $0.022 to $0.017 per credit, but its FAQ on the same page says monthly Professional top-ups cost $0.030. The 10K plan price is unambiguous; the larger bills are not. Browse AI plan guide (retrieved 2026-07-26).

Vendors that can fetch the URLs but do not publish enough for this table

These are not exclusions for being expensive. They are products whose public model needs an input that a URL count does not supply, or whose current rate is not public.

Vendors that can fetch the URLs but do not publish enough for this table table

Vendor Why 10K, 100K, and 1M cannot be priced honestly Published throughput information
AgentQL One extraction request is metered, but the page does not say when remote-browser time is additive. Starter: 10 calls/min and 5 browser sessions. Professional: 50 calls/min and 100 sessions. AgentQL (retrieved 2026-07-25).
Anchor Browser A task can add browser time, residential GB, and AI steps; the homepage and docs also disagree on browser-hour price. Starter 25, Team 50, Growth 200 sessions. Anchor billing docs (retrieved 2026-07-25).
Apify Cost depends on the chosen Actor, memory, runtime, storage, transfer, and proxy use. There is no platform-wide per-URL rate. Plan compute limits are published, but a URL-list concurrency number is not. Apify pricing (retrieved 2026-07-26).
Browser Use Cloud The bill combines browser time, steps, model use, and proxy traffic. URL count alone is insufficient. PAYG 25, Starter 50, Business 250, Scaleup 500 sessions. Browser Use pricing (retrieved 2026-07-25).
Cloudflare Browser Rendering Pricing is by browser time and monthly-average browser slots, so page duration is required. Workers Paid includes 10 concurrent browsers; Quick Actions publish 10 req/s. Cloudflare pricing (retrieved 2026-07-25).
Crawlbase Each domain receives a complexity tier, but the numeric tier prices were not exposed in the public static page. General API concurrency NP; enterprise crawler says 30 URLs/s. Crawlbase pricing and docs (retrieved 2026-07-26).
Jina AI Reader Current token-pack prices sit behind an API-key billing widget, so output tokens cannot be converted to dollars publicly. Reader shows 500 req/min for free and paid keys. Jina Reader (retrieved 2026-07-25).
Kadoa The public pricing page gives plan names but no price, consumption unit, or rate. Not published. Kadoa pricing (retrieved 2026-07-25).
Lightpanda Cloud The published billing unit is browser hours, so a page-duration assumption would be required. Builder allows 30 sessions. Lightpanda pricing (retrieved 2026-07-25).
SOAX Web Data API The current public page does not expose a billing unit for its request meter or its selected dynamic plan table. Not published. SOAX Web Data API (retrieved 2026-07-26).
Spider.cloud A $40 Unlimited plan publishes 2 concurrent requests, but the bill for finishing a fixed list depends on whether the crawl fits inside one billing month. URL count without page duration cannot answer that. Unlimited plans publish 2, 10, 25, 50, and an upper example of 1,539 concurrent requests. Spider.cloud pricing (retrieved 2026-07-26).

Worked numbers: Olostep purchase paths at 10K, 100K, and 1M

Olostep’s dataset record exposes every input needed for this calculation. A standard scrape costs 1 credit. Starter costs $9 and includes 5,000 requests, Standard costs $99 and includes 200,000, and Scale costs $399 and includes 1,000,000. Starter’s overage note lists a 10,000-credit top-up for $20, valid for six months. The separate x402 path records a $0.01 basic-request meter. The one-time 500-request trial is excluded under this guide’s baseline. Olostep pricing and x402 docs (retrieved 2026-07-25).

At 10,000 URLs, Starter is 5,000 credits short. The recorded top-up covers that gap, but its pack size leaves another 5,000 credits available after this job. Olostep pricing (retrieved 2026-07-25).

10,000 URLs x 1 credit = 10,000 credits required
5,000 Starter credits + 10,000 top-up credits = 15,000 credits purchased
10,000 - 5,000 = 5,000-credit shortfall before the top-up
$9 Starter + $20 top-up = $29
15,000 - 10,000 = 5,000 credits left

The remaining top-up credits are not treated as lost: the record says the pack is valid for six months. The $29 is the cash required for this purchase path, not a claim that all 15,000 purchased credits are consumed by the job. Olostep pricing (retrieved 2026-07-25).

At 100,000 URLs, Standard covers the job without a top-up. Olostep pricing (retrieved 2026-07-25).

100,000 URLs x 1 credit = 100,000 credits required
Standard includes 200,000 credits
$99 Standard bill
200,000 - 100,000 = 100,000 credits left

The table therefore uses $99, rather than extending Starter with an unpublished universal overage rate. Olostep publishes top-ups but does not publish one rate that can safely be applied to every paid plan. Olostep pricing (retrieved 2026-07-25).

At 1,000,000 URLs, Scale lands exactly on its recorded allowance. Olostep pricing (retrieved 2026-07-25).

1,000,000 URLs x 1 credit = 1,000,000 credits required
Scale includes 1,000,000 credits
$399 Scale bill
1,000,000 - 1,000,000 = 0 credits left

No top-up arithmetic or assumed overage rate is needed at 1M. Olostep pricing (retrieved 2026-07-25).

The x402 meter provides a second fully recorded purchase path. Applying its $0.01 basic-request rate to the same URL counts produces the totals below. x402 docs (retrieved 2026-07-25).

10,000 x $0.01 = $100; $100 - $29 plan-and-pack bill = $71
100,000 x $0.01 = $1,000; $1,000 - $99 plan bill = $901
1,000,000 x $0.01 = $10,000; $10,000 - $399 plan bill = $9,601

Those differences are calculated comparisons, not extra vendor prices. The exact cash outlay per submitted URL in the three selected plan paths is likewise calculated: $29 / 10,000 = $0.0029, $99 / 100,000 = $0.00099, and $399 / 1,000,000 = $0.000399. Olostep pricing and x402 docs (retrieved 2026-07-25).

Olostep says it bills only successfully completed requests. This guide retains its stated comparison assumption that every submitted URL produces the billable outcome, and it does not assign a success rate. Olostep pricing (retrieved 2026-07-25).

One domain versus many domains

For most request-metered APIs, domain count alone does not change the baseline bill. Target class does. ScraperAPI publishes 1 credit for a standard page, 5 for Amazon, 25 for Google or Bing, and 30 for LinkedIn. A mixed-domain list must therefore be bucketed by the applicable target cost before its credits are totaled. ScraperAPI pricing and credit docs (retrieved 2026-07-26).

Three vendors make domain count operationally important:

  • ScrapingFish publishes 25 simultaneous requests per target domain. One domain remains capped at 25; a list spread across independent domains can have more total work in flight without exceeding any one domain’s cap. This affects elapsed time, not its $0.002 successful-request price. ScrapingFish (retrieved 2026-07-26).

  • Crawlbase assigns a domain-complexity tier. One-domain work stays in one tier, while a many-domain list can contain several prices. The numeric tiers were not publicly retrievable, so no blended bill belongs in the table. Crawlbase docs (retrieved 2026-07-26).

  • Browse AI limits Personal to 5 websites and Professional to 10; pages and subdomains sharing one core domain count as one website. Its monthly add-on price is $5 per website on Personal and $3 on Professional, paid annually. Domain count can therefore add a separate website-slot charge even when page credits are unchanged. Browse AI plan guide (retrieved 2026-07-26).

Concurrency determines time, not just plan fit

If a plan allows C simultaneous requests and the average completed request occupies a slot for L seconds, the ideal lower bound is:

elapsed seconds >= URL count x L / C

The table does not invent L, so it does not publish crawl durations. It does show the cap that controls them. A $9 ScrapeOps plan has only 1 thread, while its $99 1M plan has 50; ScrapingDog moves from 5 on Lite to 50 on Standard. ScrapeOps pricing and ScrapingDog pricing (retrieved 2026-07-26).

Rate limits need a different lower bound. Decodo publishes 10, 25, and 50 requests per second across its three paid tiers, while ScrapeNinja publishes 100, 200, and 300 per minute across Pro, Ultra, and Mega. Those are throughput limits, not stated simultaneous-request limits. Decodo pricing and ScrapeNinja pricing (retrieved 2026-07-26).

Do not read “unlimited concurrency” as zero elapsed time. Bright Data publishes no numeric cap, but target latency, client capacity, retry policy, and site-side limits still exist; this guide does not assign numbers to them. Bright Data pricing (retrieved 2026-07-26).

Is a crawl endpoint cheaper than N scrape calls?

Not among the vendors whose current records publish both sides. A crawl endpoint may discover links and manage a job, but none of the comparable published formulas discounts the page work:

Is a crawl endpoint cheaper than N scrape calls? table

Vendor Direct scrape or bulk cost Crawl cost Break-even
Nimble VX6 Extract is $0.90 per 1,000 successful URLs. Crawl is billed as the sum of its Extract requests at the same driver rate. Never cheaper per page. Nimble pricing (retrieved 2026-07-26).
Firecrawl Scrape costs 1 credit per page. Crawl costs 1 credit per page. Equal at every page count. Firecrawl pricing (retrieved 2026-07-26).
Diffbot Bulk Extract uses 1 credit per extracted page, and Diffbot directs buyers with a complete URL list to Bulk API. Spidering links costs 0, but every successfully extracted crawl page still costs 1 credit. Crawl access is limited to Plus in its Crawl docs. No per-page saving; the endpoint can add a higher plan floor. Diffbot credits and Crawl docs (retrieved 2026-07-26).
ScrapeGraphAI Markdown Scrape costs 1 credit per URL. Crawl costs 2 + 1 x pages without stealth. Never cheaper. At 10,000, Scrape exactly fills Starter for $20; Crawl needs 10,002 credits, forcing the minimum 1,000-credit $5 top-up and a $25 bill. ScrapeGraphAI pricing (retrieved 2026-07-26).

Use Crawl when discovery, same-domain traversal, collection assembly, or scheduling is worth the endpoint behavior. For a list you already possess, the current published math provides no crawl-endpoint discount.

Sources