<!-- twin of https://specstream.ai/migrate/scraperapi -->
# ScraperAPI compatible: change the address, keep the client

Compared on Nov 10, 2026. The page: https://specstream.ai/migrate/scraperapi

ScraperAPI's Hobby plan is $49 a month for 100,000 credits, a Google or Bing page costs 25 credits, and the balance resets each renewal. SpecStream answers the same call at one price for every page: $0.80 per 1,000.

The switch is one line: `https://api.specstream.ai/scraperapi` in place of `https://api.scraperapi.com`, and a SpecStream key as `api_key`. In the Python SDK it is the `api_endpoint` argument.

The SpecStream Extract API scores 0.908 F1 on WCXB. A failed page costs nothing, credit you buy never expires, and a new account gets $10 of credit, no card.

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

## ScraperAPI to SpecStream, parameter by parameter and field by field

| | SpecStream | ScraperAPI |
|---|---|---|
| Address | `GET https://api.specstream.ai/scraperapi?api_key=&url=` | `GET https://api.scraperapi.com?api_key=&url=` |
| The key | A SpecStream key as `api_key`, as the SDK sends it | `api_key`, your API key, a mandatory parameter |
| Output | The page's HTML, or its content as markdown or plain text with `output_format` | The page's HTML, or markdown or text with `output_format` |
| Status codes | The site's `404` passes through. A page that cannot be read gets `500` and is not charged | Charged for `200` and `404`. A `500` is not charged |
| Errors | ScraperAPI's own: `400` with no `url`, `401` for a wrong key, `403` with no credit left. A busy call gets `429` with `Retry-After` and is not charged | `401` for an invalid key, `403` when the month's credits are exhausted, `429` for too many simultaneous requests |
| Price | $0.80 per 1,000 pages, the same for every site. $49 reads 61,250 pages | Hobby $49 a month for 100,000 credits. A standard page costs 1 credit, Amazon 5, Google and Bing 25, LinkedIn 30 |
| Credit | Credit you buy never expires | The credit balance resets when the subscription renews |
| Free to start | $10 of credit, no card, which covers 12,500 pages | A 7-day trial with 5,000 API credits, no credit card required |

## The ScraperAPI reference, on SpecStream

### The call, before and after

```
# Before
curl -G https://api.scraperapi.com \
  --data-urlencode "api_key=$SCRAPERAPI_KEY" \
  --data-urlencode "url=https://en.wikipedia.org/wiki/Web_scraping"

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

With ScraperAPI's Python SDK, `scraperapi-sdk` 1.6.1, the change is the constructor: `client = ScraperAPIClient(SPECSTREAM_KEY, api_endpoint="https://api.specstream.ai/scraperapi")`. `client.get(url)` then runs as before.

### What the route reads, and what it refuses

Read and applied: `url`, `api_key`, and `output_format` with `markdown` or `text`. A page the site does not have comes back as ScraperAPI's `404`.

Refused, in ScraperAPI's own status and text: no `url` gets `400`, a wrong key gets `401`, an empty balance gets `403`, and a host that does not resolve gets `500` and is not charged. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/scraperapi.md) lists each one and its result.

### What comes back

A `200` reply is the page itself with its `content-type`: HTML by default, markdown or plain text with `output_format`. A refused call carries a sentence of text that says why, as ScraperAPI's does. No part of ScraperAPI's reply is left out.

### One price a page, whatever the site

On ScraperAPI a Google or Bing page costs 25 credits and a LinkedIn page 30, and the balance resets each month. On SpecStream every page read costs $0.0008, which is $0.80 per 1,000, a failed page is not charged, and a busy call gets `429` with `Retry-After` and charges nothing. Credit you buy never expires.

### Scored on the official benchmarks

The SpecStream Extract API scores 0.908 F1 on WCXB. The Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions, 978 of them correct, and 64.0 item F1 and 43.4 row F1 on all 200 WideSearch tasks. Every score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=migrate-scraperapi) page.

### You decide what is kept, on each key

Create the key with `zero_retention` and a call made with it keeps no request text and no answer after the reply. `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}'
```

### Pages, search and rows on one key

The same key reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-scraperapi), searches the web at $5 per 1,000 searches, and runs [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-scraperapi), which returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The full comparison is on the [ScraperAPI alternative](https://specstream.ai/alternatives/scraperapi?utm_source=alternatives&utm_campaign=migrate-scraperapi) page.

## What else ScraperAPI users price

### ScrapingBee

A page API from $19 a month for 75,000 credits, where a default call with JavaScript costs 5 credits and credits don't roll over. SpecStream answers ScrapingBee's call at `https://api.specstream.ai/scrapingbee/api/v1/` too, at $0.80 per 1,000 pages.

### ZenRows

A page 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/`.

### Scrapfly

A page API from $30 a month for 200,000 credits, where browser rendering adds 5 credits a request. SpecStream answers Scrapfly's `/scrape` call too, and its credit never expires.

### Firecrawl

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

## How to migrate, step by step

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. Set the address to `https://api.specstream.ai/scraperapi` where your code has `https://api.scraperapi.com`, and send the SpecStream key as `api_key`. In Python:

```
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])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/scraperapi");
url.search = new URLSearchParams({ api_key: process.env.SPECSTREAM_KEY, url: "https://en.wikipedia.org/wiki/Web_scraping" });
const reply = await fetch(url);
console.log(reply.status, reply.headers.get("content-type"), (await reply.text()).length);
```

4. Read `429` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

### Is there a ScraperAPI compatible API?

Yes. SpecStream answers ScraperAPI's call at `https://api.specstream.ai/scraperapi` with ScraperAPI's reply and status codes, as measured on production on Nov 10, 2026. A page costs $0.0008.

### How do I migrate from ScraperAPI?

Change one address: `https://api.scraperapi.com` becomes `https://api.specstream.ai/scraperapi`, and a SpecStream key goes in `api_key`. `url` and `output_format` keep their meaning.

### How much does ScraperAPI cost?

Plans start at $49 a month for 100,000 API credits. A standard page costs 1 credit, an Amazon page 5, a Google or Bing page 25 and a LinkedIn page 30. SpecStream costs $0.80 per 1,000 pages for any site, with no plan.

### Does the ScraperAPI Python SDK work with SpecStream?

Yes. `scraperapi-sdk` 1.6.1 works with `api_endpoint="https://api.specstream.ai/scraperapi"` and a SpecStream key, as tested on production on Nov 10, 2026. `client.get()` runs unchanged.

### Does SpecStream charge for a failed page?

No. A page that cannot be read gets ScraperAPI's `500` and costs nothing, and a busy call gets `429` with `Retry-After` and costs nothing.

### Do ScraperAPI credits roll over?

No. ScraperAPI says the credit balance resets when the subscription renews. SpecStream credit you buy never expires.

## Sources

SpecStream wrote this page. Each ScraperAPI figure comes from ScraperAPI's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.

- [ScraperAPI pricing](https://www.scraperapi.com/pricing/), read Nov 10, 2026
- [ScraperAPI quick start](https://docs.scraperapi.com/getting-started/quick-start/send-your-first-request.md), read Nov 10, 2026
- [ScraperAPI status codes](https://docs.scraperapi.com/responses-and-formats/api-status-codes.md), read Nov 10, 2026
- [SpecStream ScraperAPI pass table](https://specstream.ai/specstream/dialects/scraperapi.md), read Nov 10, 2026
- [ScrapingBee pricing](https://www.scrapingbee.com/pricing/), read Nov 10, 2026
- [ZenRows pricing](https://docs.zenrows.com/first-steps/pricing.md), read Nov 10, 2026
- [Scrapfly pricing](https://scrapfly.io/pricing), read Nov 10, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), read Nov 10, 2026
- [Scrapfly billing](https://scrapfly.io/docs/scrape-api/billing), read Nov 10, 2026
- [ScrapingBee documentation](https://www.scrapingbee.com/documentation/), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
