<!-- twin of https://specstream.ai/migrate/searchapi -->
# SearchApi.io compatible: change the address, keep the JSON

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

SearchApi.io starts at $40 a month for 10,000 searches, and only 20% of a plan's credits can be used in one hour. SpecStream answers the same Google call in SearchApi's JSON, with no monthly plan.

The switch is one line: `https://api.specstream.ai/searchapi` in place of `https://www.searchapi.io`, and a SpecStream key as `api_key` or the Bearer token. Your code reads `organic_results[]` as before.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A search of up to 10 results costs $0.005, and `num` goes up to 100.

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

## SearchApi.io to SpecStream, parameter by parameter and field by field

| | SpecStream | SearchApi.io |
|---|---|---|
| Address | `GET https://api.specstream.ai/searchapi/api/v1/search?engine=google` | `GET https://www.searchapi.io/api/v1/search?engine=google` |
| The key | A SpecStream key as `api_key` in the address or `Authorization: Bearer` | A SearchApi key as `api_key` in the address or `Authorization: Bearer` |
| `num` | 1 to 100, and 10 when you send none. `num=5` returns 5 results | Phased out by Google in September 2025, so it is a constant 10 |
| Dates and pages | `time_period` (`last_hour` to `last_year`), `time_period_min` and `time_period_max` as MM/DD/YYYY, and `page` | `time_period`, `time_period_min`, `time_period_max` and `page`, which is 1 by default |
| Each result | `position`, `title`, `link`, `domain`, `snippet`, and `date` when the page has one. Not returned: `source`, `displayed_link`, `snippet_highlighted_words`, `sitelinks` and `favicon` | `position`, `title`, `link`, `source`, `domain`, `displayed_link`, `snippet`, `date` and more |
| Errors | SearchApi's `{"error": ...}`. Another engine gets `400`. A busy call gets `429` with `Retry-After` and is not charged | Only searches with a `200` status are charged |
| Price per 1,000 searches | $5 for up to 10 results. 100 results cost $0.059 a call | $4 on Developer, $3 on Production, $2.5 on BigData, $1.5 on Octo 1M |
| Plan and limit | No monthly plan. Credit you buy never expires. Up to 8,800 searches a minute on one account | Developer is $40 a month for 10,000 searches, and up to 20% of a plan's credits each hour |
| Free to start | $10 of credit, no card, which covers 2,000 searches | 100 free requests, no credit card |

## The SearchApi.io reference, on SpecStream

### The call, before and after

```
# Before
curl -G "https://www.searchapi.io/api/v1/search" -d engine=google \
  --data-urlencode "q=python programming language" -H "Authorization: Bearer $SEARCHAPI_API_KEY"

# After
curl -G "https://api.specstream.ai/searchapi/api/v1/search" -d engine=google \
  --data-urlencode "q=python programming language" -H "Authorization: Bearer $SPECSTREAM_API_KEY"
```

The parameters and the parser stay. The address gains `/searchapi` after the host, and the key changes. `api_key` in the address works as it does on SearchApi.

### Apps and SDKs that take the address as a setting

Each line was run on production on November 10, 2026 through that client's own request and reply code. Put your SpecStream key wherever the client takes its key.

LiteLLM: set `SEARCHAPI_API_BASE` to the whole address, `https://api.specstream.ai/searchapi/api/v1/search`, and put your SpecStream key in `SEARCHAPI_API_KEY`.

Cherry Studio: in the SearchApi provider, set API host to `https://api.specstream.ai/searchapi`.

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

Read and applied: `q`, `engine` `google`, `num` (1 to 100), `page`, `time_period`, `time_period_min` and `time_period_max`, and the key as `api_key` or a Bearer token. `page=2` returns the next 10 results, none of them on page 1.

Refused: any `engine` other than `google` gets `400` with `This route answers engine=google.` Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/searchapi.md) lists each one and its result.

### Every field that comes back

The reply has `search_metadata` with `id`, `status` and `total_time_taken`, `search_parameters` with `engine` and `q`, `search_information.query_displayed`, `organic_results[]`, and `pagination` with `current` and `next`. Each result has `position`, `title`, `link`, `domain`, `snippet`, and `date` when the page has one.

The route does not return `search_metadata.created_at`, `request_url`, `html_url` or `json_url`, `search_information.total_results`, `answer_box`, `knowledge_graph`, `related_searches`, or a result's `source`, `displayed_link`, `snippet_highlighted_words`, `sitelinks` and `favicon`. One field is added, `specstream`, with the call's `price_usd`.

### $5 per 1,000 searches, with no monthly plan

SearchApi sells monthly plans from $40 for 10,000 searches, and lets a plan use 20% of its credits in an hour. On SpecStream every call of up to 10 results costs $0.005, each started block of 10 more adds $0.006, and there is nothing 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-searchapi) 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 8,800 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-searchapi) 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-searchapi) 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. The full comparison is on the [SearchApi.io alternative](https://specstream.ai/alternatives/searchapi-io?utm_source=alternatives&utm_campaign=migrate-searchapi) page.

## What else SearchApi.io users price

### SerpApi

Google results as JSON 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 the SearchApi call your code already sends.

### Serper

Google results in credit packs from $1.00 per 1,000 for 50,000 credits, with 2,500 free queries, in Serper's own reply. SpecStream keeps SearchApi's request and reply, and scores 97.9 F-score on SimpleQA Verified.

### Zenserp

Google results on monthly plans, from Small at $49.99 for 25,000 searches, and 50 free searches a month. SpecStream needs no plan, and the credit you buy 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/searchapi/api/v1/search` where your code has `https://www.searchapi.io/api/v1/search`, and send the SpecStream key. In Python:

```
import requests

URL = "https://api.specstream.ai/searchapi/api/v1/search"  # was https://www.searchapi.io/api/v1/search

reply = requests.get(
    URL,
    params={"engine": "google", "q": "python programming language", "num": 10},
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
    timeout=30,
)
reply.raise_for_status()
for result in reply.json()["organic_results"]:
    print(result["position"], result["title"], result["link"])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/searchapi/api/v1/search");
url.search = new URLSearchParams({ engine: "google", q: "python programming language" });
const res = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}` },
});
const data = await res.json();
for (const result of data.organic_results) console.log(result.title, result.link);
```

4. Follow `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 SearchApi.io compatible API?

Yes. SpecStream answers SearchApi's `GET /api/v1/search?engine=google` at `https://api.specstream.ai/searchapi` in SearchApi'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 SearchApi.io?

Change one address: `https://www.searchapi.io` becomes `https://api.specstream.ai/searchapi`, and a SpecStream key goes in `api_key` or the Bearer header. `engine`, `q`, `num`, `page` and the `time_period` parameters keep their meaning.

### How much does SearchApi.io cost?

From $40 a month for 10,000 searches on Developer, $4 per 1,000, down to $1.5 per 1,000 on Octo 1M, with 100 free requests to start. SpecStream costs $5 per 1,000 with no monthly plan, and its credit never expires.

### Which apps and SDKs take the SpecStream address for SearchApi.io?

LiteLLM: set `SEARCHAPI_API_BASE` to the whole address, `https://api.specstream.ai/searchapi/api/v1/search`, and put your SpecStream key in `SEARCHAPI_API_KEY`. Cherry Studio: in the SearchApi provider, set API host to `https://api.specstream.ai/searchapi`.

### Is there a SearchApi.io SDK whose address I can change?

No: as of Nov 10, 2026 SearchApi publishes no official SDK, and LangChain's SearchApiAPIWrapper keeps the address in its code. Its reader of the reply parses SpecStream's JSON; for your own code, change the address in `requests`, `fetch` or curl.

### Does num work on SpecStream?

Yes, from 1 to 100. SearchApi keeps `num` at a constant 10 since Google phased it out in September 2025. On SpecStream 10 results cost $0.005 and 100 cost $0.059.

### Which SearchApi fields does SpecStream not return?

Ten: `answer_box`, `knowledge_graph`, `related_searches`, `search_information.total_results`, the `search_metadata` links, and a result's `source`, `displayed_link`, `snippet_highlighted_words`, `sitelinks` and `favicon`. Each result keeps `position`, `title`, `link`, `domain`, `snippet` and `date`.

## Sources

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

- [SearchApi.io pricing](https://www.searchapi.io/pricing), read Nov 10, 2026
- [SearchApi.io Google Search API docs](https://www.searchapi.io/docs/google), read Nov 10, 2026
- [SpecStream SearchApi pass table](https://specstream.ai/specstream/dialects/searchapi.md), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [Zenserp pricing](https://www.zenserp.com/pricing), 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
