Best scraping API with a free tier in 2026
Free pages, compared.
The best scraping API with a free tier is SpecStream: $10 of credit, no card, that reads 12,500 pages, browser included, and never expires. Other free plans give 100 to 10,000 credits, and on most a browser page takes 5 to 10.
SpecStream is the live web data engine for teams and agents. Its Extract API scores 0.908 F1 on WCXB and answers ZenRows, ScrapingBee, ScraperAPI, Scrapfly, Scrape.do and Firecrawl calls at their paths. After the free credit, a page costs $0.80 per 1,000.
New accounts get $10 of credit, no card. It covers 12,500 pages.
Seven free tiers on Nov 12, 2026
| SpecStream | ZenRows | ScrapingBee | ScraperAPI | Scrapfly | Scrape.do | Firecrawl | |
|---|---|---|---|---|---|---|---|
| Free amount, no card | $10 of credit on sign up, once. It never expires | Free plan: 5,000 credits, refreshed every month | 1,000 free API credits | A 7 day trial with 5,000 credits, then 1,000 credits a month | 1,000 credits on signup, with no time limit | Free plan: 1,000 successful API calls a month | Free plan: 1,000 credits a month |
| Plain pages the free amount reads | 12,500 | 5,000 a month | 1,000, with rendering off | 5,000 in the trial, then 1,000 a month | 1,000 on datacenter proxies | 1,000 a month | 1,000 a month |
| Pages in a browser the free amount reads | 12,500. A real browser is one of the steps a refused page goes through, at the same price | 1,000 a month at 5 credits, or 200 protected pages at 25 | 200, at the default 5 credits | 500 in the trial, then 100 a month, at 10 credits with render=true | 166, at 6 credits with render_js | 200 a month, at 5 credits with render=true | 1,000 a month, at 1 credit a page |
| Limits, and the next step | The same Extract API as every account: up to 20 URLs a call | 5 concurrent requests, and no top ups: you wait for the next month or upgrade | 1,000 credits, then Hobby at $19 a month for 75,000 | 5 concurrent threads after the trial. Ultra Premium is for paid plans only | Every product, with no time limit | Residential and mobile proxies, geo targeting and JavaScript rendering included | 2 concurrent browsers and 10 scrapes a minute |
| A failed or blocked page | Not charged. A refused page or a bot check comes back as blocked, and a 404 costs nothing | Not charged, but a 404 or 410 counts as successful | A 500 from ScrapingBee is not billed. A 404 from the site is | Charged for 200 and 404 replies, and for a request cancelled before 70 seconds | Not billed, until 30% of a day's scrapes are blocked without the Unblocker | Not charged, but 400, 404 and 410 count as successful | A scrape with no result is not charged. A 403 or 404 page costs 1 credit |
| 20,000 browser pages a month, after the free tier | $16, from a balance you top up | 100,000 credits: Build B3, $39 a month | 100,000 credits: Freelance, $49 a month | 200,000 credits: Startup, $149 a month | 120,000 credits: Discovery, $30 a month | 100,000 credits: Hobby, $29 a month | 20,000 credits: Standard, $99 a month billed monthly |
| Your code on SpecStream | POST /v1/extract, up to 20 URLs a call | https://api.specstream.ai/zenrows/v1/ in place of https://api.zenrows.com/v1/ | https://api.specstream.ai/scrapingbee/api/v1 in place of https://app.scrapingbee.com/api/v1 | https://api.specstream.ai/scraperapi in place of https://api.scraperapi.com | https://api.specstream.ai/scrapfly/scrape in place of https://api.scrapfly.io/scrape | https://api.specstream.ai/scrapedo in place of https://api.scrape.do | https://api.specstream.ai/firecrawl in place of https://api.firecrawl.dev |
Why SpecStream is the free tier to start on
A free tier is a test, so size it to your test
You take a free tier to learn one thing: does this API read the sites you need. That takes your own URL list, in a browser, at once. On a credit plan the browser sets how far the free credits go: 1,000 ScrapingBee credits read 200 pages at its default of 5 credits, and ScraperAPI's 1,000 monthly credits read 100 pages with render=true at 10.
The SpecStream credit reads 12,500 pages on the first day, at one price for a plain page, a page in a browser and a protected page. You run the whole list now, not 100 pages a month.
What the first paid month costs
A free tier ends when your job grows. At 20,000 pages a month in a browser, the credit plans need 100,000 to 200,000 credits, and the plan that holds them costs $29 on Scrape.do, $30 on Scrapfly, $39 on ZenRows, $49 on ScrapingBee and $149 on ScraperAPI. Firecrawl needs 20,000 credits, which its $99 Standard plan holds. On SpecStream the same 20,000 pages cost $16.
Plan credits also end. ZenRows expires unused plan credits at every renewal, and ScrapingBee credits are valid for one month. Credit you buy on SpecStream never expires, and your $10 of free credit has no end date.
Blocked pages cost nothing, free or paid
The Extract API tries a page that refuses a plain read again as a browser would ask, then in a real browser, then from the site's own feed, then from its newest public archive capture. Each result says where it was read: read_from is live, site or archive.
A site that still refuses comes back as blocked and is not charged, and a 404 is not charged either. Your free credit pays only for pages that gave text.
Test it on your own URLs
This script reads urls.txt through the Extract API, 20 URLs a call, and prints how many pages came back, how many were blocked and what the run cost. 12,500 URLs fit in the free credit.
import collections
import os
import requests
KEY = os.environ["SPECSTREAM_API_KEY"]
urls = [line.strip() for line in open("urls.txt") if line.strip()]
status, cost = collections.Counter(), 0.0
for start in range(0, len(urls), 20):
data = requests.post(
"https://api.specstream.ai/v1/extract",
headers={"Authorization": f"Bearer {KEY}"},
json={"urls": urls[start:start + 20], "format": "markdown"},
timeout=120,
).json()["data"]
status.update(page["status"] for page in data["results"])
cost += data.get("price_usd", 0)
print(dict(status), f"${cost:.4f} for {len(urls)} URLs")Run the same list on the free tier you use today and set the two counts side by side. The URLs that come back blocked, empty or not_found are not in the cost line.
Search and rows on the same credit
The same key and the same $10 run the Search API, the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks (benchmarks). A search costs $5 per 1,000, or $1 per 1,000 on the fast tier. When you need records, not pages, Deep Search returns structured rows that meet every condition you wrote, at 5¢, 15¢ or $1 a delivered row.
Every free tier, one by one
1. SpecStream
The live web data engine for teams and agents. New accounts get $10 of credit, no card, with no end date. Its Extract API reads up to 20 URLs a call at $0.80 per 1,000 pages, browser included, so the credit reads 12,500 pages. A page that gives no text is not charged.
2. ZenRows
The Free plan gives 5,000 credits every month at 5 concurrent requests, with no top ups. A page in a browser takes 5 credits and a protected page 25, so a month reads 1,000 browser pages or 200 protected ones. SpecStream answers its GET /v1/ at one price per page (move from ZenRows).
3. Firecrawl
The Free plan gives 1,000 credits a month, reset each cycle with no rollover, at 2 concurrent browsers and 10 scrapes a minute. A scrape is 1 credit a page, and a 403 or 404 page still costs 1. SpecStream answers its /v2/scrape at https://api.specstream.ai/firecrawl (move from Firecrawl).
4. ScrapingAnt
The free plan gives 10,000 API credits every month, no card. Its default request, Chrome rendering with standard proxies, costs 10 credits, so a month reads 1,000 pages in a browser. SpecStream answers its API at /scrapingant/v2 (move from ScrapingAnt).
5. ScraperAPI
A 7 day trial with 5,000 credits, then a Free plan with 1,000 credits a month and 5 concurrent threads. render=true takes 10 credits, so the free month reads 100 pages in a browser. SpecStream answers its endpoint at /scraperapi, and a 404 there costs nothing (move from ScraperAPI).
6. Scrape.do
The free plan gives 1,000 successful API calls a month, with residential and mobile proxies and JavaScript rendering. A browser takes 5 credits, residential proxies 10, both together 25, and some domains get them by default. SpecStream answers its API at /scrapedo (move from Scrape.do).
7. Scrapfly
1,000 credits on signup, no card and no time limit. A datacenter page takes 1 credit, render_js 5 more and residential proxies 25. SpecStream answers its /scrape at /scrapfly/scrape and never bills a blocked page (move from Scrapfly).
8. ScrapingBee
1,000 free API credits, no card. JavaScript rendering is the default at 5 credits, so they read 200 pages, and premium proxies take 10 or 25. SpecStream answers its HTML API at /scrapingbee/api/v1 for $0.80 per 1,000 pages (move from ScrapingBee).
9. Zyte API
$5 of free credit for the first billing month. When it runs out, the account is suspended until you set a spending limit. On SpecStream every page is $0.80 per 1,000, whatever the site (Zyte alternatives).
10. Scrapingdog
The free plan is 100 request credits with 1 concurrent request, no card. SpecStream's $10 reads 12,500 pages, at 20 URLs a call.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to start on the free credit
1. Sign up and create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 12,500 pages.
2. From a scraping API, change the address and the key. ScraperAPI in Python:
import os
import requests
URL = "https://api.specstream.ai/scraperapi" # was https://api.scraperapi.com
reply = requests.get(
URL,
params={"api_key": os.environ["SPECSTREAM_API_KEY"], "url": "https://en.wikipedia.org/wiki/Web_scraping", "output_format": "markdown"},
timeout=70,
)
reply.raise_for_status()
print(reply.text[:500])3. Or call the Extract API itself, up to 20 URLs a call:
curl 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"}'4. Each reply carries the price of the call, and every call is listed in your workspace. An agent reads pages with the read_pages tool of the MCP server at https://api.specstream.ai/mcp, on the same credit.
Frequently asked questions
Something we didn't answer? Talk to a human
What is the best scraping API with a free tier?
Which scraping API gives the most free credits?
Is there a free web scraping API with no credit card?
Does a free tier include JavaScript rendering?
What happens when the free credits run out?
Can I keep my scraping API's code?
https://api.specstream.ai/zenrows/v1/, /scrapingbee/api/v1, /scraperapi, /scrapfly/scrape, /scrapedo, /scrapingant/v2 or /firecrawl, and send a SpecStream key where your client sends its key. Each call is one page at $0.0008.Does SpecStream have an MCP server?
https://api.specstream.ai/mcp. An agent gets read_pages and search_web on the same credit, inside the limits you set on its key.Sources
SpecStream wrote this page. Each figure about another company comes from that company's own page, read on the date shown. Pages a free amount reads are its credits divided by the credits a page takes. The plan for 20,000 browser pages is the cheapest monthly plan that holds the credits they take.
- 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
- ZenRows pricing docsdocs.zenrows.com/first-steps/pricing.md, read Nov 12, 2026
- ZenRows, best web scraping APIszenrows.com/blog/best-web-scraping-apis-benchmarked.md, 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 credits and request costsdocs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs.md, read Nov 12, 2026
- Scrapfly pricingscrapfly.io/pricing, read Nov 12, 2026
- Scrapfly billingscrapfly.io/docs/scrape-api/billing, read Nov 12, 2026
- Scrape.do pricingscrape.do/pricing/, read Nov 12, 2026
- Scrape.do request costsscrape.do/documentation/request-costs/, read Nov 12, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 12, 2026
- Firecrawl billingdocs.firecrawl.dev/billing, read Nov 12, 2026
- ScrapingAntscrapingant.com/, read Nov 12, 2026
- Zyte API pricing docsdocs.zyte.com/zyte-api/pricing.html, read Nov 12, 2026
- Scrapingdog pricingscrapingdog.com/pricing/, read Nov 12, 2026




