<!-- twin of https://specstream.ai/migrate/serply -->
# Serply compatible: change the address

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

Since November 10, 2026 SpecStream answers Serply's `GET /v1/search` in Serply's own JSON, with the query in the address or in the path. A search of up to 10 results costs $0.005, and a busy call costs nothing.

The switch is one line: `https://api.specstream.ai/serply` in place of `https://api.serply.io`, and a SpecStream key in the `X-Api-Key` header. The request and your parser stay.

The SpecStream Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on WideSearch. A new account gets $10 of credit, no card.

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

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

| | SpecStream | Serply |
|---|---|---|
| Address | `GET https://api.specstream.ai/serply/v1/search/?q=` or `/serply/v1/search/q=...` | `GET https://api.serply.io/v1/search/?q=` |
| The key | A SpecStream key in `X-Api-Key`, or in `apikey` as the `serply` package sends it | `X-Api-Key` header on every request |
| Parameters applied | `q`, `num` (up to 10), `start`, `tbs`, `gl`, `hl`, `lr`, `cr`, `safe` and the `X-Proxy-Location` header | `q`, `num` up to 10, `start`, `gl`, `X-Proxy-Location` and `X-User-Agent` |
| Reply | `results[]` with `title`, `description`, `link`, `position`, `realPosition`, `result_type` and `metadata.display_url`, plus `ads_count`, `carousel_count`, `ts` and `query` | The same `results[]`, plus `ai_overview`, `ads`, `answers`, `knowledge_graph`, `related_questions` and other blocks |
| Errors | Serply's own `{"detail": "..."}`: `400` for an empty `q`, `401` for no key. A busy call gets `429` with `Retry-After` and is not charged | `429` too many requests, rate limit exceeded |
| Price | $0.005 a search of up to 10 results, $5 per 1,000 | Prepaid packs: Micro $5 for 2,500 credits, $2.00 per 1,000. Pro $375 for 500,000, $0.75 per 1,000 |
| Credit | Credit you buy never expires | Purchased credits never expire |
| Free to start | $10 of credit, no card, which covers 2,000 searches | 2,500 free credits for the first 30 days, no card |
| Pages behind the results | Read on the same key at $0.0008 a page with the Extract API | A search API |

## The Serply reference, on SpecStream

### The call, before and after

```
# Before
curl -H "X-Api-Key: $SERPLY_API_KEY" \
  "https://api.serply.io/v1/search/?q=search+api&num=10"

# After
curl -H "X-Api-Key: $SPECSTREAM_API_KEY" \
  "https://api.specstream.ai/serply/v1/search/?q=search+api&num=10"
```

The reply is Serply's: `{"results": [{"title": "...", "link": "https://...", "description": "...", "position": 1, "realPosition": 1, "result_type": "organic", "metadata": {"display_url": "..."}}, ...], "ads_count": 0, "ts": ..., "query": "q=search+api&num=10"}`.

The `serply` package on PyPI writes `https://api.serply.io/` into its client and sends the key as `apikey` with the query in the path, `/v1/search/q=...`. The route reads that header and that path form too.

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

Applied: `q` in the query string or in the path, `num` up to 10 (a larger `num` gets 10, Serply's own ceiling), `start` as the offset, `tbs` such as `qdr:w`, and Google's `gl`, `hl`, `lr`, `cr` and `safe`. The `X-Proxy-Location` header sets the search's country.

Refused, in Serply's own `{"detail": "..."}` body: an empty `q` gets `400` and a call with no key gets `401`. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/serply.md) lists each one and its result.

### Every field that comes back

`results[]` with `title`, `description`, `link`, `position`, `realPosition`, `result_type`, `metadata.display_url` and `metadata.attributes`, and at the top level `ads_count`, `carousel_count`, `ts` and `query`.

The route does not return `ai_overview`. `ads`, `answers`, `image_results`, `shopping_ads`, `places`, `local_businesses`, `related_searches`, `carousel`, `company`, `total`, `knowledge_graph`, `related_questions`, `device_region` and `device_type` come back empty, so a parser that reads them keeps working.

### One price a search

On SpecStream a search of up to 10 results costs $0.005, which is $5 per 1,000, from a balance with no plan, and a busy call gets `429` with `Retry-After` and charges nothing. The same key reads the page behind any result at $0.0008, so a search and its pages are one bill. Credit you buy never expires.

### Speed, measured on production

On November 9, 2026 the fast search every drop-in route uses had a median of 0.82 s at 1 search a second and 1.07 s at 20 a second, with the 95th percentile between 1.09 and 1.73 s, and answered 718 of 720 calls. There is no limit per key and no daily limit.

### Scored on the official benchmarks

The SpecStream 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. 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-serply) 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-serply) at $0.80 per 1,000 pages. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-serply) 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.

## What else Serply users price

### Serper

Google results as JSON, in credit packs from $1.00 per 1,000 that are valid for 6 months. SpecStream answers Serper's call at `https://api.specstream.ai/serper`, and its credit never expires.

### SerpApi

Search engine result pages as JSON, sold by monthly plan: Starter is $25 a month for 1,000 searches. On SpecStream $25 pays for 5,000 searches, and SpecStream answers SerpApi's call too.

### Brave Search API

A search API on Brave's own index at $5 per 1,000 requests. SpecStream answers Brave's call at `https://api.specstream.ai/res/v1/web/search` and reads the pages behind the results on the same key.

## 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/serply` where your code has `https://api.serply.io`, and send the SpecStream key in `X-Api-Key`. In Python:

```
import requests

BASE = "https://api.specstream.ai/serply"  # was https://api.serply.io

reply = requests.get(
    f"{BASE}/v1/search/",
    headers={"X-Api-Key": SPECSTREAM_KEY, "X-Proxy-Location": "US"},
    params={"q": "search api", "num": 10},
    timeout=30,
)
reply.raise_for_status()
for result in reply.json()["results"]:
    print(result["position"], result["title"], result["link"])
```

3. In JavaScript:

```
const url = new URL("https://api.specstream.ai/serply/v1/search/");
url.search = new URLSearchParams({ q: "search api", num: "5", tbs: "qdr:w" });
const reply = await fetch(url, { headers: { "X-Api-Key": process.env.SPECSTREAM_KEY } });
const { results } = await reply.json();
for (const result of results) console.log(result.title, result.link);
```

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

## Frequently asked questions

### Is there a Serply compatible API?

Yes. Since Nov 10, 2026 SpecStream answers Serply's `GET /v1/search` at `https://api.specstream.ai/serply` with Serply's `results[]` reply, as measured on production. A search costs $0.005.

### How do I migrate from Serply?

Change one address: `https://api.serply.io` becomes `https://api.specstream.ai/serply`, and a SpecStream key goes in `X-Api-Key`. `q`, `num`, `start`, `tbs`, `gl`, `hl`, `lr`, `cr`, `safe` and `X-Proxy-Location` keep their meaning.

### How much does Serply cost?

Serply sells prepaid packs: Micro is $5 for 2,500 credits, $2.00 per 1,000, and Pro is $375 for 500,000, $0.75 per 1,000. SpecStream costs $5 per 1,000 searches, reads the pages behind them on the same key, and its credit never expires.

### Does the serply Python package work with SpecStream?

The package writes Serply's host into its client and has no address setting. The route reads its `apikey` header and its `/v1/search/q=...` path, so a call built the same way with `requests` runs on SpecStream, as in the steps on this page.

### Which Serply fields does SpecStream not return?

`ai_overview`. The other blocks, such as `ads`, `answers`, `knowledge_graph` and `related_questions`, come back empty, and every `results[]` field comes back filled.

### How many results does one Serply call return on SpecStream?

Up to 10, Serply's own ceiling, for $0.005. Use `start=10` for the next page, as on Serply.

## Sources

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

- [Serply pricing](https://serply.io/pricing), read Nov 10, 2026
- [Serply Google Search reference](https://serply.io/docs/resources/google-search), read Nov 10, 2026
- [SpecStream Serply pass table](https://specstream.ai/specstream/dialects/serply.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing), read Nov 10, 2026
- [Brave Search API](https://brave.com/search/api/), 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
