<!-- twin of https://specstream.ai/web-search/quantdinger -->
# QuantDinger web search without a SearXNG server: one setting

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

QuantDinger's SearXNG provider works without a SearXNG server: SpecStream answers SearXNG's JSON search at its own address. QuantDinger's own `SearXNGSearchProvider` read 10 results from it on November 10, 2026.

Set `SEARCH_SEARXNG_BASE_URL=https://api.specstream.ai/searxng/<key>` in QuantDinger's `.env`, with your SpecStream key in the address. QuantDinger adds `/search` and sends its usual call.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A new account gets $10 of credit, no card.

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

## QuantDinger web search providers and SpecStream, from each company's own pages and QuantDinger's source on Nov 10, 2026

| | SpecStream | SearXNG (self-hosted) | Tavily | SerpApi | Google Custom Search |
|---|---|---|---|---|---|
| QuantDinger setting | `SEARCH_SEARXNG_BASE_URL=https://api.specstream.ai/searxng/<key>` | `SEARCH_SEARXNG_BASE_URL` set to your instance's address | `TAVILY_API_KEYS`. `SEARCH_PROVIDER=tavily` is the default | `SERPAPI_KEYS` | `SEARCH_GOOGLE_API_KEY` and `SEARCH_GOOGLE_CX`. The address `https://www.googleapis.com/customsearch/v1` is fixed in the code |
| What you run | Nothing. SpecStream answers at `api.specstream.ai` | Your own instance on Docker or Podman, with the json format turned on and a Valkey database for its limiter | Nothing. Tavily's API | Nothing. SerpApi's API | Nothing, but a new project gets no key: closed to new customers, and existing customers have until January 1, 2027 |
| Price | $5 per 1,000 searches of up to 10 results | No API price. You pay to host the instance | $0.008 a credit on pay as you go, 1 credit a basic search, so $8 per 1,000 | $25 a month for 1,000 searches on Starter | $5 per 1,000 queries after 100 free a day, for existing customers only |
| Free start | $10 of credit, no card, which covers 2,000 searches | Free software you install | 1,000 credits a month, no card | 250 searches a month | 100 queries a day |
| Limit | No limit per key and no daily limit. A busy call gets a `429` with `Retry-After` and is not charged | What your instance and its upstream engines allow. Engines can answer a public instance with CAPTCHAs or ban its IP address | On a monthly plan, requests stop when the month's credits run out | 200 successful searches an hour on Starter | 10,000 queries a day |
| What comes back to QuantDinger | SearXNG's `results[]` with `title`, `url` and `content`, the fields the provider reads | SearXNG's `results[]` from the engines it queries | Tavily's own JSON, read by QuantDinger's Tavily provider | SerpApi's own JSON, read by QuantDinger's SerpAPI provider | The URL, title and text snippets of each result, in Google's own format |
| 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 | The external search services your instance passes the query to | Tavily's search API | Google results, through SerpApi | The Programmable Search Engine you configured |

## Why QuantDinger users point its SearXNG provider at SpecStream

### The change is one line in .env

QuantDinger, an "Open-Source AI Quant Research Platform", searches the web for its research agents. Its SearXNG provider is written for a "Self-hosted SearXNG metasearch provider", reads its address from `SEARCH_SEARXNG_BASE_URL` and adds `/search`. Before and after, in `.env`:

```
# .env, before: your own SearXNG instance
SEARCH_PROVIDER=searxng
SEARCH_SEARXNG_BASE_URL=http://localhost:8080
```

```
# .env, after: no instance to run
SEARCH_PROVIDER=searxng
SEARCH_SEARXNG_BASE_URL=https://api.specstream.ai/searxng/<your SpecStream key>
```

QuantDinger asks the provider named in `SEARCH_PROVIDER` first, then falls back in its own order. The provider sends no key of its own, so the SpecStream key goes in the path of the address, and SpecStream reads it from there.

### A key in an address, made for this one use

A key in an address can end up in logs, such as a proxy's access log or a debug line. So make a key for QuantDinger alone under Agents & API in the workspace, with a spending limit. If the address leaks, revoke that key: a revoked key gets a `401` from then on.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "quantdinger", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 2000, "zero_retention": true}'
```

`spend_cap_cents` is the most the key can spend, here $20, and with `zero_retention` a search made with it keeps no request text and no answer after the reply.

### SearXNG's JSON, so the provider's parser reads it

QuantDinger sends `q`, `format=json` and `pageno=1`, with `categories`, `engines` and `language` from its settings. SpecStream reads `q` and `pageno`, answers `format=json`, and accepts the other three with no error. The reply has `results[]` with `title`, `url` and `content`, which the provider turns into its own results.

The call QuantDinger makes, in Python with requests:

```
import os, requests

key = os.environ["SPECSTREAM_API_KEY"]
reply = requests.get(
    f"https://api.specstream.ai/searxng/{key}/search",
    params={"q": "NVDA earnings guidance", "format": "json", "pageno": 1, "categories": "general"},
).json()

for result in reply["results"]:
    print(result["title"], result["url"], result["content"])
```

Every parameter and field of the route is in the [SearXNG migration guide](https://specstream.ai/migrate/searxng?utm_source=alternatives&utm_campaign=web-search-quantdinger), and how SpecStream compares with running SearXNG is on the [SearXNG page](https://specstream.ai/alternatives/searxng?utm_source=alternatives&utm_campaign=web-search-quantdinger).

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

QuantDinger asks for page 1, a search of 10 results at $0.005. 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. A call stopped by a `429` charges nothing.

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

The SpecStream Search API scores 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. Each score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=web-search-quantdinger) page.

Every drop-in call runs the fast search. 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, its 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720 calls.

### Search, pages and rows on one key

The same account 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-quantdinger) 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-quantdinger) 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, and the most a run can cost is approved before it starts.

## Other web search providers in QuantDinger

### Your own SearXNG instance

The same provider pointed at a server you run on Docker or Podman, with the json format turned on and a Valkey database for the limiter. Its results are those of the engines it queries. SpecStream answers the same call with no server, at $0.005 a search.

### Tavily

QuantDinger's default provider, with keys in `TAVILY_API_KEYS`. Tavily gives 1,000 credits a month, then bills $0.008 a credit on pay as you go, 1 credit a basic search. SpecStream costs $0.005 a search, and its credit never expires.

### SerpApi

Keys go in `SERPAPI_KEYS`. SerpApi's Starter plan is $25 a month for 1,000 searches and 200 searches an hour, after 250 free a month. SpecStream has no plan and no hourly cap, at $5 per 1,000.

### Google Custom Search, until January 1, 2027

QuantDinger calls `https://www.googleapis.com/customsearch/v1` with `SEARCH_GOOGLE_API_KEY` and `SEARCH_GOOGLE_CX`, and the address cannot be changed. Google closed the API to new customers and ends it on January 1, 2027. SpecStream keeps QuantDinger searching after that date through the SearXNG setting.

## How to give QuantDinger web search with SpecStream

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

2. Check the address with the call QuantDinger will send. A `200` with `results` means QuantDinger gets the same.

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

3. Set the provider and the address in QuantDinger's `.env`:

```
SEARCH_PROVIDER=searxng
SEARCH_SEARXNG_BASE_URL=https://api.specstream.ai/searxng/<your SpecStream key>
```

4. Restart the backend and run a research task. Each search shows in your SpecStream request log with its price.

## Frequently asked questions

### How do I set up web search in QuantDinger?

Set `SEARCH_SEARXNG_BASE_URL=https://api.specstream.ai/searxng/<key>` and `SEARCH_PROVIDER=searxng` in `.env`. QuantDinger's own SearXNG provider read 10 results this way on November 10, 2026, with no SearXNG server running.

### Do I need to run a SearXNG instance for QuantDinger?

No. SpecStream answers SearXNG's JSON search at `https://api.specstream.ai/searxng`, so the provider gets results at $0.005 a search with nothing to install.

### Where does the SpecStream key go in SEARCH_SEARXNG_BASE_URL?

In the path, after `/searxng/`, because QuantDinger's SearXNG provider sends no key of its own. Make a key for this one use with a spending limit, and revoke it if the address ever leaks.

### What is the best search provider for QuantDinger?

SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It plugs into the SearXNG setting QuantDinger already has.

### How much does QuantDinger web search cost with SpecStream?

$0.005 a search of 10 results, or $5 per 1,000. A new account starts with $10 of credit, no card, and credit you buy never expires.

### Can QuantDinger keep using Google Custom Search?

Until January 1, 2027, for existing Google customers only, since its Google address is fixed in the code. The SearXNG setting with SpecStream keeps it searching after that date.

## Sources

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

- [QuantDinger README](https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/README.md), read Nov 10, 2026
- [QuantDinger, app/services/search.py](https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/backend_api_python/app/services/search.py), read Nov 10, 2026
- [QuantDinger, app/config/data_sources.py](https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/backend_api_python/app/config/data_sources.py), read Nov 10, 2026
- [QuantDinger, env.example](https://raw.githubusercontent.com/OpenByteInc/QuantDinger/main/backend_api_python/env.example), read Nov 10, 2026
- [SearXNG Search API](https://docs.searxng.org/dev/search_api.html), read Nov 10, 2026
- [SearXNG, own instance](https://docs.searxng.org/own-instance.html), read Nov 10, 2026
- [SearXNG, Docker installation](https://docs.searxng.org/admin/installation-docker.html), read Nov 10, 2026
- [SearXNG, limiter](https://docs.searxng.org/admin/searx.limiter.html), read Nov 10, 2026
- [Tavily pricing](https://tavily.com/pricing), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [SerpApi pricing](https://serpapi.com/pricing), read Nov 10, 2026
- [Google Custom Search JSON API overview](https://developers.google.com/custom-search/v1/overview), 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
