<!-- twin of https://specstream.ai/web-search/gpt-researcher -->
# GPT Researcher retriever: two variables run it on SpecStream

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

GPT Researcher reads its search provider from the `RETRIEVER` variable, and two retrievers take an address: `searx` reads `SEARX_URL` and `serper` reads `SERPER_API_BASE`. SpecStream answers both.

Set `RETRIEVER=searx` and `SEARX_URL=https://api.specstream.ai/searxng/YOUR_KEY`. Or keep `RETRIEVER=serper` and set `SERPER_API_BASE=https://api.specstream.ai/serper` with your key in `SERPER_API_KEY`.

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-web-search-gpt-researcher&utm_source=alternatives-md&utm_campaign=web-search-gpt-researcher&returnTo=%2Fworkspace%2Fsearch%3Froute%3Dsearxng) New accounts get $10 of credit, no card. It covers 2,000 searches.

## The retrievers GPT Researcher offers, from each company's own pages on Nov 10, 2026

| | SpecStream | Tavily | Serper | Bing | Google |
|---|---|---|---|---|---|
| RETRIEVER and address | `searx` with `SEARX_URL`, or `serper` with `SERPER_API_BASE`, both pointed at `api.specstream.ai` | `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` | `bing`. The address is fixed in GPT Researcher's code at `api.bing.microsoft.com/v7.0/search` | `google`. The address is fixed in GPT Researcher's code at `www.googleapis.com/customsearch/v1` |
| Open to a new account | Yes. Create a key and start with $10 of credit, no card | Yes, with 1,000 free credits every month | Yes, with 2,500 free queries and no credit card | No. Microsoft retired the Bing Search APIs on August 11, 2025 and closed sign up | No. The Custom Search JSON API is closed to new customers |
| Price per 1,000 searches | $5, with up to 10 results a search | $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 | Microsoft points customers to Grounding with Bing Search, at $14 per 1,000 transactions | $5 per 1,000 queries after 100 free queries a day, for existing customers only |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | On a monthly plan, requests stop when the month's credits run out | 300 queries per second on the largest pack | Grounding with Bing Search allows 150 transactions per second | 10,000 queries a day |
| How long it lasts | Credit you top up never expires | Credits reset on the first day of each month | Credits are valid for 6 months | Existing instances of the Bing Search APIs were decommissioned | Existing customers have until January 1, 2027 |
| 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 | Tavily's search. Its own post reports 97.6% on SimpleQA | Serper's search, bought in credit packs from 50,000 credits | Grounding with Bing Search answers inside Azure AI Agents, not at the address GPT Researcher calls | The Programmable Search Engine you configured |

## Why GPT Researcher users run it on SpecStream

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

GPT Researcher's `searx` retriever adds a `/` and `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[]` with `link` and `snippet`. SpecStream answers both calls in those shapes.

```
# GPT Researcher .env: 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:

```
# What the searx retriever sends: 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"

# What the serper retriever sends: 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}'
```

### The reply your retriever already parses

The Serper route returns `organic[]` with `title`, `link`, `snippet` and `position`, as Serper does, so GPT Researcher's parser reads it unchanged. 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 plan to buy

A search of up to 10 results costs $0.005, and each started block of 10 more results adds $0.006. The SearXNG route always asks for 10 results, at $0.005. A call stopped by a `429` charges nothing, and credit you top up never expires.

Tavily's monthly credits stop requests when they run out. A SpecStream balance has no monthly reset and no daily limit, and one account takes up to 8,800 searches a minute.

### 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=web-search-gpt-researcher) page.

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

Every drop-in route runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 searches a second through it 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 gets a `429` 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. It is not in the history and its log lines carry neither. 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=web-search-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=web-search-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 other retrievers in GPT Researcher, and what each costs

### 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 from a balance that never resets.

### 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, with top-up credit that never expires.

### Bing

Microsoft retired the Bing Search APIs on August 11, 2025, and GPT Researcher's `bing` retriever still calls that address. Microsoft's replacement, Grounding with Bing Search, costs $14 per 1,000 transactions inside Azure AI Agents. SpecStream answers GPT Researcher at $5 per 1,000 through `searx` or `serper`.

### Google

The `google` retriever calls the Custom Search JSON API, which is closed to new customers and ends for existing customers on January 1, 2027. It costs $5 per 1,000 queries and stops at 10,000 a day. SpecStream costs the same $5 per 1,000 with no daily limit.

### Exa

A search API priced at $7 per 1,000 requests for `auto` and `fast` search. SpecStream costs $5 per 1,000 searches and scores 64.0 item F1 on all 200 WideSearch tasks.

## How to run GPT Researcher on 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. Set `spend_cap_cents` on the key to cap what a long research run can spend.

2. In GPT Researcher's `.env`, set the retriever and its address.

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

3. Check the key from a terminal 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

### How do I change the retriever in GPT Researcher?

Set 1 variable, `RETRIEVER`, in `.env`. For SpecStream, set `RETRIEVER=searx` with `SEARX_URL=https://api.specstream.ai/searxng/YOUR_KEY`, or `RETRIEVER=serper` with `SERPER_API_BASE=https://api.specstream.ai/serper`.

### What is GPT Researcher's default retriever?

Tavily, billed at $0.008 a credit on pay as you go, with an address fixed in GPT Researcher's code. Changing `RETRIEVER` to `searx` or `serper` and pointing it at SpecStream costs $0.005 a search.

### How do I use SearXNG with GPT Researcher without hosting it?

Set `SEARX_URL=https://api.specstream.ai/searxng/YOUR_KEY` and `RETRIEVER=searx`. SpecStream answers in SearXNG's JSON at $0.005 a search, so there is no instance to run and no JSON format to turn on.

### Can GPT Researcher's Serper retriever use another base URL?

Yes, through `SERPER_API_BASE`, which defaults to `https://google.serper.dev`. Set it to `https://api.specstream.ai/serper` and send the SpecStream key in `SERPER_API_KEY`; the reply keeps Serper's `organic[]` shape.

### Does the Bing retriever in GPT Researcher still work?

Not for new keys: Microsoft retired the Bing Search APIs on August 11, 2025, and the `bing` retriever calls that address. Use `searx` or `serper` pointed at SpecStream.

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

$0.005 a search of up to 10 results, which is $5 per 1,000. A new account gets $10 of credit with no card, which covers 2,000 searches, and a call stopped by a `429` is not charged.

## 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 searx retriever](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/searx/searx.py), read Nov 10, 2026
- [GPT Researcher serper retriever](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/serper/serper.py), read Nov 10, 2026
- [GPT Researcher tavily retriever](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/tavily/tavily_search.py), read Nov 10, 2026
- [GPT Researcher bing retriever](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/bing/bing.py), read Nov 10, 2026
- [GPT Researcher google retriever](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/google/google.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
- [GPT Researcher search engines docs](https://docs.gptr.dev/docs/gpt-researcher/search-engines), read Nov 10, 2026
- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), read Nov 10, 2026
- [Microsoft, Bing Search API retirement](https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement), read Nov 10, 2026
- [Grounding with Bing Search pricing](https://www.microsoft.com/en-us/bing/apis/grounding-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
- [Exa pricing](https://exa.ai/docs/admin/pricing.md), 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
