<!-- twin of https://specstream.ai/alternatives/scrapfly -->
# Scrapfly alternatives in 2026: pages at $0.80 per 1,000, no plan

Compared on Nov 10, 2026. The page: https://specstream.ai/alternatives/scrapfly

Scrapfly is a scraping API on monthly plans, from $30 for 200,000 credits. Browser rendering adds 5 credits a request, a residential proxy costs 25, and failed scrapes are billed once 30% of recent scrapes are blocked. Search and rows are left to you.

SpecStream is the live web data engine. It reads any page at $0.0008 whatever it takes to load, answers your Scrapfly call at its own address, and on the same key searches the web, crawls sites and returns [whole datasets as rows](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=scrapfly).

[Get an API key](https://specstream.ai/signup?src=alternatives-scrapfly&utm_source=alternatives-md&utm_campaign=scrapfly&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dscrapfly) New accounts get $10 of credit, no card. It covers 12,500 pages.

## SpecStream and Scrapfly side by side

| | SpecStream | Scrapfly |
|---|---|---|
| What you change | One line. `https://api.specstream.ai/scrapfly` in place of `https://api.scrapfly.io`, and a SpecStream key as `key`. `GET /scrape` and its result JSON keep their shape | `GET https://api.scrapfly.io/scrape` with the `url` and `key` parameters |
| Price of a page | $0.0008, which is $0.80 per 1,000 pages, the same for every page. A page that refuses a plain read is tried again in a real browser at the same price | Credits by feature: a basic scrape is 1 credit, browser rendering adds 5, and a residential proxy costs 25 |
| Plan | No plan. Calls spend from a balance inside the limit you set on the key, and credit you buy never expires | Monthly plans: Discovery $30 for 200,000 credits, Pro $100 for 1,000,000 |
| Failed and empty pages | A page with no text is not charged. A busy call gets `429` with `Retry-After` and is not charged | Failed scrapes are not billed until 30% or more of recent scrapes are blocked. Then failed scrapes are billed |
| Free to start | $10 of credit, no card. That is 12,500 pages, or 2,000 searches | 1,000 API credits on signup, no credit card required |
| Search | The Search API answers a question from the live web at $5 per 1,000 searches of up to 10 results, with up to 100 results a call. 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks | A scrape API: `/scrape` starts from a URL you already have |
| Crawls and site maps | `POST /v1/crawl` runs a crawl as a job and `POST /v1/map` returns a site's links. Each crawled page with text is one page read at $0.0008, and a map is one page read. Firecrawl's map and crawl calls answer at `/firecrawl` on the same key | Crawler errors such as `ERR::CRAWLER::TIMEOUT` are billed |
| Data already held | Public databases read every morning at [specstream.ai/data](https://specstream.ai/data?utm_source=alternatives&utm_campaign=scrapfly): every company that filed a Form D since 2023 with its filing history, nearly 2 million US nonprofits, every US bank failure since 1934, federal rules, open federal contracts and grants, and local businesses. Signals such as funding rounds, new executives and layoffs at [specstream.ai/signals](https://specstream.ai/signals?utm_source=alternatives&utm_campaign=scrapfly) | Pages read one call at a time |
| Every match as structured rows | Deep Search: a request in plain words returns every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and nothing runs until you approve it | `result.content` of one page per call. Turning pages into records is code you write |
| Reruns and change labels | Hourly to yearly. Each row comes back labeled changed, unchanged or no longer matching. A changed or new row costs half its rate, an unchanged row 1¢ | Each call reads the page again at its credit cost |
| Where the data goes | Google Sheets, Excel, Airtable, Notion, monday.com, HubSpot, Salesforce, Pipedrive, Attio, Slack, Teams, Zapier, Make, n8n and signed webhooks. Agents use the MCP server, the REST API, the Python and TypeScript SDKs, a CLI and A2A | The API response, the `scrapfly-sdk` Python SDK, loaders for LangChain, LlamaIndex and CrewAI, and an n8n node |

## Why Scrapfly users move to SpecStream

### Your Scrapfly code keeps running

SpecStream answers `GET /scrape` at its own address, with Scrapfly's `result.content`, its error codes and its JSON. In Scrapfly's Python SDK, `scrapfly-sdk` 0.12.0, the change is the `host` argument: `ScrapflyClient(key=SPECSTREAM_KEY, host="https://api.specstream.ai/scrapfly")`. With `requests`:

```
import requests

reply = requests.get(
    "https://api.specstream.ai/scrapfly/scrape",  # was https://api.scrapfly.io/scrape
    params={"key": SPECSTREAM_KEY, "url": "https://en.wikipedia.org/wiki/Web_scraping", "format": "markdown"},
    timeout=60,
)
result = reply.json()["result"]
print(result["status_code"], result["content"][:500])
```

### One price a page, whatever the page needs

On Scrapfly the cost of a call depends on the features it turns on: 1 credit for a basic scrape, 5 more with browser rendering, 25 with a residential proxy. On SpecStream every page that gives text costs $0.0008. A page that refuses a plain read is tried again in a real browser, then from the site's own feed, then from its newest public archive capture, at the same price.

### A failed page is never charged

Scrapfly stops covering failed scrapes once 30% or more of recent scrapes are blocked. On SpecStream a page with no text is not charged at any rate of failure, and a busy call gets `429` with `Retry-After` and charges nothing.

### A balance with no plan

Scrapfly sells credits by the month, from $30 for Discovery. On SpecStream $30 reads 37,500 pages, there is no plan to renew, and credit you buy never expires. Set `spend_cap_cents` on a key and that key never spends past it.

### Scored on the official benchmarks

Every page goes through the SpecStream Extract API, which returns the main text of up to 20 pages or documents (PDF, Word, Excel) a call. The Search API scores a 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. The scores and the method are at [specstream.ai/benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=scrapfly).

### Search, crawls and site maps on the same key

A Scrapfly call starts from a URL you already have. On SpecStream the same key finds the URLs: the [Search API](https://specstream.ai/search-api?utm_source=alternatives&utm_campaign=scrapfly) returns up to 100 results a call at $5 per 1,000 searches of up to 10, `POST /v1/map` returns a site's links for one page read, and `POST /v1/crawl` reads a whole site at $0.0008 a page with text.

### Whole datasets as rows, kept up to date

When the job is a dataset in place of pages, the same key does that too. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=scrapfly) takes a request in plain words, such as "the pricing page of every European project management software company, with each plan's name and monthly price", and returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is approved before it starts. Save the request and it reruns hourly to yearly: a changed or new row costs half its rate and an unchanged row 1¢. Rows go to Sheets, a CRM, Slack, a signed webhook or your agent through the MCP server at `https://api.specstream.ai/mcp`.

### Zero retention on any key

Set `zero_retention` when you create a key, or later. A call made with that key keeps no request text and no answer after the reply, and `spend_cap_cents` is the most the key can spend.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'
```

## Other Scrapfly alternatives

### SpecStream

The live web data engine for teams and agents. The Extract API reads pages at $0.80 per 1,000 and scores 0.908 F1 on WCXB, the Search API costs $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions, and Deep Search returns every match as structured rows at 5¢, 15¢ or $1 a row. One key, one balance that never expires.

### ScrapingBee

A scraping API on monthly plans from $19 for 75,000 API credits, where a default call with JavaScript rendering costs 5 credits and credits don't roll over. SpecStream answers ScrapingBee's call at `https://api.specstream.ai/scrapingbee/api/v1` at $0.0008 a page.

### ScraperAPI

A scraping API on monthly plans: Hobby is $49 a month for 100,000 API credits, and the balance resets when the subscription renews. SpecStream answers ScraperAPI's call at `https://api.specstream.ai/scraperapi`, from a balance that never expires.

### ZenRows

A scraping API on monthly plans from $19 for 45,000 credits, where a JavaScript rendered request always costs 5 credits. SpecStream charges one price a page and answers ZenRows' call at `https://api.specstream.ai/zenrows/v1`.

### Firecrawl

Scrape, search and crawl billed in credits: Hobby is $19 a month for 5,000. SpecStream answers Firecrawl's v2 calls at `https://api.specstream.ai/firecrawl`, and $19 reads 23,750 pages.

## How to switch from Scrapfly

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. Change the address and the key. The parameters and the reply stay as they are:

```
# Before
curl -G https://api.scrapfly.io/scrape \
  --data-urlencode "key=$SCRAPFLY_KEY" \
  --data-urlencode "url=https://en.wikipedia.org/wiki/Web_scraping"

# After
curl -G https://api.specstream.ai/scrapfly/scrape \
  --data-urlencode "key=$SPECSTREAM_API_KEY" \
  --data-urlencode "url=https://en.wikipedia.org/wiki/Web_scraping"
```

3. In JavaScript, with `fetch`:

```
const url = new URL("https://api.specstream.ai/scrapfly/scrape");
url.search = new URLSearchParams({ key: process.env.SPECSTREAM_KEY, url: "https://en.wikipedia.org/wiki/Web_scraping", format: "markdown" });
const { result } = await (await fetch(url)).json();
console.log(result.status_code, result.content.slice(0, 500));
```

4. Read `429` with `Retry-After` as a call to send again later; it is not charged. Every parameter the route reads and every field it returns is in the [Scrapfly migration guide](https://specstream.ai/migrate/scrapfly?utm_source=alternatives&utm_campaign=scrapfly).

5. For pages you have not found yet, send the question to `GET https://api.specstream.ai/v1/web-search`, or write the dataset you want in plain words and SpecStream quotes the most it can cost before it runs.

## Frequently asked questions

### How much does Scrapfly cost?

Scrapfly starts at $30 a month for 200,000 credits on Discovery, and Pro is $100 a month for 1,000,000. A basic scrape is 1 credit, browser rendering adds 5 and a residential proxy costs 25. SpecStream reads any page at $0.80 per 1,000, with no plan.

### What is the best Scrapfly alternative?

SpecStream, at $0.80 per 1,000 pages with no plan. It answers Scrapfly's own `GET /scrape`, scores 0.908 F1 on WCXB for extraction and 97.9 F-score on SimpleQA Verified for search, as shown on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=scrapfly) page, and the same key crawls sites and returns whole datasets as rows.

### Does Scrapfly charge for failed scrapes?

Yes, once 30% or more of recent scrapes are blocked: then Scrapfly's Scrape Failed Protection is off and failed scrapes are billed. On SpecStream a page with no text is never charged, and a busy call gets `429` with `Retry-After` at no charge.

### How do I switch from Scrapfly to SpecStream?

Change one address: `https://api.scrapfly.io` becomes `https://api.specstream.ai/scrapfly`, and a SpecStream key goes in `key`. In the Python SDK it is `ScrapflyClient(key=SPECSTREAM_KEY, host="https://api.specstream.ai/scrapfly")`, and the result JSON keeps its shape.

### Is there a free Scrapfly alternative?

SpecStream gives every new account $10 of credit, no card, which reads 12,500 pages or runs 2,000 searches. Scrapfly gives 1,000 API credits on signup.

### Does SpecStream have an API?

Yes, three. The Extract API is `POST /v1/extract` at $0.80 per 1,000 pages, the Search API is `GET /v1/web-search` at $5 per 1,000 searches of up to 10 results, and Deep Search returns structured rows at 5¢, 15¢ or $1 each. The MCP server is at `https://api.specstream.ai/mcp`.

## Sources

SpecStream wrote this page. Each rival figure comes from that company's own page.

- [SpecStream pricing](https://specstream.ai/pricing), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream data](https://specstream.ai/data), read Nov 10, 2026
- [SpecStream signals](https://specstream.ai/signals), read Nov 10, 2026
- [Scrapfly pricing](https://scrapfly.io/pricing), read Nov 10, 2026
- [Scrapfly billing](https://scrapfly.io/docs/scrape-api/billing), read Nov 10, 2026
- [Scrapfly getting started](https://scrapfly.io/docs/scrape-api/getting-started), read Nov 10, 2026
- [Scrapfly errors](https://scrapfly.io/docs/scrape-api/errors), read Nov 10, 2026
- [ScrapingBee pricing](https://www.scrapingbee.com/pricing/), read Nov 10, 2026
- [ScrapingBee documentation](https://www.scrapingbee.com/documentation/), read Nov 10, 2026
- [ScraperAPI pricing](https://www.scraperapi.com/pricing/), read Nov 10, 2026
- [ZenRows pricing](https://docs.zenrows.com/first-steps/pricing.md), read Nov 10, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), read Nov 10, 2026
