<!-- twin of https://specstream.ai/web-search -->
# Web search for your AI app: paste one address in one setting

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

Eight apps take SpecStream as their web search with one setting changed, tested on production on November 9, 2026: Open WebUI, LibreChat, AnythingLLM, GPT Researcher, Dify, n8n, Agno and LangChain.

Most read SpecStream as a SearXNG instance you never host: paste the address from the table, with your key in it, where the app asks for its SearXNG URL. Open WebUI takes it as its external search.

It is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions, on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=web-search) page. A search costs $0.005, which is $5 per 1,000.

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

## The setting in each app and the value to paste, each tested on production on Nov 9, 2026

| | SpecStream | The app's setting |
|---|---|---|
| Open WebUI | Web Search Engine `external`. External Web Search URL `https://api.specstream.ai/openwebui/search`, and your key in External Web Search API Key. [Open WebUI setup](https://specstream.ai/web-search/open-webui?utm_source=alternatives&utm_campaign=web-search) | Admin settings, Web Search: External Web Search URL and External Web Search API Key. Env `EXTERNAL_WEB_SEARCH_URL` and `EXTERNAL_WEB_SEARCH_API_KEY` |
| LibreChat | `https://api.specstream.ai/searxng/<key>`. Leave `SEARXNG_API_KEY` empty. [LibreChat setup](https://specstream.ai/web-search/librechat?utm_source=alternatives&utm_campaign=web-search) | `searxngInstanceUrl` under `webSearch` in librechat.yaml, or env `SEARXNG_INSTANCE_URL` |
| AnythingLLM | `https://api.specstream.ai/searxng/<key>/search`, the whole search address. [AnythingLLM setup](https://specstream.ai/web-search/anythingllm?utm_source=alternatives&utm_campaign=web-search) | Agent web search, Search Provider SearXNG: SearXNG API Base URL. Env `AGENT_SEARXNG_API_URL` |
| GPT Researcher | `RETRIEVER=searx` and `SEARX_URL=https://api.specstream.ai/searxng/<key>`. [GPT Researcher setup](https://specstream.ai/web-search/gpt-researcher?utm_source=alternatives&utm_campaign=web-search) | Env `RETRIEVER` and `SEARX_URL` |
| Dify | `https://api.specstream.ai/searxng/<key>/search`, the whole search address. [Dify setup](https://specstream.ai/web-search/dify?utm_source=alternatives&utm_campaign=web-search) | SearXNG tool plugin: SearXNG base URL |
| n8n | `https://api.specstream.ai/searxng/<key>`. [n8n setup](https://specstream.ai/web-search/n8n?utm_source=alternatives&utm_campaign=web-search) | SearXNG credential of the SearXNG tool node: API URL |
| Agno | `SearXNG(host="https://api.specstream.ai/searxng/<key>")`. [Agno setup](https://specstream.ai/web-search/agno?utm_source=alternatives&utm_campaign=web-search) | The `host` argument of the SearXNG toolkit |
| LangChain | `SEARX_HOST=https://api.specstream.ai/searxng/<key>/search`. [LangChain setup](https://specstream.ai/web-search/langchain?utm_source=alternatives&utm_campaign=web-search) | `searx_host` of `SearxSearchWrapper`, or env `SEARX_HOST` |

## What your app gets from SpecStream

### The app sends its SearXNG call, and SpecStream answers it

This is the call LibreChat, GPT Researcher, n8n, Agno and the others send once the address is set. Try it with your key before you change the app.

```
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=who+founded+Mistral+AI&format=json"
```

The reply is SearXNG's JSON: `results[]` with `title`, `url` and `content`, the fields these apps read. Each call is one search of 10 results at $0.005.

### No instance to run

A SearXNG you host needs `json` under `search.formats` in its settings.yml before an app can read it, and a server to keep running. The SpecStream address answers JSON from the first call and searches the whole live web at the second of the call, with nothing to install.

The key travels in the address, so apps that send no key for SearXNG still sign their calls. It also goes in `key=`, an `X-API-Key` header or a Bearer token where the app has a key field.

### $0.005 a search, and a failed call costs nothing

A search of up to 10 results costs $0.005, which is $5 per 1,000. Each started block of 10 more results adds $0.006, up to 100 results a search. A call stopped by a `429` charges nothing, and a top-up never expires.

A new account gets $10 of credit with no card, which covers 2,000 searches.

### The most accurate web search API, at about one second a call

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. The method and each score are on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=web-search) page.

A drop-in call for the first ten results, without page text or the answer, runs the fast search. On November 9, 2026 production answered 718 of 720 searches at 1 to 20 a second, with a median of 0.82 s at 1 a second and 1.07 s at 20 a second, and the 95th percentile between 1.09 and 1.73 s. One account takes up to 8,800 searches a minute; a call over that gets a `429` with `Retry-After` and is not charged.

### No query text is kept on a zero retention key

Create a key with `zero_retention` and a search made with it keeps no request text and no answer after the reply, in the history or in a log line. `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 and finished rows on the same 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) 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) 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 other providers these apps offer

### Tavily

Offered in Open WebUI, LibreChat, AnythingLLM and GPT Researcher. $0.008 a credit on pay as you go, one credit for a basic search and two for an advanced one, with 1,000 free credits a month; when they run out, requests stop until the reset. SpecStream charges $0.005 a search, and a top-up never expires.

### Brave Search API

Offered in Open WebUI, AnythingLLM, Dify and n8n. $5 per 1,000 requests, with $5 in free credits every month. SpecStream costs the same $5 per 1,000 and scores 97.9 F-score on all 1,000 SimpleQA Verified questions.

### Exa

Offered in Open WebUI and AnythingLLM. $4 per 1,000 requests on `lite` and $7 per 1,000 on `auto` and `fast`. SpecStream is $5 per 1,000 for every search, at about one second a call.

### Serper

Offered in Open WebUI, LibreChat, AnythingLLM, GPT Researcher and Dify. Credit packs start at 50,000 credits for $1.00 per 1,000, and credits are valid for 6 months. A SpecStream top-up never expires.

### Firecrawl

Offered in Open WebUI, LibreChat and Dify. A search costs 2 credits per 10 results, and the Hobby plan is $19 a month. On SpecStream a search is $0.005 with no plan to buy, and a page read is $0.0008.

## How to set it up

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. Check the address with your key. A `200` with `results` means the app will get the same reply:

```
curl -s -o /dev/null -w '%{http_code}\n' "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=test&format=json"
```

3. Paste the value from the table into your app's setting, with your key in place of `<key>`, and ask the app a question that needs the web. The page for your app has each step.

## Frequently asked questions

### How do I add web search to Open WebUI?

Set 2 fields: External Web Search URL to `https://api.specstream.ai/openwebui/search` and External Web Search API Key to your SpecStream key, with the Web Search Engine set to `external`. Each search costs $0.005. The [Open WebUI page](https://specstream.ai/web-search/open-webui?utm_source=alternatives&utm_campaign=web-search) has the loader setting too.

### Can I use SearXNG without hosting it?

Yes: since November 9, 2026 `https://api.specstream.ai/searxng/<key>` answers SearXNG's JSON search, so any app with a SearXNG setting reads it as an instance. There is no server to run and no settings.yml to edit, and each search costs $0.005.

### What is the best web search provider for a self-hosted AI app?

SpecStream: 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 plugs into eight apps with one setting, tested on production on November 9, 2026.

### How do I add web search to LibreChat?

One line in your .env: `SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/<key>`, with `searxng` as the search provider in librechat.yaml. See the [LibreChat page](https://specstream.ai/web-search/librechat?utm_source=alternatives&utm_campaign=web-search).

### How much does web search cost in these apps?

$0.005 a search of up to 10 results, which is $5 per 1,000, whatever the app. A new account gets $10 of credit with no card, which covers 2,000 searches, and a top-up never expires.

### Does n8n's SearXNG tool work with SpecStream?

Yes, it passed our test on production on November 9, 2026. Put `https://api.specstream.ai/searxng/<key>` in the API URL of the SearXNG credential. See the [n8n page](https://specstream.ai/web-search/n8n?utm_source=alternatives&utm_campaign=web-search).

## Sources

SpecStream wrote this page. Each setting name comes from the app's own source code, and each provider's price from that company's own page.

- [Open WebUI web search settings (source)](https://github.com/open-webui/open-webui/blob/main/src/lib/components/admin/Settings/WebSearch.svelte), read Nov 10, 2026
- [LibreChat web search configuration](https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/web_search), read Nov 10, 2026
- [AnythingLLM web browsing (source)](https://github.com/Mintplex-Labs/anything-llm/blob/master/server/utils/agents/aibitat/plugins/web-browsing.js), read Nov 10, 2026
- [GPT Researcher SearXNG retriever (source)](https://github.com/assafelovic/gpt-researcher/blob/main/gpt_researcher/retrievers/searx/searx.py), read Nov 10, 2026
- [Dify SearXNG tool (source)](https://github.com/langgenius/dify-official-plugins/blob/main/tools/searxng/tools/searxng_search.py), read Nov 10, 2026
- [n8n SearXNG credential (source)](https://github.com/n8n-io/n8n/blob/master/packages/@n8n/nodes-langchain/credentials/SearXngApi.credentials.ts), read Nov 10, 2026
- [Agno SearXNG toolkit (source)](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/searxng.py), read Nov 10, 2026
- [LangChain SearxSearchWrapper (source)](https://github.com/langchain-ai/langchain-community/blob/main/libs/community/langchain_community/utilities/searx_search.py), 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
- [Brave Search API](https://brave.com/search/api/), read Nov 10, 2026
- [Exa pricing](https://exa.ai/docs/admin/pricing.md), read Nov 10, 2026
- [Serper](https://serper.dev/), read Nov 10, 2026
- [Firecrawl pricing](https://www.firecrawl.dev/pricing), 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
