Best web search for Open WebUI: setup guide and provider comparison
Linkup Technical Staff
Enable web search in Open WebUI in three steps, then compare Linkup, SearXNG, Brave, and Tavily on accuracy and price.
TL;DR
- Enable web search in Open WebUI under Admin Panel → Settings → Web Search, or set three Docker env vars:
ENABLE_RAG_WEB_SEARCH=true,RAG_WEB_SEARCH_ENGINE=linkup,LINKUP_API_KEY=your_key. - Linkup is the most accurate supported provider (92% F-score on SimpleQA), priced at €5 per 1,000 standard searches with a free €5 credit at sign-up.
- For a fully free self-hosted setup, use SearXNG. For a free tier with a managed API, use Brave (2,000 searches per month free).
- If web search returns nothing on a free tier, set
WEB_SEARCH_CONCURRENT_REQUESTS=1. Rate-limited free tiers reject parallel requests.
The fastest way to enable web search in Open WebUI is Admin Panel → Settings → Web Search → toggle Enable Web Search → select a provider → paste your API key → Save. Linkup is the most accurate of the officially supported providers, scoring 92% F-score on Verified SimpleQA, which matters because Open WebUI feeds search results directly into the model as grounding context. This guide covers what web search does in Open WebUI, a provider comparison with pricing, a step-by-step Linkup setup, and fixes for the most common setup failures.
What web search does in Open WebUI
Web search in Open WebUI grounds model responses in live web data using retrieval-augmented generation (RAG). When enabled, Open WebUI sends the user query to a search provider, fetches results, extracts content, and injects that content into the prompt before the model answers. This is what stops a self-hosted Llama or Qwen model from answering with stale training data.
The quality of the answer depends on the quality of the retrieved content. Three things determine that:
- Accuracy of results returned. A provider that returns the wrong page produces a wrong grounded answer.
- Extraction quality. Raw HTML versus clean, model-ready content changes how much the model can use.
- Latency. Search runs on every query that triggers it, so a slow provider blocks the whole response.
Open WebUI supports SearXNG, Brave, Google PSE, Bing, Tavily, Linkup, DuckDuckGo, and others. Each plugs in through the same admin setting, so swapping providers takes seconds.
Open WebUI web search provider comparison
Linkup is the most accurate supported provider, SearXNG is the best free self-hosted option, and Brave offers the most generous managed free tier. The right choice depends on whether you need accuracy, zero cost, or a self-hosted result aggregator.
Provider | Accuracy benchmark | Pricing | Self-hosted | Notes |
Linkup | 92% F-score SimpleQA | $5 / 1K searches | No | #1 sub-second search API, zero data retention |
SearXNG | Not benchmarked | Free | Yes | Metasearch aggregator, you run it |
Brave | Not published | $5–9 / 1K | No | Set concurrency to 1 on free tier |
Tavily | Not published | from $27/mo | No | LLM-focused, higher entry price |
Google PSE | Not published | $5 / 1K over free limit | No | Requires programmable search engine setup |
DuckDuckGo | Not published | Free | No | Unofficial, no API key, rate-limited |
Linkup publishes its SimpleQA results through an open-source eval harness at github.com/LinkupPlatform/eval-simpleQA. SimpleQA is the right benchmark for Open WebUI because it tests factual question answering against live web sources, which is exactly the RAG grounding workload Open WebUI runs. For deeper multi-step research, Linkup's /research endpoint scores 61% on SealQA-0.
How to set up Linkup web search in Open WebUI
Linkup is an officially supported Open WebUI provider, documented at docs.openwebui.com. You can configure it through the admin UI or environment variables.
Admin UI, five steps:
- Open Admin Panel → Settings → Web Search.
- Toggle Enable Web Search.
- Select Linkup from the Web Search Engine dropdown.
- Paste your Linkup API key (get one at app.linkup.so/sign-up, free €5 credit).
- Save.
For Docker deployments, set the environment variables directly. Add these to your docker-compose.yml or docker run command:
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
environment:
- ENABLE_RAG_WEB_SEARCH=true
- RAG_WEB_SEARCH_ENGINE=linkup
- LINKUP_API_KEY=your_key_here
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
volumes:
open-webui:
With docker run:
docker run -d -p 3000:8080 \
-e ENABLE_RAG_WEB_SEARCH=true \
-e RAG_WEB_SEARCH_ENGINE=linkup \
-e LINKUP_API_KEY=your_key_here \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main
Restart the container after changing env vars. Linkup retains no query data by default, which matters if you are running Open WebUI behind a compliance review.
Troubleshooting common Open WebUI web search issues
Most web search failures in Open WebUI come from concurrency limits, proxy config, or a missing toggle, not the provider itself. Work through these in order.
- No results on a free tier. Set
WEB_SEARCH_CONCURRENT_REQUESTS=1. Brave's free tier and other rate-limited plans reject parallel requests, so Open WebUI's default concurrency triggers a 429 and returns nothing. - Search runs but the model ignores results. Confirm
ENABLE_RAG_WEB_SEARCH=trueis set and that web search is toggled on per chat using the web search button in the message box. - Connection errors behind a corporate network. Set
HTTP_PROXYandHTTPS_PROXYenv vars so the container can reach the provider API. - API key not picked up. Env vars set in the UI override file env vars in some versions. If you set the key in
docker-compose.ymlbut it does not register, clear the field in Admin Panel → Settings → Web Search and re-save. - Slow responses. Latency stacks: search plus extraction plus generation. A sub-second search API like Linkup keeps the search portion off the critical path.
If results are accurate but sparse, increase the result count in the web search settings so the model has more grounding context to work with.
For a managed setup that meets a compliance and accuracy bar, Linkup is the most direct path: one env var plus an API key, 92% F-score on SimpleQA, and zero data retention by default. Start with the free €5 credit at https://app.linkup.so/sign-up or read the integration steps in the Linkup docs.
FAQ
How do I enable web search in Open WebUI?
Go to Admin Panel → Settings → Web Search, toggle Enable Web Search, select a provider, paste the API key, and save. For Docker, set ENABLE_RAG_WEB_SEARCH=true, RAG_WEB_SEARCH_ENGINE=<provider>, and the provider's API key env var.
What is the best web search provider for Open WebUI?
Linkup is the most accurate at 92% F-score on Verified SimpleQA. SearXNG is the best free self-hosted option, and Brave offers a free tier of 2,000 searches per month.
Is Linkup better than Tavily or Brave for Open WebUI?
Linkup scores 92% F-score on SimpleQA and starts at €5 per 1,000 searches with a free credit, while Tavily starts at $27 per month and Brave does not publish accuracy benchmarks. For grounded factual answers, accuracy is the deciding factor.
Why is Open WebUI web search returning no results?
The most common cause is concurrency on a rate-limited free tier. Set WEB_SEARCH_CONCURRENT_REQUESTS=1 so Open WebUI sends one request at a time and avoids 429 errors.
Can I use Open WebUI web search for free?
Yes. SearXNG is free if you self-host it, and Brave, Tavily, and Google PSE all offer free tiers. Linkup includes a free €5 credit at sign-up.
Does Open WebUI web search send my queries to a third party?
Yes, unless you self-host with SearXNG. Managed providers receive your query. Linkup retains no query data by default, which is relevant if you handle sensitive search inputs.



