<!-- twin of https://specstream.ai/compare/serper-vs-serpapi -->
# Serper vs SerpApi in 2026: one SpecStream key answers both calls

Compared on Nov 10, 2026. The page: https://specstream.ai/compare/serper-vs-serpapi

On Nov 10, 2026, Serper sells Google results in prepaid packs from $1.00 to $0.30 per 1,000 credits, valid for 6 months. SerpApi sells monthly plans from $25 for 1,000 searches. Each answers in its own JSON.

SpecStream answers both calls. Point Serper code at `https://api.specstream.ai/serper` and SerpApi code at `https://api.specstream.ai/serpapi`, put one SpecStream key where the old key went, and the same request returns the same JSON.

Every call costs $5 per 1,000 searches of up to 10 results, with no monthly plan and credit that never expires. The Search API scores a 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on WideSearch.

[Get an API key](https://specstream.ai/signup?src=alternatives-serper-vs-serpapi&utm_source=alternatives-md&utm_campaign=serper-vs-serpapi&returnTo=%2Fworkspace%2Fagents%3Ftab%3Dkeys) New accounts get $10 of credit, no card. It covers 2,000 searches.

## SpecStream, Serper and SerpApi side by side

| | SpecStream | Serper | SerpApi |
|---|---|---|---|
| Your code | Runs as it is. `https://api.specstream.ai/serper` in place of `https://google.serper.dev`, `https://api.specstream.ai/serpapi` in place of `https://serpapi.com`, and one SpecStream key for both | `POST https://google.serper.dev/search`, with the key in `X-API-KEY` | `GET https://serpapi.com/search?engine=google`, with the key in `api_key` |
| Price per 1,000 searches | $5 for up to 10 results, on either route and on every account | $1.00 per 1,000 credits on the 50k pack, $0.75 on 500k, $0.50 on 2.5M and $0.30 on 12.5M | $25 on Starter (1,000 searches for $25 a month), $15 on Developer (5,000 for $75), $10 on Production (15,000 for $150) |
| How you pay | From a balance, with no monthly plan. Credit you buy never expires | Prepaid packs with no monthly subscription. Credits are valid for 6 months | Monthly plans, month to month. Automatic Early Renewal renews the plan early once its searches are used |
| Free to start | $10 of credit, no card. That is 2,000 searches | 2,500 free queries, no credit card | 250 searches a month on the Free plan |
| Volume | No limit per key and no daily limit | 50 queries a second on the smallest pack, 300 on the largest | Guaranteed successful searches an hour: 200 on Starter, 1,000 on Developer, 3,000 on Production. Ludicrous Speed costs 2 times the base price |
| At high volume | 100,000 searches cost $500, and 1,000,000 cost $5,000, at the same rate | 12.5M credits at $0.30 per 1,000, valid for 6 months | Big Data: $275 a month for 30,000 searches. Cloud 1M: $3,750 a month for 1,000,000 |
| Failed calls | A busy call answers `429` with `Retry-After` and is not charged | A credit is deducted for each successful response. New queries stop when the balance reaches zero | Cached, errored and failed searches are not counted |
| What answers the call | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasks | Google, queried live on each call, with nothing cached. The query takes a country and a language | Google, through `engine=google`. 97.6% on SimpleQA Verified in SerpApi's own post of Oct 16, 2026, on 937 of the 960 questions it kept |
| What comes back | Each route's own JSON: Serper's `organic[]` with `title`, `link`, `snippet` and `position`, or SerpApi's `organic_results[]` with `position`, `title`, `link`, `displayed_link` and `snippet`, `search_metadata` and `serpapi_pagination` | `organic` results with `snippet` and `position`, `knowledgeGraph`, `peopleAlsoAsk` and `relatedSearches`, and other paths for images, news, maps, places, videos, shopping, scholar, patents and autocomplete | Google's results page as JSON. A response with 100 results and an empty result set both count as 1 search |

## Why teams that weigh Serper and SerpApi pick SpecStream

### Both calls, one key

You do not have to choose an API or rewrite one. Serper's call and SerpApi's call both run on SpecStream, each on its own path and in its own JSON. The address changes, and the key.

```
# Serper: before
curl -X POST https://google.serper.dev/search \
  -H "X-API-KEY: $SERPER_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "open source vector databases", "num": 10, "page": 1}'

# Serper: after
curl -X POST https://api.specstream.ai/serper/search \
  -H "X-API-KEY: $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "open source vector databases", "num": 10, "page": 1}'
```

```
# SerpApi: before
curl "https://serpapi.com/search.json?engine=google&q=Larkspur+Colorado+mayor&api_key=$SERPAPI_API_KEY"

# SerpApi: after
curl "https://api.specstream.ai/serpapi/search.json?engine=google&q=Larkspur+Colorado+mayor&api_key=$SPECSTREAM_API_KEY"
```

In the clients it is one setting: `base_url="https://api.specstream.ai/serper"` on crewAI's `SerperDevTool`, and `client.BASE_DOMAIN = "https://api.specstream.ai/serpapi"` in SerpApi's Python client, serpapi 1.2.0, where `search` and `next_page()` work as before.

### What stays the same

The Serper route reads `q` with operators such as `site:`, `num` from 1 to 100, `page` and `tbs` date ranges, and returns `organic[]` with `title`, `link`, `snippet` and `position`, plus `answerBox` on page 1 when the search has an answer. It serves web search at `/serper/search` and news at `/serper/news`; `knowledgeGraph`, `peopleAlsoAsk` and `relatedSearches` are not in the reply. The [Serper migration guide](https://specstream.ai/migrate/serper?utm_source=alternatives&utm_campaign=serper-vs-serpapi) lists every parameter and field.

The SerpApi route reads `q`, `engine` `google`, `num` from 1 to 100, `start`, `tbs` dates and `api_key`, and returns `search_metadata`, `search_parameters`, `search_information`, `organic_results[]` and `serpapi_pagination` with `next` on our host. It refuses `tbm` and other engines with `400`, and does not return `answer_box`, `knowledge_graph` or `related_questions`. The [SerpApi migration guide](https://specstream.ai/migrate/serpapi?utm_source=alternatives&utm_campaign=serper-vs-serpapi) lists every parameter and field.

### One price, no plan, no expiry

On SpecStream a search of up to 10 results costs $0.005 on either route, and each started block of 10 more results adds $0.006. There is no plan to pick and no month to use the searches in: $25 buys 5,000 searches where SerpApi's Starter gives 1,000 for the month, and the credit stays until you use it where Serper's credits last 6 months. A busy call answers `429` with `Retry-After` and is not charged.

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

The SpecStream Search API scores a 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct. SerpApi's own post reports 97.6% on the same benchmark, on the 960 questions it kept after setting 40 aside. On WideSearch SpecStream scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The scores and the method are at [specstream.ai/benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=serper-vs-serpapi).

A call of up to 10 results runs the fast search. On November 9, 2026 production answered 718 of 720 fast searches: the median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. There is no limit per key and no daily limit, on any account.

### Zero retention on any key

SerpApi's ZeroTrace, which keeps no search parameters, queries or results, comes with its Cloud plans from $3,750 a month. On SpecStream `zero_retention` is a field on any key: a search made with it keeps no request text and no answer after the reply.

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

A product that calls a results page API still has to read the pages and build its own records. On SpecStream 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=serper-vs-serpapi) 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=serper-vs-serpapi) takes a request in plain words and returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row. The most a run can cost is approved before it starts.

## Other Google results APIs teams price against Serper and SerpApi

### SearchApi

$40 a month for 10,000 searches on Developer, $4 per 1,000, with 100 free requests to start. SpecStream answers SearchApi's `GET /api/v1/search?engine=google` at `https://api.specstream.ai/searchapi`, on the same key.

### VALUE SERP

$50 a month for 25,000 searches, $1.60 per 1,000 over the plan, or $2.50 per 1,000 pay as you go. SpecStream answers VALUE SERP's `GET /search` at `https://api.specstream.ai/valueserp`, on the same key.

### Tavily

A search API for AI agents at $0.008 a credit pay as you go, 1 credit a basic search and 2 an advanced one. SpecStream answers Tavily's `POST /search` at `https://api.specstream.ai/tavily`, in Tavily's JSON.

### Exa

$7 per 1,000 searches on `auto` and $4 on `lite` for the first 10 results. SpecStream answers Exa's `POST /search` at `https://api.specstream.ai/exa`, in Exa's JSON.

## How to move Serper or SerpApi code to SpecStream

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. In Serper code, set the base address to `https://api.specstream.ai/serper` and put the SpecStream key in `X-API-KEY`.

```
const res = await fetch("https://api.specstream.ai/serper/search", { // was https://google.serper.dev
  method: "POST",
  headers: { "X-API-KEY": process.env.SPECSTREAM_API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({ q: "open source vector databases", num: 10, page: 1 }),
});
const data = await res.json();
for (const result of data.organic) console.log(result.position, result.title, result.link);
```

3. In SerpApi code, set the base address to `https://api.specstream.ai/serpapi` and send the same key as `api_key`.

```
import os, requests

BASE = "https://api.specstream.ai/serpapi"  # was https://serpapi.com

reply = requests.get(
    f"{BASE}/search.json",
    params={"engine": "google", "q": "Larkspur Colorado mayor", "num": 10, "api_key": os.environ["SPECSTREAM_API_KEY"]},
    timeout=30,
).json()

for result in reply["organic_results"]:
    print(result["position"], result["title"], result["link"])
```

4. Leave the rest. Both routes bill each call of up to 10 results at $0.005 from one balance, and each reply carries the price of the call in `specstream.price_usd`.

## Frequently asked questions

### Is Serper better than SerpApi?

For a team that has written to either one, SpecStream is the better choice: since Nov 10, 2026 it answers both calls in their own JSON at $5 per 1,000 searches with no plan, and scores a 97.9 F-score on all 1,000 SimpleQA Verified questions. Serper sells prepaid packs that last 6 months; SerpApi sells monthly plans.

### Serper vs SerpApi pricing: what does each cost?

Serper costs $1.00 to $0.30 per 1,000 credits in packs valid for 6 months. SerpApi costs $25 a month for 1,000 searches on Starter, $75 for 5,000 and $150 for 15,000. SpecStream costs $5 per 1,000 searches, with credit that never expires.

### Can I use both Serper and SerpApi?

Yes, on one SpecStream key. Serper code calls `https://api.specstream.ai/serper` and SerpApi code calls `https://api.specstream.ai/serpapi`, each in its own JSON, on one balance and one request history.

### Do Serper and SerpApi have a free plan?

Serper gives 2,500 free queries with no credit card, and SerpApi 250 searches a month on its Free plan. SpecStream gives $10 of credit with no card, which covers 2,000 searches on either route.

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

Yes. With serpapi 1.2.0, set `client.BASE_DOMAIN = "https://api.specstream.ai/serpapi"` after the client is made, and `search` and `next_page()` work as before. The older `google-search-results` package takes `GoogleSearch.BACKEND`.

### Which has the higher rate limit?

SpecStream has no limit per key and no daily limit. Serper's packs allow 50 to 300 queries a second, and SerpApi's plans guarantee 200 to 3,000 successful searches an hour on Starter to Production.

## Sources

SpecStream wrote this page. Each figure for Serper, SerpApi and the other APIs comes from that company's own page.

- [Serper homepage and pricing](https://serper.dev/), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing), read Nov 10, 2026
- [SerpApi Google Search API](https://serpapi.com/search-api), read Nov 10, 2026
- [SerpApi on SimpleQA Verified](https://serpapi.com/blog/serpapi-achieves-97-6-accuracy-on-simpleqa-verified/), read Nov 10, 2026
- [SearchApi pricing](https://www.searchapi.io/pricing), read Nov 10, 2026
- [VALUE SERP pricing](https://trajectdata.com/serp/value-serp-api/pricing/), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [Exa pricing](https://exa.ai/docs/admin/pricing.md), 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
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
