<!-- twin of https://specstream.ai/google-pse/gpt-researcher -->
# GPT Researcher: Google PSE stops on Jan 1, 2027. The setting to change

Compared on Nov 10, 2026. The page: https://specstream.ai/google-pse/gpt-researcher

GPT Researcher's `google` retriever calls Google's Custom Search JSON API with `GOOGLE_API_KEY` and `GOOGLE_CX_KEY`. Google closed that API to new customers and ends it on January 1, 2027, and the retriever fixes its address in code.

Change two variables: `RETRIEVER=searx` and `SEARX_URL=https://api.specstream.ai/searxng/YOUR_KEY`. Or set `RETRIEVER=serper` with `SERPER_API_BASE=https://api.specstream.ai/serper`. Both passed our test.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks, at $5 per 1,000 searches. A new account gets $10 of credit, no card.

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

## GPT Researcher's Google retriever and what replaces it, from each company's own pages on Nov 10, 2026

| | SpecStream | Google | Tavily | Serper |
|---|---|---|---|---|
| RETRIEVER and address | `searx` with `SEARX_URL`, or `serper` with `SERPER_API_BASE`, both pointed at `api.specstream.ai` | `google`. The address is fixed in GPT Researcher's code at `www.googleapis.com/customsearch/v1` | `tavily`, the default. The address is fixed in GPT Researcher's code at `api.tavily.com/search` | `serper`. `SERPER_API_BASE` defaults to `https://google.serper.dev` |
| Open to a new account | Yes. Create a key and start with $10 of credit, no card | No. The Custom Search JSON API is closed to new customers | Yes, with 1,000 free credits every month | Yes, with 2,500 free queries |
| Price per 1,000 searches | $5, with up to 10 results a search | $5 per 1,000 queries after 100 free queries a day, for existing customers only | $0.008 a credit on pay as you go. A basic search is 1 credit and an advanced search 2 | $1.00 per 1,000 in the pack of 50,000 credits |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | 10,000 queries a day | On a monthly plan, requests stop when the month's credits run out | 300 queries per second on the largest pack |
| How long it lasts | Credit you buy never expires | Existing customers have until January 1, 2027 | Credits reset on the first day of each month | Credits are valid for 6 months |
| What answers the search | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions, 978 correct | The Programmable Search Engine you configured | Tavily's search. Its own post reports 97.6% on SimpleQA | Serper's search, bought in credit packs from 50,000 credits |

## Why GPT Researcher users move the Google retriever to SpecStream

### Two variables, and the code stays as it is

GPT Researcher's `searx` retriever adds `search` to `SEARX_URL`, asks for `format=json` and reads `results[]` with `url` and `content`. Its `serper` retriever posts to `SERPER_API_BASE` plus `/search` with the key in `X-API-KEY` and reads `organic[]`. SpecStream answers both calls in those shapes.

```
# GPT Researcher .env: the two Google lines go
# RETRIEVER=google
# GOOGLE_API_KEY=...
# GOOGLE_CX_KEY=...

# the SearXNG retriever
RETRIEVER=searx
SEARX_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY

# or the Serper retriever
RETRIEVER=serper
SERPER_API_BASE=https://api.specstream.ai/serper
SERPER_API_KEY=<YOUR_SPECSTREAM_KEY>
```

These are the calls each retriever sends:

```
# searx: it adds /search to SEARX_URL
curl -H "Accept: application/json" \
  "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=state+of+solid+state+batteries+2026&format=json"

# serper: it adds /search to SERPER_API_BASE
curl -X POST https://api.specstream.ai/serper/search \
  -H "X-API-KEY: $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"q": "state of solid state batteries 2026", "num": 10}'
```

### What you see when the Google key fails

The `google` retriever needs both `GOOGLE_API_KEY` and `GOOGLE_CX_KEY`, and raises `Google API key not found` without the first. When Google refuses the call, it prints `Google search: unexpected response status:` with the code, finds no `items` in Google's error reply, and returns an empty list. The research runs on, with no Google sources in the report.

Google closed the API to new customers, so a new project gets no key. With `RETRIEVER=searx` on SpecStream the same research run gets its sources back.

### The reply your retriever already parses

The Serper route returns `organic[]` with `title`, `link`, `snippet` and `position`, as Serper does. The same call from Python:

```
import os, requests

reply = requests.post(
    "https://api.specstream.ai/serper/search",
    headers={"X-API-KEY": os.environ["SPECSTREAM_API_KEY"]},
    json={"q": "state of solid state batteries 2026", "num": 10},
).json()

for row in reply["organic"]:
    print(row["position"], row["title"], row["link"])
```

### $5 per 1,000 searches, with no daily limit

A search of up to 10 results costs $0.005, and each started block of 10 more results adds $0.006. A research run sends many searches, so set `spend_cap_cents` on the key to cap what one run can spend. There is no monthly plan and no daily limit. Credit you buy never expires, and a new account starts with $10 of credit, which covers 2,000 searches.

### The most accurate web search API in the world

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=google-pse-gpt-researcher) page.

### About one second a search, measured under load

The SearXNG and Serper routes runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 fast searches a second and answered 718 of 720. 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. One account can send up to 8,800 searches a minute; a call over that is answered with `Retry-After` and is not charged.

### You decide what is kept, on each key

Give GPT Researcher a key with `zero_retention` and a search made with it keeps no request text and no answer after the reply. The charge keeps the account, the key, the request ID, the price and the time. `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=google-pse-gpt-researcher) 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=google-pse-gpt-researcher) takes a request in plain words and returns every match on the live web as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value. The most a run can cost is quoted before it starts.

## Other Google PSE alternatives for GPT Researcher

### Google, until January 1, 2027

Existing customers can keep `RETRIEVER=google` until Google ends the API: $5 per 1,000 queries after 100 free a day, up to 10,000 a day. A new project gets no key. SpecStream costs the same $5 per 1,000 with no daily limit.

### Vertex AI Search

Google's named alternative, for searching up to 50 domains, at $1.50 per 1,000 queries on Standard and $4.00 on Enterprise. A research run needs the whole web, and for that Google asks you to contact it. SpecStream searches the whole live web through `searx` or `serper`.

### Tavily

GPT Researcher's default retriever, billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month that reset on the first day of each month. Its address is fixed in GPT Researcher's code. With `RETRIEVER=searx` and SpecStream, a search costs $0.005.

### Serper

Search sold in credit packs: $1.00 per 1,000 in the pack of 50,000, with credits valid for 6 months and 2,500 free queries to start. Keep `RETRIEVER=serper` and set `SERPER_API_BASE` to `https://api.specstream.ai/serper`: the same retriever reads the live web, on credit that never expires.

## How to move GPT Researcher from Google to SpecStream

1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. In GPT Researcher's `.env`, replace `RETRIEVER=google`, `GOOGLE_API_KEY` and `GOOGLE_CX_KEY` with the retriever and its address.

```
RETRIEVER=searx
SEARX_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY
```

3. Check the key with the call the retriever sends. A `200` with `results` means GPT Researcher gets the same.

```
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=test&format=json"
```

4. Run a research task as you do today. Each search shows up in your SpecStream request log with its price.

## Frequently asked questions

### Why is the Google retriever not working in GPT Researcher?

Google closed the Custom Search JSON API to new customers and ends it on January 1, 2027. The retriever prints `Google search: unexpected response status:` and returns no results. Set `RETRIEVER=searx` with `SEARX_URL` at SpecStream and the sources come back.

### What is the best Google PSE alternative for GPT Researcher?

SpecStream, with 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks, at $5 per 1,000 searches. It runs through the `searx` and `serper` retrievers with no code change.

### Can I change the Google address in GPT Researcher?

No. `google.py` fixes the address at `https://www.googleapis.com/customsearch/v1`. The `searx` retriever reads `SEARX_URL` and the `serper` retriever reads `SERPER_API_BASE`, and SpecStream answers both.

### What replaces GOOGLE_API_KEY and GOOGLE_CX_KEY?

Two lines: `RETRIEVER=searx` and `SEARX_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY`. There is no engine ID, because SpecStream searches the whole live web.

### How much does a GPT Researcher run cost on SpecStream?

$0.005 for each search of up to 10 results, so a run of 40 searches costs $0.20. A new account gets $10 of credit, no card, and `spend_cap_cents` on the key caps what it can spend.

### Is Google Custom Search shutting down?

Yes, on January 1, 2027 for existing customers, and it is already closed to new customers. Google names Vertex AI Search for up to 50 domains.

## Sources

SpecStream wrote this page. GPT Researcher's settings come from its source on GitHub, and each provider's figure from that company's own page.

- [GPT Researcher Google retriever, google.py](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/google/google.py), read Nov 10, 2026
- [GPT Researcher searx retriever, searx.py](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/searx/searx.py), read Nov 10, 2026
- [GPT Researcher serper retriever, serper.py](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/serper/serper.py), read Nov 10, 2026
- [GPT Researcher tavily retriever, tavily_search.py](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/tavily/tavily_search.py), read Nov 10, 2026
- [GPT Researcher default config](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/config/variables/default.py), read Nov 10, 2026
- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), read Nov 10, 2026
- [Vertex AI Search pricing](https://cloud.google.com/generative-ai-app-builder/pricing), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [Tavily pricing](https://tavily.com/pricing), read Nov 10, 2026
- [Tavily, SealQA and SimpleQA post](https://www.tavily.com/blog/tavily-ranks-1-on-sealqa-and-simpleqa), read Nov 10, 2026
- [Serper](https://serper.dev/), 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
