<!-- twin of https://specstream.ai/web-search/open-webui -->
# Open WebUI web search: set one URL and search at $5 per 1,000

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

Two of Open WebUI's best known engines no longer take new accounts. Google's Custom Search JSON API is closed to new customers and ends on January 1, 2027, and Microsoft retired the Bing Search APIs on August 11, 2025.

SpecStream takes their place in one setting. In the admin settings under Web Search, choose the `external` engine, set External Web Search URL to `https://api.specstream.ai/openwebui/search` and paste your SpecStream key in External Web Search API Key.

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

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

## The web search engines Open WebUI offers, from each company's own pages on Nov 10, 2026

| | SpecStream | Google PSE | Bing Search V7 | Brave Search API | Tavily |
|---|---|---|---|---|---|
| Open to a new account | Yes. Create a key and start with $10 of credit, no card | No. Closed to new customers, and existing customers have until January 1, 2027 | No. Microsoft retired the Bing Search APIs on August 11, 2025 and closed sign up | Yes, with $5 in free credits every month | Yes, with 1,000 free credits every month |
| 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 | Microsoft points customers to Grounding with Bing Search, at $14 per 1,000 transactions | $5 per 1,000 requests | $0.008 a credit on pay as you go. A basic search is 1 credit and an advanced search 2 |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | 10,000 queries a day | The address in Open WebUI's default, `api.bing.microsoft.com`, is decommissioned | 50 queries per second | On a monthly plan, requests stop when the month's credits run out |
| Where you set it in Open WebUI | External Web Search URL and API Key in the admin settings. SearXNG, Firecrawl and Bing V7 fields also take a SpecStream address | A Google PSE API key and an engine ID. The address is fixed in Open WebUI's code at `www.googleapis.com/customsearch/v1` | Bing Search V7 Endpoint and Subscription Key | An API key only. The address is fixed in Open WebUI's code | An API key in the admin settings. The address changes only through the `TAVILY_API_BASE_URL` environment variable |
| Reading the result pages | External Web Loader URL `https://api.specstream.ai/openwebui/loader`. Each batch of up to 20 pages is one Extract API call at $0.80 per 1,000 pages, and a page with no text is not charged | Search only. Open WebUI has no Google loader | Search only. Open WebUI has no Bing loader | Search only. Open WebUI has no Brave loader | A Tavily loader. A basic extract costs 1 credit for every 5 successful URLs |
| 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 | Grounding with Bing Search answers inside Azure AI Agents, not at the v7 address Open WebUI calls | Brave's own index. Its page publishes 85.3% accuracy on FreshQA | Tavily's search. Its own post reports 97.6% on SimpleQA |

## Why Open WebUI admins set SpecStream as the search engine

### The whole setup is two fields and a key

Open WebUI's External engine sends each search to the URL you give it and reads back a list of links, titles and snippets. SpecStream answers that call at `/openwebui/search`, and the External loader at `/openwebui/loader` reads the result pages for the model. Set them in the admin settings, or as environment variables when you deploy.

```
# Admin settings, Web Search
Web Search Engine            external
External Web Search URL      https://api.specstream.ai/openwebui/search
External Web Search API Key  your SpecStream key
Web Loader Engine            external
External Web Loader URL      https://api.specstream.ai/openwebui/loader
External Web Loader API Key  your SpecStream key

# The same as environment variables
ENABLE_WEB_SEARCH=true
WEB_SEARCH_ENGINE=external
EXTERNAL_WEB_SEARCH_URL=https://api.specstream.ai/openwebui/search
EXTERNAL_WEB_SEARCH_API_KEY=$SPECSTREAM_API_KEY
WEB_LOADER_ENGINE=external
EXTERNAL_WEB_LOADER_URL=https://api.specstream.ai/openwebui/loader
EXTERNAL_WEB_LOADER_API_KEY=$SPECSTREAM_API_KEY
```

This is the call Open WebUI sends, and what comes back. The key travels as a Bearer token from the API key field.

```
curl -X POST https://api.specstream.ai/openwebui/search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"query": "Who founded Mistral AI and when?", "count": 3}'

# [{"link": "https://...", "title": "...", "snippet": "..."}, ...]
```

### Four more engines take a SpecStream address

Keep the engine you run today and change its address. SpecStream answers SearXNG's JSON, Firecrawl v2, Bing v7 and Tavily, each on its own path, with the key in the field Open WebUI already has for it. Open WebUI adds nothing to the Searxng Query URL, so it ends in `/search`; the Firecrawl field gets `/v2/search` and `/v2/scrape` added by Open WebUI.

```
# SearXNG engine
Searxng Query URL            https://api.specstream.ai/searxng/YOUR_KEY/search

# Firecrawl engine (search and loader)
Firecrawl API Base URL       https://api.specstream.ai/firecrawl
Firecrawl API Key            your SpecStream key

# Bing engine
Bing Search V7 Endpoint      https://api.specstream.ai/v7.0/search
Bing Search V7 Subscription Key  your SpecStream key

# Tavily engine (environment only)
TAVILY_API_BASE_URL=https://api.specstream.ai/tavily
```

### $5 per 1,000 searches, and you pay only for what runs

Open WebUI asks for 3 results a search unless you change the result count, and any search of up to 10 results costs $0.005. Each started block of 10 more results adds $0.006. A loader batch costs $0.80 per 1,000 pages read, and a page with no text costs nothing.

No monthly plan is needed and no credit resets. A top-up never expires, and a call stopped by a `429` charges nothing. 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=web-search-open-webui) page.

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

The External search route 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 gets a `429` with `Retry-After` and is not charged.

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

Give Open WebUI 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}'
```

### Every search reads the live web

SpecStream reads the web at the moment of the call, so a page published an hour ago can be in the answer your users get. There is no Programmable Search Engine to configure and no list of sites to keep.

### 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-open-webui) 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-open-webui) 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 engines in Open WebUI, and what each costs

### Google PSE

Open WebUI's Google engine calls the Custom Search JSON API, which is closed to new customers. Existing customers pay $5 per 1,000 queries after 100 free a day, up to 10,000 a day, until January 1, 2027. SpecStream costs the same $5 per 1,000 with no daily limit, and any new account can start today.

### Bing Search V7

Microsoft retired the Bing Search APIs on August 11, 2025, so the default endpoint in Open WebUI no longer answers. Keep the engine and set Bing Search V7 Endpoint to `https://api.specstream.ai/v7.0/search`: SpecStream answers in Bing's `webPages.value` shape at $5 per 1,000.

### Brave Search API

A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month and 50 queries per second. Open WebUI fixes Brave's address in its code, so Brave cannot read the result pages for you. SpecStream does both, search and loader, from one key.

### Tavily

Search billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month. A basic search is 1 credit and an advanced search 2. SpecStream charges $0.005 a search, with no monthly reset, and answers Tavily's own call at `https://api.specstream.ai/tavily`.

### Firecrawl

Search and scraping billed in credits. Search costs 2 credits per 10 results, the free plan holds 500 searches, and the Hobby plan is $19 a month. Set Firecrawl API Base URL to `https://api.specstream.ai/firecrawl` and each search is $0.005 and each page $0.0008, with no plan to buy.

## How to set SpecStream as Open WebUI's web search

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. Turn on `zero_retention` on the key if your users' searches must leave no trace.

2. In Open WebUI, open the admin settings and go to Web Search. Turn on Web Search, set Web Search Engine to `external`, set External Web Search URL to `https://api.specstream.ai/openwebui/search` and paste the key in External Web Search API Key.

3. Under Loader, set Web Loader Engine to `external`, External Web Loader URL to `https://api.specstream.ai/openwebui/loader` and the same key in External Web Loader API Key. Save.

4. To check the key from a terminal before you save, send the same call Open WebUI sends.

```
curl -X POST https://api.specstream.ai/openwebui/search \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"query": "latest Open WebUI release", "count": 3}'
```

5. Start a chat, turn on web search and ask a question. Each search shows up in your SpecStream request log with its price.

## Frequently asked questions

### How do I set up web search in Open WebUI?

Set two fields and a key. In the admin settings under Web Search, choose the `external` engine, set External Web Search URL to `https://api.specstream.ai/openwebui/search` and paste a SpecStream key in External Web Search API Key. Each search costs $0.005.

### Why is Open WebUI web search not working with Bing or Google?

Microsoft retired the Bing Search APIs on August 11, 2025, and Google's Custom Search JSON API is closed to new customers. Point the Bing Search V7 Endpoint at `https://api.specstream.ai/v7.0/search`, or switch to the External engine, and search works again.

### What is the best web search engine for Open WebUI?

SpecStream, with 97.9 F-score on all 1,000 SimpleQA Verified questions at $5 per 1,000 searches. It plugs into Open WebUI's External search and loader, and also into its SearXNG, Firecrawl and Bing fields.

### Can I use Open WebUI web search without an API key?

A SpecStream key costs nothing to create, and a new account gets $10 of credit with no card, which covers 2,000 searches. You paste it once in External Web Search API Key.

### How do I use SearXNG in Open WebUI without running my own instance?

Set Searxng Query URL to `https://api.specstream.ai/searxng/YOUR_KEY/search`. SpecStream answers in SearXNG's JSON with `results[]`, `title`, `url` and `content`, at $0.005 a search, so there is no instance to host or keep JSON output turned on.

### How much does web search in Open WebUI cost with SpecStream?

$0.005 a search of up to 10 results, and Open WebUI asks for 3 by default. Reading the result pages with the External loader costs $0.80 per 1,000 pages, and a call stopped by a `429` is not charged.

### Which Open WebUI environment variables set SpecStream?

Six: `WEB_SEARCH_ENGINE=external`, `EXTERNAL_WEB_SEARCH_URL`, `EXTERNAL_WEB_SEARCH_API_KEY`, `WEB_LOADER_ENGINE=external`, `EXTERNAL_WEB_LOADER_URL` and `EXTERNAL_WEB_LOADER_API_KEY`, with `ENABLE_WEB_SEARCH=true`. To keep the Bing engine, set `WEB_SEARCH_ENGINE=bing`, `BING_SEARCH_V7_ENDPOINT=https://api.specstream.ai/v7.0/search` and a SpecStream key in `BING_SEARCH_V7_SUBSCRIPTION_KEY`.

### Is there a SpecStream tool for Open WebUI?

Yes. "SpecStream: web search and page reading" is in Open WebUI's community tools: https://openwebui.com/posts/eab5434f-b55c-4166-b145-892a1b343b2d. It gives the model search and page reading as a tool it can call. The setting on this page makes SpecStream the web search of every chat.

## Sources

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

- [Open WebUI config.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/config.py), read Nov 10, 2026
- [Open WebUI web search settings, WebSearch.svelte](https://github.com/open-webui/open-webui/blob/main/src/lib/components/admin/Settings/WebSearch.svelte), read Nov 10, 2026
- [Open WebUI external search, external.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/external.py), read Nov 10, 2026
- [Open WebUI external loader, external_web.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/loaders/external_web.py), read Nov 10, 2026
- [Open WebUI Google PSE engine, google_pse.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/google_pse.py), read Nov 10, 2026
- [Open WebUI Brave engine, brave.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/brave.py), read Nov 10, 2026
- [Open WebUI env.py](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/env.py), 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
- [Brave Search API](https://brave.com/search/api/), 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
- [Firecrawl pricing](https://www.firecrawl.dev/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
