Web scraping API pricing in 2026
What 1 million pages cost.
One million plain pages cost $99 to $749 a month on the plans below. In a browser, a page takes 5 to 10 credits on ScrapingBee, ScraperAPI, ZenRows and Scrapfly, and the million costs $549 to $975. Most plans reset unused credits every month.
SpecStream is the live web data engine for teams and agents. Its Extract API reads a page for $0.80 per 1,000, browser included: $800 for a million, from credit that never expires. A 404, a blocked page or an empty page costs nothing.
New accounts get $10 of credit, no card. It covers 12,500 pages.
1 million pages a month, from each company's pricing page on Nov 12, 2026
| SpecStream | ScrapingBee | ScraperAPI | ZenRows | Scrapfly | Firecrawl | |
|---|---|---|---|---|---|---|
| How a page is priced | $0.0008 a page, $0.80 per 1,000, the same for every page. No plan and no credits | Credits: 1 without JavaScript, 5 with it (the default), 25 with premium proxies and JavaScript, 75 with the stealth proxy | Credits: 1 for a standard page, 10 with render=true, 25 with premium proxies and rendering | Credits: 1 for a standard request, 5 with JavaScript rendering, 25 for a protected page | Credits: 1 on the datacenter pool, 6 with render_js | Credits: 1 credit = 1 page on a basic scrape or crawl |
| 1 million pages without a browser | $800 from your balance. A top-up of $1,000 or more adds 20% credit, which brings it to about $667 | $99 a month: Startup, 1,000,000 credits | $149 a month: Startup, 1,000,000 credits | $199 a month: G1, 1,200,000 credits | $100 a month: Pro, 1,000,000 credits | $749 a month: Scale, 1,000,000 credits ($599 billed yearly) |
| 1 million pages in a browser | $800, the same price. A page that refuses a plain read is tried again in a real browser | 5,000,000 credits: Business +, $599 a month for 8,000,000 | 10,000,000 credits: Professional, $975 a month for 10,500,000 | 5,000,000 credits: S1, $549 a month | 6,000,000 credits: Enterprise, $500 for 5,500,000, plus 500,000 extra at $1.20 per 10k: $560 | $749 a month on Scale, at 1 credit a page on a basic scrape |
| Unused credits | No credits to use up. Top-ups never expire | Valid for one month, and they don't roll over | The balance resets when the subscription renews | Plan credits expire at every renewal | Quotas reset at renewal | Roll over one month on Scale; Hobby, Standard and Growth credits do not roll over |
| A 404, a blocked or a failed page | Not charged: a 404, a blocked page and a page with no text cost nothing | A 404 or 410 from the target page is billed | Charged for 200 and 404 responses | 404 and 410 count as successful and are charged; failed requests are not | Upstream 4xx and 5xx and failed scrapes are free, per its pricing page | A 403 or 404 page is returned and costs 1 credit |
| Free to start | $10 of credit, no card: 12,500 pages | 1,000 API credits | A 7 day trial with 5,000 credits, then 1,000 a month | 5,000 credits a month, no card | 1,000 credits on signup, no card | 1,000 credits a month, about 1,000 pages, no card |
Why the plan price is not what a million pages cost
The browser multiplies the credits
JavaScript rendering is ScrapingBee's default and costs 5 credits, so Startup's 1,000,000 credits read 200,000 pages. render=true on ScraperAPI takes 10 credits, so its $149 Startup plan reads 100,000 rendered pages. SpecStream has one price: a page that refuses a plain read is tried again as a browser would ask for it, then in a real browser, then from the site's own feed, then from its newest public archive capture, at $0.0008 a page.
Pages behind bot protection
A protected page takes 25 credits on ScrapingBee (premium proxy with JavaScript), ScraperAPI (premium proxies with rendering) and ZenRows. A million of them is 25,000,000 credits: past ScrapingBee's Enterprise 24 at $1,599 for 24,000,000, and on ZenRows S4 at $1,999 a month. ScrapingBee's stealth proxy takes 75 credits. On SpecStream the pages that return text cost $0.80 per 1,000, and a page the site blocks comes back with the status blocked and is not charged.
Credits that reset, and pages billed with no text
A plan is sized for a month. When the job reads 300,000 pages one month and 2 million the next, the credits left over reset at renewal on ScrapingBee, ScraperAPI, ZenRows and Scrapfly. SpecStream bills from a balance: top-ups never expire, and a top-up of $1,000 or more adds 20%, so $1,000 buys $1,200 of credit, 1,500,000 pages. A 404 is billed on ScrapingBee, ScraperAPI, ZenRows and Firecrawl; on SpecStream it comes back as not_found with the page's own text, and costs nothing.
What a page read returns
POST /v1/extract takes 1 to 20 URLs and returns each page's main text as Markdown or plain text, without its menus, footers and ads, with its title, the dates it states and every email address it carries. PDF, Word and Excel files read the same way. On WCXB, which scores how well an extractor keeps a page's main text, the Extract API scores 0.908 F1 on the 511-page test set, by the benchmark's official scorer. The run is on the benchmarks page.
Other web scraping APIs and what they cost
SpecStream
The live web data engine for teams and agents. The Extract API reads pages at $0.80 per 1,000 with no plan, the Search API answers questions at $5 per 1,000 searches, or $1 with speed=fast, and Deep Search returns structured rows at 5¢, 15¢ or $1 a row, all on one key.
Olostep
Olostep renders every request in a browser with residential IP addresses. Its Scale plan costs $399 a month for 1 million successful requests, and its price per 1,000 requests runs from $1.80 to $0.35 by plan. SpecStream reads a page for $0.80 per 1,000 with no plan, and its credit never expires.
Crawl4AI
The open source crawler has a cloud API where 1 credit is $0.001: a plain page costs 0.1 credit, a page in a real browser 0.5 and a hard site 2. A million pages is $100 plain, $500 in a browser and $2,000 on hard sites. SpecStream answers a Crawl4AI server's /crawl, /crawl/stream and /md at https://api.specstream.ai/crawl4ai, at $0.80 per 1,000 pages with text.
Spider
Spider bills bandwidth at $1 per GB of content and compute at $0.0001 per minute of CPU. Its pricing page prints no price per page, so a million pages costs what their size and CPU time add up to. SpecStream prices the page: $800 for a million.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to price your own million pages on SpecStream
1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 12,500 pages.
2. Read a page with the Extract API. The reply's price_usd is what the call cost:
curl -X POST https://api.specstream.ai/v1/extract \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://en.wikipedia.org/wiki/Web_scraping"], "format": "markdown"}'3. Or keep the scraper client you have and change its address. ScraperAPI's call keeps its parameters, and render=true and premium=true are accepted: each page is $0.0008 in place of 10 or 25 credits, because a page that refuses a plain read is read in a real browser anyway.
import requests
URL = "https://api.specstream.ai/scraperapi" # was https://api.scraperapi.com
reply = requests.get(
URL,
params={"api_key": SPECSTREAM_KEY, "url": "https://en.wikipedia.org/wiki/Web_scraping", "output_format": "markdown"},
timeout=70,
)
reply.raise_for_status()
print(reply.text[:500])4. ScrapingBee, ZenRows, Scrapfly, Scrape.do, ScrapingAnt, Firecrawl, Spider and Crawl4AI answer the same way, each on its own address: see the ScrapingBee, ZenRows, Scrapfly and Firecrawl guides. GET https://api.specstream.ai/v1/account/usage?group=day sums the calls and the spend.
Frequently asked questions
Something we didn't answer? Talk to a human
How much does a web scraping API cost per 1,000 pages?
What do 1 million pages cost on a web scraping API?
Which web scraping API does not bill a 404?
Do web scraping API credits expire?
Is there a free web scraping API?
Can I keep my ScrapingBee or ScraperAPI code?
https://api.specstream.ai/scrapingbee/api/v1, ScraperAPI at /scraperapi, ZenRows at /zenrows/v1, Scrapfly at /scrapfly/scrape, Scrape.do at /scrapedo and ScrapingAnt at /scrapingant/v2, in each API's own form. Each call is one page at $0.0008.Sources
SpecStream wrote this page. Each rival figure comes from that company's own page, read on Nov 12, 2026. Plan prices are billed monthly.
- SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 12, 2026
- ScrapingBee pricingscrapingbee.com/pricing/, read Nov 12, 2026
- ScrapingBee documentationscrapingbee.com/documentation/, read Nov 12, 2026
- ScraperAPI pricingscraperapi.com/pricing.md, read Nov 12, 2026
- ScraperAPI pricing pagescraperapi.com/pricing/, read Nov 12, 2026
- ScraperAPI credits and request costsdocs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs.md, read Nov 12, 2026
- ZenRows pricingdocs.zenrows.com/first-steps/pricing.md, read Nov 12, 2026
- ZenRows pricing systemdocs.zenrows.com/first-steps/faq/understanding-zenRows-pricing-system, read Nov 12, 2026
- Scrapfly pricingscrapfly.io/pricing, read Nov 12, 2026
- Scrapfly billingscrapfly.io/docs/scrape-api/billing, read Nov 12, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 12, 2026
- Olostep pricingolostep.com/pricing, read Nov 12, 2026
- Crawl4AI pricingcrawl4ai.com/pricing, read Nov 12, 2026
- Spider pricingspider.cloud/pricing, read Nov 12, 2026




