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.
Where the retained snapshot sits
The dataset behind this guide
Successes you want
100,000 pages
Your stated workload. Every vendor on this site is priced against this same number.
- × 1
Attempts you are billed for
100,000 requests
HasData does not bill failed fetches, so failures cost nothing here.
- × 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.
- =
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$0at10K. Diffbot’s record does not publish arequest.basicbilling unit, so its sourced$0table cell is not presented as an engine result; its free plan is also limited to5calls per minute. ScrapingAnt and Diffbot (reviewed 2026-07-29). -
Zyte’s current page publishes
$0.13per1,000simple HTTP responses on PAYG and$0.10per1,000at the$100commitment. The bill engine now preserves the explicit PAYG meter and plan-specific commitment rate, producing$1.30,$13, and$100for 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
1Mis$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,000Fetch calls on Developer and charges$1per1,000afterward. That makes10Kcost$20 + 9 x $1 = $29, and100Kcost$20 + 99 x $1 = $119. At1M, the Startup card says$1per1,000over its included10,000, while the comparison table says$0.50; those two published paths make the cheapest bill either$1,019on Developer or$594on Startup. There is no honest single number until Browserbase resolves the conflict. Browserbase pricing (retrieved 2026-07-26). -
Olostep’s engine chooses the
$99Standard plan at10Kbecause it does not model credit packs. The published$9Starter plan includes5,000requests, and a10,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
$49on Micro,$110on Starter, and$999on Business for10K,100K, and1Msimple successful URLs. Oxylabs pricing (reviewed 2026-07-29). -
Browse AI’s plan guide says Professional monthly top-ups range from
$0.022to$0.017per credit, but its FAQ on the same page says monthly Professional top-ups cost$0.030. The10Kplan 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
25simultaneous requests per target domain. One domain remains capped at25; 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.002successful-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
5websites and Professional to10; pages and subdomains sharing one core domain count as one website. Its monthly add-on price is$5per website on Personal and$3on 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
- www.zyte.com/pricing/
- docs.zyte.com/zyte-api/pricing.html
- docs.nimbleway.com/nimble-sdk/admin/pricing
- brightdata.com/pricing/web-unlocker
- help.browse.ai/en/articles/11429429-how-do-plans-and-pricing-work
- scrapeops.io/proxy-aggregator/
- scrapeops.io/docs/web-scraping-proxy-api-aggregator/account/request-costs/
- www.browsercloud.io/pricing
- scrapingant.com/price-scraping-api
- decodo.com/scraping/web/pricing
- scrapingfish.com/
- scrapingfish.com/buy
- scrapegraphai.com/
- rapidapi.com/restyler/api/scrapeninja/pricing
- www.browserbase.com/pricing
- www.olostep.com/
- scrape.do/pricing/
- scrape.do/documentation/request-costs/
- scrapfly.io/pricing
- spider.cloud/pricing/
- www.scrapingdog.com/pricing/
- www.scrapingdog.com/documentation/
- www.scraperapi.com/pricing/
- docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs
- www.scrapingbee.com/pricing/
- help.scrapingbee.com/en/article/amount-of-credits-for-each-type-of-request-1h2ackp/
- www.webscrapingapi.com/pricing/scraper-api
- www.webscrapingapi.com/web-scraping-api-quick-start-guide
- oxylabs.io/products/scraper-api/web/pricings
- www.hyperbrowser.ai/pricing
- www.hyperbrowser.ai/docs/pricing
- docs.zenrows.com/first-steps/pricing
- www.firecrawl.dev/pricing
- www.diffbot.com/pricing/
- docs.diffbot.com/docs/how-credits-work
- docs.diffbot.com/reference/crawl-introduction
- www.agentql.com/
- docs.anchorbrowser.io/pricing
- apify.com/pricing
- browser-use.com/pricing
- developers.cloudflare.com/browser-run/pricing/
- crawlbase.com/pricing
- crawlbase.com/docs/crawling-api
- jina.ai/reader/
- www.kadoa.com/pricing
- lightpanda.io/pricing
- soax.com/web-data-api