<!-- twin of https://specstream.ai/migrate/serper-news -->
# Serper news compatible: change the address, keep the JSON

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

Serper sells Google results in credit packs from $1.00 per 1,000, valid for 6 months. SpecStream answers the same `POST /news` in Serper's JSON at `https://api.specstream.ai/serper/news`, at $0.005 a call, and its credit never expires.

The switch is one line: `https://api.specstream.ai/serper/news` in place of `https://google.serper.dev/news`, and a SpecStream key in `X-API-KEY`. The body and your parser stay.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A new account gets $10 of credit, no card, which covers 2,000 news searches.

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

## Serper news to SpecStream, parameter by parameter and field by field

| | SpecStream | Serper |
|---|---|---|
| Address | `POST https://api.specstream.ai/serper/news`, or `GET` with `apiKey` in the address | `POST https://google.serper.dev/news` |
| The key | A SpecStream key in the `X-API-KEY` header | A Serper key in the `X-API-KEY` header |
| Results and dates | `num` up to 100, `page`, and `tbs` for the time window (`qdr`) and newest first (`sbd`) | News is one of Serper's result types, beside Images, Maps, Places and Shopping |
| Each item | `title`, `link`, `snippet`, `date`, `source` and `position` in `news[]`. `imageUrl` is not returned | `news[]` items in Serper's JSON |
| Errors | Serper's `{"message", "statusCode"}`: `401` with no key. A busy call gets `429` with `Retry-After` and is not charged | 50 queries per second on the smallest pack |
| Price | $0.005 a call of up to 10 results, $5 per 1,000. Each started block of 10 more adds $0.006 | From $1.00 per 1,000 for 50,000 credits. Credits are valid for 6 months |
| Free to start | $10 of credit, no card, which covers 2,000 news searches | 2,500 free queries |

## The Serper news reference, on SpecStream

### The call, before and after

```
# Before
curl https://google.serper.dev/news \
  -H "X-API-KEY: $SERPER_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "Nvidia earnings", "num": 10}'

# After
curl https://api.specstream.ai/serper/news \
  -H "X-API-KEY: $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "Nvidia earnings", "num": 10}'
```

In Serper's own Python call the change is the address and the key: `requests.post("https://api.specstream.ai/serper/news", headers={"X-API-KEY": SPECSTREAM_KEY, "Content-Type": "application/json"}, data=payload)`.

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

Read and applied: `q`, `num` (up to 100), `page`, and `tbs` with a `qdr` window such as `qdr:w`, or `sbd:1` for the newest first. A `GET` with `apiKey` in the address is answered as the `POST` is.

Refused: a call with no `X-API-KEY` gets `401` in Serper's error form. Every parameter was measured on production on Nov 10, 2026, and the full [pass table](https://specstream.ai/specstream/dialects/serper_news.md) lists each one and its result.

### Every field that comes back

The reply has `searchParameters` with `q`, `type` (`news`), `num`, `page` and `engine`, then `news[]` with `title`, `link`, `snippet`, `date` in Google's words ("3 hours ago"), `source`, the publisher, and `position`, then `credits`.

`imageUrl` is not returned. One field is added, `specstream`, with the call's `price_usd`.

### Credit that never expires

Serper's credits are valid for 6 months. On SpecStream every call of up to 10 results costs $0.005, each started block of 10 more adds $0.006, and the credit you top up never expires. 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-serper-news) 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. 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 answers Serper's web search at `https://api.specstream.ai/serper/search`, and reads the full article behind each `link` with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=migrate-serper-news), up to 20 pages a call at $0.80 per 1,000 pages. A page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=migrate-serper-news) 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 [Serper alternative](https://specstream.ai/alternatives/serper?utm_source=alternatives&utm_campaign=migrate-serper-news) page.

## What else Serper news users price

### SerpApi

Google News and 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 news search with no plan, and answers SerpApi's Google News call at `/serpapi-news`.

### GNews

A news API sold as a daily cap: Essential is €49.99 a month for 1,000 requests per day and up to 25 articles a request. SpecStream answers GNews's own `/api/v4/search` call at $0.005, with no daily cap to reset.

## 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 news searches.

2. Set the address to `https://api.specstream.ai/serper/news` where your code has `https://google.serper.dev/news`, and send the SpecStream key in `X-API-KEY`. In Python:

```
import requests

URL = "https://api.specstream.ai/serper/news"  # was https://google.serper.dev/news

reply = requests.post(URL, headers={"X-API-KEY": SPECSTREAM_KEY}, json={"q": "Nvidia earnings", "num": 10, "tbs": "qdr:w"}, timeout=30)
reply.raise_for_status()
for item in reply.json()["news"]:
    print(item["position"], item["date"], item["source"], item["title"], item["link"])
```

3. In JavaScript:

```
const reply = await fetch("https://api.specstream.ai/serper/news", {
  method: "POST",
  headers: { "X-API-KEY": process.env.SPECSTREAM_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({ q: "Nvidia earnings", num: 10 }),
});
const data = await reply.json();
for (const item of data.news) console.log(item.date, item.title, item.link);
```

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

## Frequently asked questions

### Is there a Serper news compatible API?

Yes. SpecStream answers Serper's `POST /news` at `https://api.specstream.ai/serper/news` in Serper's JSON, as measured on production on Nov 10, 2026. A call of up to 10 results costs $0.005.

### How do I migrate from Serper news?

Change one address: `https://google.serper.dev/news` becomes `https://api.specstream.ai/serper/news`, and a SpecStream key goes in `X-API-KEY`. `q`, `num`, `page` and `tbs` keep their meaning.

### How much does Serper cost?

Serper sells credit packs from $1.00 per 1,000 for 50,000 credits, valid for 6 months, with 2,500 free queries. SpecStream costs $5 per 1,000 news searches with no plan, and its credit never expires.

### Is there a Serper SDK whose address I can change?

Serper's own example is a plain `requests.post` call, 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 Serper news on SpecStream sort by date?

Yes. `tbs=sbd:1` puts the newest first, and `tbs=qdr:w` keeps the last week, both measured on production on Nov 10, 2026.

### Which Serper news fields does SpecStream not return?

One: `imageUrl`. Each item keeps `title`, `link`, `snippet`, `date`, `source` and `position`, and the reply keeps `searchParameters` and `credits`.

## Sources

SpecStream wrote this page. Each Serper figure comes from Serper's own page, 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.

- [Serper](https://serper.dev/), read Nov 10, 2026
- [SpecStream Serper news pass table](https://specstream.ai/specstream/dialects/serper_news.md), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing.md), read Nov 10, 2026
- [GNews pricing](https://gnews.io/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
