<!-- twin of https://specstream.ai/best-scraping-api-free-tier -->
# Best scraping API with a free tier in 2026: free pages, compared

Compared on Nov 12, 2026. The page: https://specstream.ai/best-scraping-api-free-tier

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.

[Get an API key](https://specstream.ai/signup?src=alternatives-best-scraping-api-free-tier&utm_source=alternatives-md&utm_campaign=best-scraping-api-free-tier&returnTo=%2Fworkspace%2Fagents%3Ftab%3Dkeys) 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](https://specstream.ai/search-api?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier), 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](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)). A search costs $5 per 1,000, or $1 per 1,000 on the fast tier. When you need records, not pages, [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier) 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](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier) 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](https://specstream.ai/migrate/zenrows?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/firecrawl?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/scrapingant?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/scraperapi?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/scrape-do?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/scrapfly?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/migrate/scrapingbee?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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](https://specstream.ai/alternatives/zyte?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier)).

### 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 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](https://specstream.ai/docs/mcp?utm_source=alternatives&utm_campaign=best-scraping-api-free-tier) at `https://api.specstream.ai/mcp`, on the same credit.

## Frequently asked questions

### What is the best scraping API with a free tier?

SpecStream: $10 of credit with no card and no end date reads 12,500 pages, browser included, at 20 URLs a call. Its Extract API scores 0.908 F1 on WCXB, and a blocked page or a 404 is not charged.

### Which scraping API gives the most free credits?

ScrapingAnt gives 10,000 credits a month and ZenRows 5,000, but a page in a browser takes 10 and 5 of them, so each reads 1,000 browser pages a month. SpecStream's $10 reads 12,500 pages at once, at one price for every page.

### Is there a free web scraping API with no credit card?

Yes. SpecStream, ZenRows, ScrapingBee, ScraperAPI, Scrapfly, Scrape.do, Firecrawl and ScrapingAnt all start without a card. Zyte gives $5 for the first billing month, then suspends the account until you set a spending limit.

### Does a free tier include JavaScript rendering?

On most, yes, at a higher credit cost: 5 credits on ZenRows, ScrapingBee and Scrape.do, 6 on Scrapfly with datacenter proxies, 10 on ScraperAPI. Firecrawl charges 1 credit a page. On SpecStream every page is $0.0008, with the browser included.

### What happens when the free credits run out?

On SpecStream you top up and pay $0.80 per 1,000 pages, with no plan. ZenRows has no top ups on Free and waits for next month, and the entry plans elsewhere cost $19 to $49 a month.

### Can I keep my scraping API's code?

Yes, for seven APIs. Set the address to `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?

Yes, at `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 pricing](https://specstream.ai/pricing), read Nov 12, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 12, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 12, 2026
- [ZenRows pricing docs](https://docs.zenrows.com/first-steps/pricing.md), read Nov 12, 2026
- [ZenRows, best web scraping APIs](https://www.zenrows.com/blog/best-web-scraping-apis-benchmarked.md), read Nov 12, 2026
- [ScrapingBee pricing](https://www.scrapingbee.com/pricing/), read Nov 12, 2026
- [ScrapingBee documentation](https://www.scrapingbee.com/documentation/), read Nov 12, 2026
- [ScraperAPI pricing](https://scraperapi.com/pricing.md), read Nov 12, 2026
- [ScraperAPI credits and request costs](https://docs.scraperapi.com/getting-started/quick-start/credits-and-requests-costs.md), read Nov 12, 2026
- [Scrapfly pricing](https://scrapfly.io/pricing), read Nov 12, 2026
- [Scrapfly billing](https://scrapfly.io/docs/scrape-api/billing), read Nov 12, 2026
- [Scrape.do pricing](https://scrape.do/pricing/), read Nov 12, 2026
- [Scrape.do request costs](https://scrape.do/documentation/request-costs/), read Nov 12, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), read Nov 12, 2026
- [Firecrawl billing](https://docs.firecrawl.dev/billing), read Nov 12, 2026
- [ScrapingAnt](https://scrapingant.com/), read Nov 12, 2026
- [Zyte API pricing docs](https://docs.zyte.com/zyte-api/pricing.html), read Nov 12, 2026
- [Scrapingdog pricing](https://www.scrapingdog.com/pricing/), read Nov 12, 2026
