Skip to content
CrawlfolioSourced research on web data for AI

At 1M monthly generic pages, the computed prices are about $0.08 per 1K for scrapestack plain HTML, $0.35 for Scrapingdog JavaScript, and $0.70 for Scrape.do premium proxies. They price different configurations; none is a measured quality, success-rate or speed winner.

I refreshed the current pricing claims on 31 October 2026. The tracker has 23 rows across scraping, unlocking, crawling and platform products. Unknown exact tariffs remain blank, with individual source dates and limitations. I withdrew the old cohort medians rather than mix withdrawn cells with current prices.

Short on time?

My cost shortlist

Plain HTML at 1M
scrapestack
$79.99 monthly for 1M requests, about $0.08 per 1K. JavaScript and premium multipliers are unpriced here.
JavaScript at 1M
Scrapingdog
$350 monthly covers 6M credits. At five credits per rendered page, 1M pages consume 5M.
Premium proxies at 1M
Scrape.do
$699 monthly covers the 10M credits that 1M ten-credit premium calls need, with no credit buffer.

Prices verified . Sponsors cannot buy a verdict or a position.

Which web scraping API is cheapest? Seven picks and their catch #

For the computed generic-page cohort, the low-cost choices change with volume and mode: ScrapingAnt for 100K plain pages, Scrapingdog for 100K JavaScript pages, and Scrape.do for 1M premium-proxy pages. These are conditional cost choices; billing units do not establish equivalent usable output.

Scrapingdog: cheapest JS and premium at 100K #

Scrapingdog charges one credit plain, five with JavaScript, ten with premium proxies and 25 for both. Standard $90/1M credits covers 100K rendered pages at $0.90 per 1K; Premium $350/6M covers 1M rendered pages at $0.35. Its pricing page advertises credit-back for failed requests and rollover from Standard upward. Its FAQ says a downgrade resets credits to the new plan’s allowance, with no proration.

Scrapingdog's pricing page on monthly billing, with eight plan cards: Free $0 (100 credits), Lite $40, Standard $90, Pro $200, Premium $350, Business $500, Business Plus $1,000 and Business Pro $1,500
Scrapingdog's plans on 27 Sep 2026, in USD with monthly billing selected. Standard's 1,000,000 credits cover 100K JS requests at 5 credits each, and Premium's 6,000,000 cover the 5M credits that 1M JS requests need. Screenshot: Scrapingdog pricing page, 27 Sep 2026 · Screenshot of a public page (commentary/review)

That dated screenshot illustrates the old capture, not a fresh account check. Current calculations use the pricing source above. Set your desired rendering/proxy options explicitly; do not assume an unspecified mode is the plain rate.

Scrape.do: cheapest premium at 1M #

Request costs are one plain, five rendered, ten premium and 25 combined, with domain-specific exceptions. The $699/10M-credit Advanced plan exactly covers 1M premium calls: $0.699 per 1K, rounded $0.70. Billed errors or repeat calls require a buffer. The pricing page permits additional credits/upgrades, but I do not assert an unpublished overage rate.

scrapestack: cheapest plain requests at 1M #

The Professional plan is $79.99 for 1M monthly requests; Basic is $19.99/200K. That yields about $0.08 per 1K at 1M and $0.20 at 100K. I have not established the higher-plan JavaScript/premium request weights, so those comparisons remain blank.

ScrapingAnt: cheapest plain plan at 100K #

ScrapingAnt advertises 10K recurring free credits and paid plans $19/100K, $49/500K and $249/3M. At 100K plain requests, $19 is $0.19 per 1K; 1M requires the $249 single monthly plan under this method. Restarting subscriptions is excluded from the comparison.

Its default browser setting is enabled. Credit costs are one plain, ten browser, 25 residential and 125 residential-browser. Send browser=false for the quoted static rate; 100K default browser calls need 1M credits and the $249 plan.

Zyte API: lowest pay-as-you-go rate on easy sites #

Zyte publishes HTTP $0.13–$1.27 and browser $1.01–$16.08 per 1K across difficulty tiers. The easiest-site floor is not a guaranteed rate for your domain. At 1M rendered pages, the $500 commitment’s $0.48 floor yields $480 usage but a $500 minimum bill: $0.50 per 1K.

Its billing documentation makes unsuccessful/rate-limited responses free and unused commitment non-refundable. Residential base costs are not established for this comparison.

ZenRows: free JS at 1K, cheap JS at 1M #

ZenRows monthly prices include $19/45K, $39/120K, $99/500K and $549/5M credits. The recurring free grant is 5K credits. At five credits per browser request, that covers 1K rendered pages; 1M needs the $549 tier, or $0.55 per 1K.

The Fetch API reference defaults rendering and premium proxy off. Plan credits expire at each renewal; unused top-up credits roll over one period. The page has separate yearly prices; the monthly Scale minimum is $549, not the yearly-equivalent $458. I do not assume annual billing in the table.

Bright Data Web Unlocker: rendering included in one rate #

Web Unlocker includes rendering in its unlocker rate: PAYG $1.50 per 1K, and on 31 October the Scale card showed $499/month for 383K requests plus $1.30 per 1K. At 1M, that costs $499 + 617 × $1.30 = $1,301.10, or about $1.30 per 1K, gross of any free-credit stacking.

The dataset table now shows $1.30 at 1M, from the visible Scale card. The $1.10 figure I recorded on 16 October came from larger Scale slider tiers that the page did not show on 31 October, so it stays only in the row note until those tiers reappear.

Its page advertises 5K monthly free requests. I have not verified how this grant applies alongside a paid account or other products, so I do not subtract it from the paid example.

How did I normalize web scraping API prices? #

  1. Generic page, explicit mode. Plain means HTML without browser rendering, JS means a browser page, and premium means a premium/residential option without rendering. Domain-specific, extraction, screenshot and other surcharges are excluded.
  2. Volume before sticker rate. Multiply pages by credits per request, select one published monthly plan plus supported overage, then divide total cost by thousands of requests. Unused monthly allocation is still paid.
  3. Respect commitments and expiry. Difficulty pricing uses the easiest tier and its commitment floor. Prepaid packs use only the pages usable before expiry at steady monthly volume. Upfront cash is separate from averaged consumption cost.
  4. Use recurring free grants only when they cover the whole job. One-time trials do not make recurring volume free. Optional features or other account use can reduce available capacity.
  5. Withhold unsupported totals. A blank is an unpriced configuration, not a promise that a product is unavailable. Each dataset row keeps its own verification date and limits; this page’s refresh does not override them.
  6. No performance adjustment. I have no measured retries, output quality, success rate or invoices. These are public-document calculations before tax and negotiated terms.

Web scraping API pricing comparison: plain, JS and premium at 1K, 100K and 1M #

The table uses the current scraping API pricing dataset, filtered to scraping/unlocking products. Crawl APIs have a separate table below. This filter excludes platform compute and crawl-page rows; no median across an unmatched cohort is asserted.

Generic-page costs: $ per 1,000 requestsVerified to
VendorPlain, per 1K at 1K requests/mo (USD)Plain, per 1K at 100K requests/mo (USD)Plain, per 1K at 1M requests/mo (USD)JS, per 1K at 1K requests/mo (USD)JS, per 1K at 100K requests/mo (USD)JS, per 1K at 1M requests/mo (USD)Premium, per 1K at 1K requests/mo (USD)Premium, per 1K at 100K requests/mo (USD)Premium, per 1K at 1M requests/mo (USD)VerifiedSource
Zyte API$0.13$0.13$0.10$1.01$1$0.50Not publishedNot publishedNot publishedzyte.com
ScrapingAnt$0$0.19$0.25$0$2.49Not published$19$2.49Not publishedscrapingant.com
scrapestack$19.99$0.20$0.08Not publishedNot publishedNot publishedNot publishedNot publishedNot publishedscrapestack.com
Scrape.do$0$0.29$0.099$29$0.99$0.70$29$0.99$0.70scrape.do
ScrapeOwl$29$0.29$0.099$29$0.99Not published$29$0.99Not publishedscrapeowl.com
ScrapFly$30$0.30$0.10$30$1$0.56$30$2.50$2.84scrapfly.io
ZenRows$0$0.39$0.20$0$0.99$0.55$19$1.99$1docs.zenrows.com
Scrapingdog$40$0.40$0.09$40$0.90$0.35$40$0.90$1scrapingdog.com
ScraperAPI$0$0.49$0.15$49$1.49$0.98$49$1.49$0.98scraperapi.com
ScrapingBee$19$0.49$0.099$19$0.99$0.60$19$0.99$1scrapingbee.com
Crawlbase$3$0.76$0.35$6$0.99$0.60Not publishedNot publishedNot publishedcrawlbase.com
Bright Data Web Unlocker$0$1.50$1.30$0$1.50$1.30Not publishedNot publishedNot publishedbrightdata.com
Scraping Fish$2$1.82$1.82$2$1.82$1.82$2$1.82$1.82scrapingfish.com
HasData$0Not publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedhasdata.com
Oxylabs Web Scraper APINot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedoxylabs.io
Decodo Web Scraping APINot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedhelp.decodo.com
Scrapeless Web UnlockerNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedNot publishedscrapeless.com
  • Zyte API: 2026-10-31 (live pricing page; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives). Tier 1 (easiest sites) prices. Pay-as-you-go: HTTP $0.13–1.27 and browser $1.01–16.08 per 1K across tiers 1–5; the docs set a standard PAYG spend ceiling of $100. $100/mo commitment: HTTP from $0.10, browser from $0.75; $200: $0.08 / $0.60; $500: $0.06 / $0.48. JS at 100K uses the $100 commitment ($75 of usage, $100 floor); JS at 1M uses $500. Residential IPs have 'different base costs' that are not published, so premium is blank.
  • ScrapingAnt: The browser parameter defaults to true, so a request with no options costs 10 credits ($1.90 per 1K on Enthusiast); plain figures assume browser=false. Plans: Enthusiast $19 (100K), Startup $49 (500K), Business $249 (3M), Business Pro $599 (8M), Custom from $699 (10M+). Restarting Startup once in a month would make 1M plain $98 ($0.098) and 100K JS $98; I used single plans. JS and premium at 1M need Custom, so they are blank.
  • scrapestack: Basic $19.99 (200K; no JS, no premium proxies; +$0.0003998 per extra request), Professional $79.99 (1M; JS and premium proxies; +$0.00031996), Business $199.99 (3M; +$0.0002666533). How many requests a JS or premium-proxy call uses is not on the pricing page, and the docs sit behind an APILayer page I could not read, so JS and premium are blank.
  • Scrape.do: Plans: Hobby $29 (250K), Pro $99 (1.25M), Business $249 (3.5M), Advanced $699 (10M). The docs tell you to trust the Scrape.do-Request-Cost response header, because some domains have server-side defaults.
  • ScrapeOwl: Plans: Bootstrap $29 (250K), Startup $99 (1M), Business $249 (3M). JS and premium at 1M need more than 3M credits, so they are blank.
  • ScrapFly: 2026-10-16 pricing + billing doc: Discovery 30/200K, Pro 100/1M (+3.50/10K), Startup 250/2.5M (+2/10K) and Enterprise 500/5.5M (+1.20/10K). Human-readable pricing says Discovery has a hard cap; the machine-readable table also lists 5/10K but says quota-cap, so no Discovery overage is used. Credits reset at renewal. Datacenter base costs 1 and residential base 25; rendering adds +5, giving 6/30. These base-credit examples assume HTML below bandwidth thresholds; large HTML >1MB, request body >100KB and rendered traffic >3MB incur bandwidth credits. Failed-request protection excludes named 4xx codes and lapses above 30% eligible failure traffic/minimum hour. JS at 1M=560, premium at 1M=2840 with Enterprise + overage. Public-price arithmetic only, no performance/API tests.
  • ZenRows: 2026-10-31 (live docs pricing page; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives) monthly rungs: Build 19/45K, 29/80K, 39/120K; Launch 69/250K, 99/500K, 129/700K; Growth 199/1.2M, 279/2M, 399/3M; Scale 549/5M, 749/8M, 999/12.5M, 1999/28M, 2999/45M. Credit weights are 1/5/10/25. Free 5K monthly/no rollover. Plan credits expire at every renewal; unused top-ups roll into the next period once. Published top-ups by rung, with up to 10 purchases per period, were considered; existing displayed volume totals remain cheapest for these targets. Annual billing is charged upfront with two months free; on 16 Oct the annual view rounded entry prices to Build 16, Launch 58, Growth 166 and Scale 458 (the 458 Scale figure was seen again on 31 Oct); September 27 annual labels of 57/165/456 are historical. No API execution.
  • Scrapingdog: 2026-10-31 (live pricing page; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives) plans: 40/200K, 90/1M, 200/3M, 350/6M, 500/9M and 1000/19M, up to 30000/1.1B monthly credits. The public table confirms generic 1, JS 5, premium 10 and combo 25. Premium at 1M needs 10M credits, so it uses Business Plus 1000/19M. Failed/blocked/timed-out requests are credited back; rollover starts from Standard. The FAQ says a downgrade resets credits to the new plan's allowance and plan changes are not prorated. The JS default is not stated in the inspected docs. Free-credit wording conflicts: the table puts 100 in a 'Monthly credits' row, the FAQ says every account 'starts with 100 free credits'; both readings are kept and the 100 is not counted as a recurring grant. The historical September 25 free grant of 200 became 100.
  • ScraperAPI: 2026-10-31 (live pricing page and credit-cost docs; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives): Hobby 49/100K, Startup 149/1M, Business 299/3M, Scaling 475/5M, Professional 975/10.5M and Advanced 1975/21.5M credits. The last two carry limited-offer bonus labels (+250K, +500K); do not assume those bonuses recur forever. Generic plain costs 1, render 10, premium 10 and combo 25; ultra costs 30, or 75 with JS (paid plans only). Cost docs label modifiers 'Extra Cost', while the JS FAQ specifies 10 total; the normalized JS cells use 10 total. PAYG exists from Scaling at a fixed per-credit rate that is not published; no such overage is normalized. Credit balance resets at renewal. Free 1K monthly/5 concurrent and an initial 5K 7-day trial with no card are on the pricing page and Plans & Billing docs. No API execution.
  • ScrapingBee: 2026-10-31 (live pricing page and API docs; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives): render_js defaults to true at 5 credits; plain figures explicitly disable it. Credits are 1/5/10/25; stealth_proxy costs 75. Monthly plans are 19/75K, 49/250K, 99/1M, 249/3M and 599/8M. Published Enterprise tiers are Enterprise 14 at 999/14M, Enterprise 24 at 1599/24M, Enterprise 41 at 2399/41M, Enterprise 69 at 3599/69M and Enterprise 120 at 5799/120M. Thus 1M premium requests (10M credits) use Enterprise 14 at 999 total, rounded to $1/1K. The pricing page says credits are valid for one month and don't roll over (previously recorded as not stated). Default billed codes are 200/404/410/413; transparent_status_code mode bills other below-500 codes too. Auto Mode costs 0 if every configuration fails. No API execution.
  • Crawlbase: 2026-10-16 rate card: The first 1K costs $3, the next 10K $2, the next 100K $0.60, the next 1M $0.50, the next 10M $0.10, then $0.05/$0.04/$0.02 per 1K. At 100K, plain costs 76.40. The current page explicitly says difficulty and JS multiply a group's whole ladder total, so 1K JS=$6, resolving the old $5/$6 ambiguity. Subscriptions are 99/200K, 199/500K, 349/1M and 599/2M; usage beyond the block uses the same graduated ladder. At 1M plain costs 349; 100K JS costs 99; 1M JS costs 599. Free 1K initially, up to 5K after setup, not monthly. Only successful requests are billed; no proxy-mode equivalence is assumed.
  • Bright Data Web Unlocker: 2026-10-31 (live pricing page and Web Unlocker feature docs; also the same-day fact-checks of cheapest-web-scraping-api and scraperapi-alternatives): Free Tier 5K requests/month; PAYG $1.50/1K successful requests; Scale $499/month for 383K requests plus $1.30/1K additional; Enterprise custom. At 1M, Scale costs $499 + 617 × $1.30 = $1,301.10, or $1.30/1K, cheaper than PAYG at $1,500. On 16 Oct the Scale slider also showed $999 for 908K then $1.10/1K and $1999 for 2M then $1/1K, which gave $1,100.20 ($1.10/1K) at 1M; those stops were not visible on 31 Oct, so the 1M cells now use the visible $499 card. Paid totals are gross of free allowances. Browser rendering is included; force rendering uses render=true. No selectable residential-only proxy mode was verified, so premium-mode comparison cells are withheld. The feature docs still describe opt-in Premium Domains, billed at a higher rate for listed domains only; the pricing page shows no premium-domain rate, and generic pages here use the default tier. Custom headers/cookies/expect features bill all attempts: https://docs.brightdata.com/products/web-unlocker/features . The page advertises a first-deposit match up to $500, which this dataset never counts. Free/paid stacking, actual performance and invoice behavior remain unverified.
  • Scraping Fish: 2026-10-16 buy page: Packs are 2/1000/1 month, 20/10250/3 months, 200/105000/6 months and 2000/1.1M/12 months, plus VAT if applicable. Under this dataset's expiring-pack method, 100K monthly can consume the 1.1M pack within 11 months; 2000/1100=$1.818 per 1K is cheaper than 200/105=$1.905, so the 100K cells change to 1.82 and require 2000 upfront. At 1K monthly the cost remains $2/1K; at 1M monthly it is 1.82. JS and mobile proxy are included at the same flat request price; 25 concurrent/domain; 200/404 are billed. No execution; the September 27 browser read remains historical.
  • HasData: 2026-10-31 (live pricing page; also the same-day cheapest-web-scraping-api fact-check): the page shows Startup $49/200K, Basic $99/1M and Growth $208/3M credits per month (concurrency 5/15/50) beside a 'Billed annually 2 months free' label, with Enterprise custom. On 16 Oct I recorded monthly-billed prices of $59/200K, $119/1M and $249/3M plus $415/5M, $830/10M and $1660/20M tiers, reading $49/$99/$208 as annual-purchase monthly equivalents. Neither the $59-$1660 figures nor the larger tiers were visible on 31 Oct, so the monthly-billed price is unresolved and the entry price and every paid cost cell are withheld; both readings are kept here. Shared credits cost 1 plain, 10 JS, 5 residential or 15 combined, charged only for success. The 1K plain cell stays 0 because the Free plan gives 1,000 credits every month. Self-serve request docs say unused credits expire; pricing-page rollover belongs to custom Enterprise. No account or invoice check.
  • Oxylabs Web Scraper API: 2026-10-16: Public /Scrape pricing supersedes the old Micro 49/Starter 99/Advanced 249. Current plans are Starter 30, Basic 100, Flexible 500 and Enterprise from 2500. Generic /Scrape headlines start from 0.50/0.45/0.35/0.25 per 1K; Other-target prices start from 1/0.90/0.80/0.75. Google Non-JS at 1/0.90/0.70/0.50 and Google JS at 1.35/1.30/1.15/0.90 are target-specific examples, not a generic HTML tariff. All old exact mode totals/concurrency are withdrawn; target-specific current costs require a fixed configuration and supported tariff. No purchase or API usage.
  • Decodo Web Scraping API: 2026-10-16: New Web Data API rates per 1K, for plan prices [19,49,99,249,499,999,1499], are standard [0.50,0.40,0.30,0.20,0.18,0.16,0.15], standard JS [0.75,0.65,0.60,0.55,0.50,0.45,0.40], premium [1,0.75,0.70,0.65,0.60,0.55,0.50] and premium JS [1.50,1.25,1.10,1,0.95,0.90,0.85]. proxy_pool defaults to premium; leaving headless unset disables JS. Current cards show 19 for up to 38K standard pages, 49 for up to 122K, 99 for up to 330K and 249 for up to 1.2M. Old alternative capacities of 38K/163K/707K are no longer current; normalized totals are withheld pending complete balance/top-up/free-grant matching. Public billing docs only; no account/API proof.
  • Scrapeless Web Unlocker: 2026-10-16: The official Web Unlocker product page confirms Basic consumption-based pricing without a monthly commitment, base pricing from $1/1K requests and successful-only billing. Exact higher-tier commitments and discounts remain unverified, so normalized cheapest-volume cells stay withheld; old Growth/Scale/Business tariffs are not current claims. The pricing FAQ says unused monthly commitment is not retained: https://www.scrapeless.com/en/pricing . No account, vendor or product API action.

17 of 23 rows from Scraping API pricing tracker. Download CSV (CC BY 4.0). Scroll sideways for more columns.

Which inputs remain unpriced or conditional? #

  • Oxylabs: the current /Scrape generation replaces the old $49/$99/$249 plans. Generic “from” and target-specific tariffs do not establish one exact generic-mode total; the old $2.49-at-100K claim is withdrawn.
  • Decodo: the current Web Data API generation changes products and allocations. Without a full allowance/top-up mapping, the old alternative request quotas cannot support a normalized current total.
  • Scrapeless: its pricing page did not expose the old exact unlocker tiers in the public material I could verify. The old $0.90/$0.80 normalized cells and interpretation of a plan fee as prepaid usage are withdrawn. Exact pricing needs current tariff proof.
  • HasData: on 31 October its pricing page showed $49/200K, $99/1M and $208/3M credits per month beside a “Billed annually, 2 months free” label. On 16 October I recorded those as annual equivalents of monthly $59/200K, $119/1M and $249/3M, plus $415/5M, $830/10M and $1,660/20M tiers; neither the monthly figures nor the larger tiers were visible on 31 October, so the monthly-billed price is unresolved. Request-cost docs say unused self-serve credit expires each period. Pricing-page carryover belongs to custom Enterprise above 20M credits.
  • ScrapFly: billing adds rendering to the proxy cost and has byte-size extras and failed-protection exceptions. Its $500 plan and listed overage produce the dataset’s $2,840 premium example at 1M, conditional on base-size requests and no other charges. A claim that all failures are free would be misleading.
  • Crawlbase: its graduated PAYG ladder gives $76.40 at 100K easiest-tier plain pages: $3 first 1K + $20 next 10K + $53.40 remaining 89K. Browser pricing doubles this ladder; the old unresolved $5/$6 first-1K note is resolved at $6.
  • Scraping Fish: packs expire after one/three/six/twelve months by size. The $2,000/1.1M twelve-month pack can cover 100K monthly usage before expiry: about $1.82 per 1K, with $2,000 upfront. The old $1.90-at-100K figure is withdrawn; no cash-light monthly invoice is implied.

Why is a scraping API’s headline price rarely what you pay? #

A credit rate becomes a page rate only after mode, domain and outcome rules are applied.

A row of blank brown paper price tags on strings, hanging against a dark wall
A headline price is a price per credit. What a page costs depends on how many credits its mode uses and whether rendering is on by default. Photo: Annie Spratt / Unsplash · Unsplash License
Credits per successful request, by modeVerified
APIPlainJSPremiumPremium + JSJS on by defaultHow costs combine
ScraperAPI1101025Not listedTotals per mode
ScrapingBee151025YesTotals per mode
ZenRows151025NoTotals per mode
Scrapingdog151025Not statedTotals per mode
Scrape.do151025Not listedTotals; some domains cost more
ScrapeOwl151025Not listedTotals per mode
HasData110515Not listedTotals per mode
ScrapingAnt11025125YesTotals per mode
ScrapFly162530Not listedAdditive: JS adds 5 to the proxy cost
Crawlbase12Not listedNot listedNot listedJS doubles; site difficulty ×1 to ×20
Scraping Fish1111Set explicitlyFlat: JS and mobile proxies included

Source: Each vendor's docs or pricing page, rechecked 31 Oct 2026. A dash means the vendor doesn't state it or the mode doesn't exist. Scroll sideways for more columns.

ScraperAPI’s rendering FAQ specifies ten credits in total, despite the main cost table’s “Extra Cost” label. At 100K rendered requests, 1M credits fit the $149 Startup plan. A misleading eleven-credit calculation would select a different plan.

Not every error is free. Scrape.do bills 2XX and 400/404/410. ScraperAPI bills 200/404 and cancellations before seventy seconds.

ScrapingBee includes 404/410/413 under default handling; transparent-status mode has a broader rule. Budget with the chosen endpoint’s rules rather than an assumed HTTP-200-only policy.

What’s the cheapest web scraping API for LLM crawling? #

Crawl4AI Cloud now has monthly subscriptions: Starter $10/10K credits plus $1 per 1K extra; Builder $99/125K plus $0.79; Scale $499/750K plus $0.67. Plain pages use half a credit, real-browser pages one and hard-site pages two. Its 1K monthly free credits are distinct from the old September pack promotion.

Configuration At 100K pages/month At 1M pages/month Calculation
Crawl4AI plain $50 total; $0.50/1K $395.25; about $0.40/1K Starter $10 + 40K extra credits; Builder $99 + 375K extra
Crawl4AI real browser $99; $0.99/1K $666.50; about $0.67/1K Builder covers 100K; Scale $499 + 250K extra
Firecrawl base scrape $99; $0.99/1K $749; about $0.75/1K Monthly Standard/Scale, one base credit/page
Olostep flat request $80 averaged; $0.80/1K $399; about $0.40/1K $200/250K six-month pack; monthly Scale at 1M

Firecrawl prices, Olostep packs/plans and Crawl4AI’s published rates support these examples. The Olostep 100K example requires $200 upfront, used over 2.5 months; it is not an $80 monthly plan. Crawl4AI’s half-credit plain mode changes the old ranking. These services are not measured as equivalent outputs or targets.

Firecrawl billing has optional extraction/PDF/enhanced features and outcome exceptions; not every request is one credit. Its billing docs limit one-month rollover to annual Scale, while the pricing page’s plan table and FAQ say Scale rolls over without that annual qualifier.

PDF descriptions also differ: pricing.md says one credit per PDF page, while billing docs say base plus one per PDF page. PDF-inclusive totals are excluded.

The examples use monthly plans and do not assume rollover. Exa Contents is $1 per 1K pages per content type; text plus another paid type is not one combined $1 unit.

Crawl APIs: documented $ per 1,000 pagesVerified to
VendorPlain, per 1K at 1K requests/mo (USD)Plain, per 1K at 100K requests/mo (USD)Plain, per 1K at 1M requests/mo (USD)JS, per 1K at 100K requests/mo (USD)JS, per 1K at 1M requests/mo (USD)VerifiedSource
Crawl4AI Cloud$0$0.50$0.40$0.99$0.67crawl4ai.com
Olostep$3.33$0.80$0.40$0.80$0.40olostep.com
Firecrawl$0$0.99$0.75Not publishedNot publishedfirecrawl.dev
Exa Contents$0$1$1Not applicableNot applicableexa.ai
WebCrawlerAPINot publishedNot publishedNot publishedNot publishedNot publishedwebcrawlerapi.com
  • Crawl4AI Cloud: 2026-10-31 (live price API at api.crawl4ai.com/v1/prices; also the same-day fact-checks of crawl4ai-vs-firecrawl, firecrawl-pricing, firecrawl-alternatives, website-to-markdown-for-llms and cheapest-web-scraping-api): Cloud subscriptions replace the September 27 pack model: Starter 10/month for 10K credits +1/1K extra; Builder 99/125K +0.79/1K extra; Scale 499/750K +0.67/1K extra. Monthly usage caps are 50K/500K/2M credits and top-ups start at $10. Plain costs 0.5 credits, real browser 1, hard site 2, archive 0.25 and search 1. 20 guest credits need no signup; email verification then gives 1K credits a month, which covers 1K plain or browser pages. Plain at 100K: Starter 10 + 40K extras at 40 = 50 (exactly Starter's 50K cap); plain at 1M: Builder 99 + 375K extras at 296.25 = 395.25 (exactly Builder's 500K cap). JS at 100K: Builder 99/125K, because 100K credits exceed Starter's cap; JS at 1M: Scale 499 + 250K extras at 167.50 = 666.50. Rounded per 1K: 0/.50/.40 plain, 0/.99/.67 browser. These model consumed credits; cash charged in a month can differ because top-ups are bought in $10 steps. The vendor calls this a soft launch, so prices and free credits can change. Open-source library/self-hosting costs are separate. No API calls beyond reading the public price endpoint.
  • Olostep: 2026-10-31 (live pricing page; also the same-day fact-checks of cheapest-web-scraping-api, firecrawl-alternatives and website-to-markdown-for-llms): Monthly plans are 9/5K, 99/200K and 399/1M successful requests. Credit packs of 20/10K, 200/250K and 1000/2M are valid for 6 months; the page offers them to people who don't like subscriptions but does not state outright that no plan is needed. Plans count successful requests while packs and the FAQ count credits; the page implies one credit per successful request without stating it. The expiry-aware method makes 1K monthly use the 20 pack with 6K usable=$3.333/1K, not 9 monthly; 100K monthly uses 200/250K=$0.80/1K, not 99/200K. At 1M monthly the cost remains 399/1M=$0.399. Upfront pack payments of 20 and 200 matter; no assumption of monthly pack renewal. Posts that price Olostep on monthly plans only show $9 at 1K and $0.99 at 100K. The page says trial requests are JS-rendered on residential IPs and paid plans include everything below them; Starter lists 150 concurrent; the trial is 500 successful requests, no card, with renewal not stated. No execution.
  • Firecrawl: 2026-10-31 (live pricing page and billing docs; also the same-day fact-checks of firecrawl-pricing, firecrawl-alternatives, firecrawl-vs-apify, crawl4ai-vs-firecrawl, firecrawl-vs-tavily and cheapest-web-scraping-api): the HTML pricing page marks these prices 'Effective September 4, 2026'. Free 1,000 credits/month, no card. Monthly Hobby $19/5K, Standard $99/100K, Growth $399/500K, Scale $749/1M; annual cards $16/$83/$333/$599 a month, billed $190/$990/$3,990/$7,190 a year. Hobby has 5 concurrent browsers. Base markdown and enhanced proxy cost 1 credit/page. $5 top-ups buy 1K/2K/2.5K/5K credits by plan. Rollover conflict, both kept: the pricing page says Scale rolls over one month and Enterprise a custom amount; billing docs say annual Scale 1 month and annual Enterprise 2 months. The per-1K cells assume no rollover. PDF conflict: pricing.md says 1 credit/PDF page, billing docs say base plus 1/PDF page. PDF-inclusive totals are not normalized; resolve before PDF work. Plain/enhanced totals exclude PDF/JSON/guard options. Comparable JS columns remain withheld. No API execution.
  • Exa Contents: 2026-10-31 (live pricing page and billing guide; also the same-day fact-checks of cheapest-web-scraping-api, firecrawl-vs-tavily, firecrawl-alternatives and website-to-markdown-for-llms): Standalone Contents costs $1/1K pages per content type; text-only is one content type. The first-team monthly free balance resets to 10 without accumulation; the onboarding bonus does not expire. Under this dataset's rule, the free allowance counts only when it covers the whole volume, so the displayed 0/1/1 at 1K/100K/1M remains. Content retrieval does not expose a comparable proxy/render configuration, so JS/premium are N/A. No observed API results.
  • WebCrawlerAPI: 2026-10-16: PAYG has no monthly fee, from $0.002/page; Professional is $99/month, from $0.0015/page; Business is currently $499/month, from $0.001/page. LLM-cleaned markdown rates are $0.006/$0.0055/$0.005 per page respectively. The former $29 Starter is not asserted as current. Only from-rates are established; included subscription allowance and exact target cost remain unverified, so normalized per-1K cells stay withheld. Successful requests are billed. Trial signup needs no card; its size is unstated. No account/API proof.

5 of 23 rows from Scraping API pricing tracker. Download CSV (CC BY 4.0). Scroll sideways for more columns.

For endpoint charges, see Firecrawl pricing; for service differences, see crawl APIs and Firecrawl alternatives. Self-hosting an open-source crawler still has infrastructure and operation costs; no hosted-free allowance proves free production operation.

What do three scraping API budgets look like? #

Job Example monthly cost Why
1K browser pages $0 on ScrapingAnt or ZenRows if the full recurring grant is available 10K or 5K required credits fit the respective grants
100K browser pages Scrapingdog Standard $90 500K required credits fit its 1M-credit plan
1M premium pages Scrape.do Advanced $699 10M required credits exactly fill the plan

The ScrapingAnt, ZenRows, Scrapingdog and Scrape.do sources describe those inputs. This excludes optional features, other account usage and billed retries; it is not a promise of equivalent usable output.

Is there a free API for web scraping? #

Recurring grants differ from one-time trials. ScrapingAnt advertises 10K credits/month, ZenRows 5K, Bright Data 5K requests, and Scrape.do 1K credits. ScraperAPI’s billing FAQ separately documents a 1K monthly free plan alongside its 5K seven-day trial. Mode multipliers determine usable pages.

Firecrawl and Crawl4AI Cloud advertise 1K credits monthly; their page units differ. Exa pricing advertises $10 monthly plus a separate $10 onboarding grant; account/team eligibility was not verified in this refresh. I do not add grants from unrelated products/accounts to manufacture a larger allowance.

Free grants and trials, with row-level qualificationsVerified to
VendorFree tier or trialEntry planEntry plan price (USD)VerifiedSource
ScraperAPIFree plan 1,000 credits/mo (5 concurrent); 7-day trial with 5,000 credits, no cardHobby (100,000 credits/mo)$49scraperapi.com
ScrapingBee1,000 credits, one-time, no cardHobby (75,000 credits/mo)$19scrapingbee.com
ZenRows5,000 credits/mo, no card, monthly refresh, no rolloverBuild (45,000 credits/mo)$19docs.zenrows.com
Zyte API$5 credit for the first month, no commitmentPay-as-you-goNot applicablezyte.com
Scrapingdog100 credits, 1 concurrent: the plan table lists them as 'Monthly credits', while the FAQ says every account 'starts with 100 free credits'; renewal unclearLite (200,000 credits/mo)$40scrapingdog.com
Scrape.do1,000 credits/mo (5 concurrent)Hobby (250,000 credits/mo)$29scrape.do
Crawlbase1,000 credits on signup, up to 5,000 after setup steps (one-time, no card)Pay-as-you-goNot applicablecrawlbase.com
ScrapingAnt10,000 credits/mo, no cardEnthusiast (100,000 credits/mo)$19scrapingant.com
HasData1,000 credits/mo, no card (Free card and limits table list 5 concurrent requests)Startup (200,000 credits/mo)Not publishedhasdata.com
ScrapeOwl1,000 credits, no cardBootstrap (250,000 credits/mo)$29scrapeowl.com
Scraping FishNo self-serve free tier; a free starter pack on request1,000-request pack (no bonus)$2scrapingfish.com
scrapestack100 requests/moBasic (200,000 requests/mo)$19.99scrapestack.com
ScrapFly1,000 credits on signup, one-time, no cardDiscovery (200,000 credits/mo)$30scrapfly.io
Oxylabs Web Scraper API$5 welcome credit advertised toward any product; no separate per-product grants assumedStarter$30oxylabs.io
Decodo Web Scraping APICurrent launch page advertises up to10Kstandardpages/month, no card;14daymoneyback option subject to eligibility$19 monthly Web Data API plan$19help.decodo.com
Bright Data Web UnlockerFree Tier: 5,000 requests/mo (no-card wording recorded 16 Oct, not re-seen 31 Oct)Pay-as-you-goNot applicablebrightdata.com
Scrapeless Web UnlockerNot publishedBasic consumption-based (pay-as-you-go)Not applicablescrapeless.com
Firecrawl1,000 credits/mo, no cardHobby (5,000 credits/mo)$19firecrawl.dev
Crawl4AI Cloud20 guest credits without signup, then 1,000 credits/month after email verificationStarter (10,000 credits/month)$10crawl4ai.com
Olostep500 successful requests, no card (renewal not stated)Starter (5,000 requests/mo)$9olostep.com
WebCrawlerAPITrial signup without a card (size not stated)Pay-as-you-goNot applicablewebcrawlerapi.com
Exa ContentsFirst team only: $10 monthly credit that resets on the 1st; one-time $10 onboarding bonus; no cardPay-as-you-goNot applicableexa.ai
Apify$5 of usage/mo, no cardStarter ($19 of usage)$19apify.com

About this dataset. Download CSV (CC BY 4.0). Scroll sideways for more columns.

Which cheap scraping API should you pick? #

Use a free recurring grant for a small permitted workload if its mode costs fit. At 100K static pages, compare ScrapingAnt’s fixed $19 bill with Zyte’s difficulty-dependent floor. At 100K browser pages, the Scrapingdog example is $90. At 1M plain pages, scrapestack’s $79.99 plan is a priced option; at 1M premium pages, Scrape.do’s $699 leaves no spare credits.

For a model’s page text, compare the current Crawl4AI half-credit/plain route with its browser route, Olostep’s upfront packs and Firecrawl’s endpoint extras. None of these recommendations replaces checking your allowed targets and required output on a permitted trial.

Continue to the scraping API hub or ScraperAPI alternatives by switching reason. Google results are a separate billing comparison in cheapest SERP API.

Where can you download the scraping API pricing data? #

The 23-row pricing tracker includes units, sources, dates and blanks. Its CSV is CC BY 4.0. Rows with held dates or unresolved terms remain explicitly qualified; this refresh does not certify account entitlements or private invoices.

The old fixed median figures, old Crawl4AI pack deadline, unsupported Scrapeless tariff and stale Oxylabs/Decodo quotas have been withdrawn. Historical images and unused legal/community sources retain their dates. This cost page makes no current court-outcome or blanket legality claim. Human review is required before publishing.

FAQ

Which web scraping API is the cheapest?

There is no universal winner across modes and targets. Among the computed generic-page rows, scrapestack costs about $0.08 per 1K at 1M plain requests, Scrapingdog $0.35 with JavaScript, and Scrape.do $0.70 with premium proxies. Those are documented plan calculations, not equivalent-output or success-rate measurements.

Is there a free API for web scraping?

ScrapingAnt advertises 10K credits monthly, ZenRows 5K and Bright Data Web Unlocker 5K requests. Mode multipliers reduce the number of pages a credit grant covers. Firecrawl and Crawl4AI Cloud advertise 1K monthly credits; their page costs differ.

Do scraping APIs charge for failed requests?

Some error responses are billable. ScraperAPI includes 404 and early cancellations; Scrape.do includes 400, 404 and 410. ScrapingBee default handling includes 404, 410 and 413, while transparent status mode has a broader rule. Read the endpoint billing documentation rather than assuming every non-200 result is free.

What is the cheapest web scraping API for LLM crawling?

For plain pages, Crawl4AI Cloud uses half a credit per page: the worked 100K budget is $50 and the 1M budget $395.25. Its real-browser pages cost one credit instead. Olostep is $399 monthly for 1M flat-rate requests, while Firecrawl Scale is $749 for 1M credits before optional surcharges. These are distinct documented services, not quality rankings.

Sources

49 sources, accessed to .

Official pricing, docs, changelogs and status pages 47

  1. ScraperAPI pricing scraperapi.com · accessed
  2. ScraperAPI docs: credits and request costs docs.scraperapi.com · accessed
  3. ScraperAPI docs: JS rendering FAQ docs.scraperapi.com · accessed
  4. ScraperAPI docs: premium, residential and mobile proxy pools docs.scraperapi.com · accessed
  5. ScraperAPI docs: plans and billing FAQ docs.scraperapi.com · accessed
  6. ScrapingBee pricing scrapingbee.com · accessed
  7. ScrapingBee API documentation scrapingbee.com · accessed
  8. ZenRows pricing (opens on annual billing; monthly list prices used here) zenrows.com · accessed
  9. ZenRows docs: Universal Scraper API reference docs.zenrows.com · accessed
  10. Zyte API pricing zyte.com · accessed
  11. Zyte docs: Zyte API pricing docs.zyte.com · accessed
  12. Scrapingdog pricing scrapingdog.com · accessed
  13. Scrape.do pricing scrape.do · accessed
  14. Scrape.do docs: request costs scrape.do · accessed
  15. Crawlbase pricing crawlbase.com · accessed
  16. ScrapingAnt plans scrapingant.com · accessed
  17. ScrapingAnt docs: credits cost docs.scrapingant.com · accessed
  18. ScrapingAnt docs: request and response format docs.scrapingant.com · accessed
  19. HasData pricing hasdata.com · accessed
  20. HasData docs: Web Scraping API request cost docs.hasdata.com · accessed
  21. ScrapeOwl pricing scrapeowl.com · accessed
  22. ScrapeOwl docs scrapeowl.com · accessed
  23. Scraping Fish pricing scrapingfish.com · accessed
  24. Scraping Fish request packs scrapingfish.com · accessed
  25. scrapestack pricing scrapestack.com · accessed
  26. ScrapFly pricing scrapfly.io · accessed
  27. ScrapFly docs: Scrape API billing scrapfly.io · accessed
  28. Oxylabs Web Scraper API pricing oxylabs.io · accessed
  29. Decodo Web Scraping API pricing decodo.com · accessed
  30. Bright Data Web Unlocker pricing brightdata.com · accessed
  31. Scrapeless pricing scrapeless.com · accessed
  32. Firecrawl pricing (Markdown version) firecrawl.dev · accessed
  33. Firecrawl pricing page firecrawl.dev · accessed
  34. Firecrawl docs: billing docs.firecrawl.dev · accessed
  35. Crawl4AI Cloud pricing crawl4ai.com · accessed
  36. Olostep pricing olostep.com · accessed
  37. Exa pricing exa.ai · accessed
  38. WebCrawlerAPI pricing webcrawlerapi.com · accessed
  39. Apify pricing apify.com · accessed
  40. Jina Reader jina.ai · accessed
  41. Spider pricing spider.cloud · accessed
  42. WebScrapingAPI pricing webscrapingapi.com · accessed
  43. docs.zenrows.com/fetch/api-reference docs.zenrows.com · accessed
  44. oxylabs.io/products/web-api/scrape/pricing oxylabs.io · accessed
  45. decodo.com/scraping/serp decodo.com · accessed
  46. docs.scraperapi.com/resources/faq/plans-and-billing docs.scraperapi.com · accessed
  47. ZenRows docs: general FAQ (plan and top-up credit expiry) docs.zenrows.com · accessed

Community discussions 1

  1. Hacker News: comment calling credit-based pricing "too confusing" news.ycombinator.com · accessed

Other sources 1

  1. Google v. SerpApi ECF 60: hearing vacated on 5 Oct 2026 storage.courtlistener.com · accessed