<!-- twin of https://specstream.ai/migrate/dataforseo -->
# DataForSEO SERP API compatible: change the address, keep the JSON

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

DataForSEO's SERP API costs $2 per 1,000 SERPs in Live Mode, and the minimum account top-up is $50. SpecStream answers the same live organic task in DataForSEO's JSON, with $10 of credit to start, no card.

The switch is one line: `https://api.specstream.ai/dataforseo` in place of `https://api.dataforseo.com`, and a SpecStream key as the Basic auth password. The task array and the parser stay.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions, with a median of 0.82 s a search. A task of up to 10 results costs $0.005.

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

## DataForSEO SERP API to SpecStream, parameter by parameter and field by field

| | SpecStream | DataForSEO SERP API |
|---|---|---|
| Address | `POST https://api.specstream.ai/dataforseo/v3/serp/google/organic/live/regular` and `.../live/advanced` | `POST https://api.dataforseo.com/v3/serp/google/organic/live/advanced` and `/regular` |
| The key | HTTP Basic with the SpecStream key as the password; the login is not read | HTTP Basic with the API login and password |
| One call | One task a call. Two tasks get DataForSEO's own `40000` | Up to 10000 API calls per minute, each live call with only one task |
| `depth` | 10 by default, up to 200. `depth` 300 gets the task's `40501` | Default value 10, max value 200, billed per SERP of up to 10 results |
| Each result | The full envelope with `cost`, and organic `items[]` with `rank_group`, `rank_absolute`, `position`, `domain`, `title`, `description`, `url` and `breadcrumb` | `status_code` 20000 envelope with `tasks[].result[].items[]` |
| Errors | `401` for a wrong key, codes in `status_code` as DataForSEO sends them. A busy call gets DataForSEO's own `40202` with `Retry-After` and is not charged | HTTP 200 except for 401, 402, 404 and 500; the error is in `status_code` |
| Price | $0.005 a task of up to 10 results, each started block of 10 more adds $0.006. `depth` 30 is $0.017, as `cost` says | $2 per 1,000 SERPs in Live Mode, $1.2 in Priority Queue, $0.6 in Standard Queue |
| Free to start | $10 of credit, no card, which covers 2,000 searches. No minimum payment | A $1 credit on signing up. The minimum account top-up is $50 |

## The DataForSEO SERP API reference, on SpecStream

### The call, before and after

```
# Before
curl https://api.dataforseo.com/v3/serp/google/organic/live/regular \
  -u "$DATAFORSEO_LOGIN:$DATAFORSEO_PASSWORD" -H "Content-Type: application/json" \
  -d '[{"keyword": "web scraping api", "location_code": 2840, "language_code": "en"}]'

# After
curl https://api.specstream.ai/dataforseo/v3/serp/google/organic/live/regular \
  -u "login:$SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '[{"keyword": "web scraping api", "location_code": 2840, "language_code": "en"}]'
```

With DataForSEO's Python client, `dataforseo-client` 2.1.11, the change is the configuration: `Configuration(username="any", password=SPECSTREAM_KEY, host="https://api.specstream.ai/dataforseo")`. Your SERP calls then run as before.

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

Read and applied: `keyword`, `location_code` or `location_name`, `language_code` or `language_name`, `depth` up to 200, `target`, `tag`, `se_domain`, on both the regular and the advanced form.

Refused, in DataForSEO's own codes: two tasks in one call get `40000`, `depth` over 200 gets the task's `40501`, and a wrong key gets `401`. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/dataforseo.md) lists each one and its result.

### Every field that comes back

The reply has `version`, `status_code`, `status_message`, `time`, `cost`, `tasks_count`, `tasks_error` and `tasks[]`, each task with `id`, `status_code`, `cost`, `result_count`, `path`, `data` and `result[]`. Each result carries `keyword`, `type`, `se_domain`, `location_code`, `language_code`, `check_url`, `datetime`, `item_types`, `se_results_count`, `pages_count`, `items_count` and `items[]`.

Every organic item carries `type`, `rank_group`, `rank_absolute`, `page`, `position`, `domain`, `title`, `description`, `url`, `breadcrumb`, `website_name` and the `is_*` flags. These are present and empty: `spell`, `refinement_chips`, and an item's `xpath`, `pre_snippet`, `extended_snippet`, `images`, `rating`, `price`, `highlighted`, `links`, `faq`, `extended_people_also_search`, `about_this_result`, `related_search_url`, `timestamp` and `rectangle`.

### Pay per task, with no minimum

On DataForSEO the first top-up is at least $50. On SpecStream a new account starts with $10 of credit and no card, each task of up to 10 results costs $0.005, each started block of 10 more adds $0.006, and the `cost` field shows the price of each call. A busy call gets DataForSEO's own `40202` with `Retry-After` and charges nothing. Credit you buy never expires.

### 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-dataforseo) page.

Every drop-in route 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. There is no limit per key and no daily limit.

### 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-dataforseo) 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-dataforseo) 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 [DataForSEO alternative](https://specstream.ai/alternatives/dataforseo?utm_source=alternatives&utm_campaign=migrate-dataforseo) page.

## What else DataForSEO users price

### 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 answers SerpApi's call at `https://api.specstream.ai/serpapi` too.

### Serper

Google results in credit packs from $1.00 per 1,000 for 50,000 credits, with 2,500 free queries. SpecStream answers Serper's call at `https://api.specstream.ai/serper`, and its credit never expires.

### VALUE SERP

Google results at $2.50 per 1,000 on pay as you go, or 25,000 searches for $50 a month. SpecStream answers VALUE SERP's call at `https://api.specstream.ai/valueserp`, AI Overview included at the price of one search.

### serpstack

Google results on monthly plans: Basic is $29.99 for 5,000 searches, and each search over the plan costs $0.023992. SpecStream answers serpstack's call at `https://api.specstream.ai/serpstack` at $0.005 a search.

## 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 host to `https://api.specstream.ai/dataforseo` where your code has `https://api.dataforseo.com`, and send the SpecStream key as the Basic auth password. In Python:

```
import requests

URL = "https://api.specstream.ai/dataforseo/v3/serp/google/organic/live/advanced"  # was https://api.dataforseo.com/...

task = [{"keyword": "web scraping api", "location_code": 2840, "language_code": "en", "depth": 10}]
reply = requests.post(URL, json=task, auth=("login", SPECSTREAM_KEY), timeout=30)
reply.raise_for_status()
for item in reply.json()["tasks"][0]["result"][0]["items"]:
    print(item["rank_absolute"], item["title"], item["url"])
```

3. In JavaScript:

```
const reply = await fetch("https://api.specstream.ai/dataforseo/v3/serp/google/organic/live/regular", {
  method: "POST",
  headers: { Authorization: `Basic ${btoa(`login:${process.env.SPECSTREAM_KEY}`)}`, "Content-Type": "application/json" },
  body: JSON.stringify([{ keyword: "web scraping api", location_code: 2840, language_code: "en" }]),
});
const data = await reply.json();
for (const item of data.tasks[0].result[0].items) console.log(item.rank_absolute, item.title, item.url);
```

4. Read `status_code` 20000 as success, as before, and read `40202` as a call to send again after `Retry-After`. It is not charged.

## Frequently asked questions

### Is there a DataForSEO SERP API compatible API?

Yes. SpecStream answers DataForSEO's live Google organic call, regular and advanced, at `https://api.specstream.ai/dataforseo` in DataForSEO's JSON, as measured on production on Nov 10, 2026. A task of up to 10 results costs $0.005.

### How do I migrate from DataForSEO?

Change one host: `https://api.dataforseo.com` becomes `https://api.specstream.ai/dataforseo`, and the SpecStream key goes in as the Basic auth password. `keyword`, the location and language fields, `depth`, `target`, `tag` and `se_domain` keep their meaning.

### How much does the DataForSEO SERP API cost?

$2 per 1,000 SERPs in Live Mode, $1.2 in Priority Queue and $0.6 in Standard Queue, with a minimum account top-up of $50 and a $1 credit on signing up. SpecStream costs $5 per 1,000 searches with $10 of credit to start and no minimum.

### Does the DataForSEO Python client work with SpecStream?

Yes. `dataforseo-client` 2.1.11 works with `host="https://api.specstream.ai/dataforseo"` and the SpecStream key as the password, as tested on production on Nov 10, 2026.

### Can I send more than one task in a call?

No, one task a call, as DataForSEO's live API takes. Two tasks get DataForSEO's own `40000`, and there is no limit per key.

### Which DataForSEO fields does SpecStream leave empty?

16 fields come back present and empty, among them `spell`, `refinement_chips`, an item's `extended_snippet`, `rating`, `price`, `links`, `faq` and `rectangle`. Every organic item keeps its rank, `domain`, `title`, `description`, `url` and `breadcrumb`.

## Sources

SpecStream wrote this page. Each DataForSEO figure comes from DataForSEO'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.

- [DataForSEO SERP API pricing](https://dataforseo.com/apis/serp-api), read Nov 10, 2026
- [DataForSEO pricing](https://dataforseo.com/pricing), read Nov 10, 2026
- [DataForSEO Google organic live advanced](https://docs.dataforseo.com/v3/serp/google/organic/live/advanced/), read Nov 10, 2026
- [DataForSEO errors](https://docs.dataforseo.com/v3/appendix/errors/), read Nov 10, 2026
- [SpecStream DataForSEO pass table](https://specstream.ai/specstream/dialects/dataforseo.md), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [VALUE SERP pricing](https://trajectdata.com/serp/value-serp-api/pricing/), read Nov 10, 2026
- [serpstack pricing](https://serpstack.com/pricing), 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
