<!-- twin of https://specstream.ai/migrate/scale-serp -->
# Scale SERP compatible: change the address, keep the JSON

Compared on Nov 10, 2026. The page: https://specstream.ai/migrate/scale-serp

Scale SERP's smallest plan is 1,000 searches for $23 a month billed annually, then $0.038 per extra request. SpecStream answers the same `GET /search` in Scale SERP's JSON at $0.005 a search, news and AI Overview included.

The switch is one line: `https://api.specstream.ai/scaleserp` in place of `https://api.scaleserp.com`, and a SpecStream key as `api_key`. The parameters and your parser stay.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A search of up to 10 results costs $0.005, and credit you buy never expires.

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

## Scale SERP to SpecStream, parameter by parameter and field by field

| | SpecStream | Scale SERP |
|---|---|---|
| Address | `GET https://api.specstream.ai/scaleserp/search` | `GET https://api.scaleserp.com/search` |
| The key | A SpecStream key as `api_key` in the address | A Scale SERP key as `api_key` in the address |
| Results and dates | `num` 1 to 100, `page`, `time_period` (`last_hour` to `last_year`, or `custom` with `time_period_min` and `time_period_max`) and `tbs` | `time_period` from `last_hour` to `last_year`, or `custom` |
| News | `search_type=news` returns `news_results[]`, and `sort_by=date` puts the newest first, at the price of one search | `search_type=news` on the same address |
| AI Overview | `include_ai_overview=true` returns the search's answer and its source page, at the price of one search | 1 additional credit if an AI Overview is returned |
| Errors | Scale SERP's `request_info` with `success: false`: `401` with no key, `400` for `search_type=images`. A busy call gets `429` with `Retry-After` and is not charged | No charge for a call that does not return `200`. `402` when the account is out of credits |
| Price | $5 per 1,000 searches of up to 10 results, with no plan. 100 results cost $0.059 a call | 1,000 searches for $23 a month billed annually, $29 billed monthly, then $0.038 per extra request. 10,000 for $66 a month billed annually |
| Free to start | $10 of credit, no card, which covers 2,000 searches | 125 free searches a month, no credit card |

## The Scale SERP reference, on SpecStream

### The call, before and after

```
# Before
curl "https://api.scaleserp.com/search?q=pizza&api_key=$OLD_API_KEY"

# After
curl "https://api.specstream.ai/scaleserp/search?q=pizza&api_key=$SPECSTREAM_API_KEY"
```

In Scale SERP's own Python example the change is the address and the key in one call: `requests.get("https://api.specstream.ai/scaleserp/search", {"api_key": SPECSTREAM_KEY, "q": "pizza"})`.

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

Read and applied: `q`, `num` (1 to 100), `page`, `time_period` (`last_hour`, `last_day`, `last_week`, `last_month`, `last_year`, or `custom` with `time_period_min` and `time_period_max` as MM/DD/YYYY), `tbs`, `gl`, `hl`, `lr`, `cr`, `safe`, `include_ai_overview`, `search_type=news` with `sort_by`, and `pagination.api_pagination.next` for the next page.

Refused: `search_type=images` and the other result types get `400`, and a call with no `api_key` gets `401`, in Scale SERP's `request_info` form. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/scaleserp.md) lists each one and its result.

### Every field that comes back

The reply has `request_info.success`, `search_metadata` with `created_at`, `processed_at` and `total_time_taken`, `search_parameters` with `q` and `engine`, `search_information` with `original_query_yields_zero_results`, `total_results`, `time_taken_displayed` and `query_displayed`, `pagination` with `current` and `api_pagination`, and `organic_results[]` with `position`, `title`, `link`, `domain`, `displayed_link`, `snippet` and `date`. A news search returns `news_results[]` with `position`, `title`, `link`, `domain`, `source`, `date`, `date_utc` and `snippet`.

The route does not return `request_info.credits_used` or `credits_remaining`, the `search_metadata` links, `search_tabs`, `knowledge_graph`, `related_searches`, `related_questions`, `top_stories`, `local_results` or `ads`, nor a result's `rich_snippet`, `sitelinks`, `about_this_result`, `prerender` or `thumbnail`. One field is added, `specstream`, with the call's `price_usd`.

### One price a search, AI Overview and news included

On Scale SERP an AI Overview takes 1 additional credit. On SpecStream every call of up to 10 results costs $0.005, a news search or an AI Overview included, each started block of 10 more adds $0.006, and there is no plan to renew. A busy call gets `429` with `Retry-After` and charges nothing.

### The most accurate web search API, in about one second

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

A call of up to 10 results on the first page runs the fast search. Measured on production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, the 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720. One account can send up to 26,666 searches a minute.

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

Create the key with `zero_retention` and a search 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}'
```

### Search, pages 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-scale-serp) at $0.80 per 1,000 pages, and a page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-scale-serp) 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 most a run can cost is approved before it starts.

## What else Scale SERP users price

### SerpWow

Traject Data's multi-engine API: Starter is $125 a month billed annually for 10,000 credits, then $.024 per extra credit. SpecStream answers SerpWow's own `/live/search` call at `/serpwow`, at $0.005 a search.

### Scrapingdog

A scraping API whose Google search costs 5 credits a request: Lite is $40 a month for 200,000 credits, which is 40,000 searches at $1 per 1,000. SpecStream answers Scrapingdog's own `/google` call at `/scrapingdog`, with no plan.

### SerpApi

Google results on monthly plans: Starter is $25 for 1,000 searches with 200 an hour, Developer $75 for 5,000. SpecStream charges $0.005 a search with no plan, and its credit never expires.

## 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 2,000 searches.

2. Set the address to `https://api.specstream.ai/scaleserp/search` where your code has `https://api.scaleserp.com/search`, and send the SpecStream key as `api_key`. In Python:

```
import requests

URL = "https://api.specstream.ai/scaleserp/search"  # was https://api.scaleserp.com/search

reply = requests.get(URL, {"api_key": SPECSTREAM_KEY, "q": "pizza", "num": 10}, timeout=30)
reply.raise_for_status()
for result in reply.json()["organic_results"]:
    print(result["position"], result["title"], result["link"])
```

3. In JavaScript, a news search:

```
const url = new URL("https://api.specstream.ai/scaleserp/search");
url.search = new URLSearchParams({ api_key: process.env.SPECSTREAM_KEY, q: "Nvidia earnings", search_type: "news", sort_by: "date" });
const data = await (await fetch(url)).json();
for (const item of data.news_results) console.log(item.date_utc, item.source, item.title, item.link);
```

4. Follow `pagination.api_pagination.next` for the next page, and read `429` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

### Is there a Scale SERP compatible API?

Yes. SpecStream answers Scale SERP's `GET /search` at `https://api.specstream.ai/scaleserp` in Scale SERP's JSON, as measured on production on Nov 10, 2026. A search of up to 10 results costs $0.005.

### How do I migrate from Scale SERP?

Change one address: `https://api.scaleserp.com` becomes `https://api.specstream.ai/scaleserp`, and a SpecStream key goes in `api_key`. `q`, `num`, `page`, `time_period`, `tbs`, `gl`, `hl`, `search_type=news` and `include_ai_overview` keep their meaning.

### How much does Scale SERP cost?

1,000 searches for $23 a month billed annually or $29 billed monthly, then $0.038 per extra request, and 10,000 for $66 a month billed annually, with 125 free searches a month. SpecStream costs $5 per 1,000 with no plan.

### Is there a Scale SERP SDK whose address I can change?

Scale SERP's own examples are plain HTTP calls, such as `requests.get` in Python, so the change is the address in that one line, as tested on production on Nov 10, 2026. The same holds for `fetch` and curl.

### Does SpecStream answer Scale SERP news searches?

Yes. `search_type=news` returns `news_results[]` with each item's `source`, `date` and `date_utc`, and `sort_by=date` puts the newest first, at $0.005 a call like any search.

### Which Scale SERP fields does SpecStream not return?

Credit counts in `request_info`, `knowledge_graph`, `related_searches`, `related_questions`, `top_stories`, `local_results` and `ads`, and a result's `rich_snippet`, `sitelinks` and `date_utc`. Each result keeps `position`, `title`, `link`, `domain`, `displayed_link`, `snippet` and `date`.

## Sources

SpecStream wrote this page. Each Scale SERP figure comes from Traject Data'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.

- [Scale SERP pricing](https://trajectdata.com/pricing/scaleserp-api), read Nov 10, 2026
- [Scale SERP Google search parameters](https://docs.trajectdata.com/scaleserp/search-api/searches/google/search), read Nov 10, 2026
- [Scale SERP news results](https://docs.trajectdata.com/scaleserp/search-api/results/google/news), read Nov 10, 2026
- [Scale SERP error handling](https://docs.trajectdata.com/scaleserp/search-api/fundamentals/error-handling), read Nov 10, 2026
- [SpecStream Scale SERP pass table](https://specstream.ai/specstream/dialects/scaleserp.md), read Nov 10, 2026
- [SerpWow pricing](https://trajectdata.com/pricing/serpwow-api), read Nov 10, 2026
- [Scrapingdog pricing](https://www.scrapingdog.com/pricing), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing.md), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream pricing](https://specstream.ai/pricing), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
