DDGS
For a comprehensive list of all environment variables related to Web Search (including concurrency settings, result counts, and more), please refer to the Environment Configuration documentation.
Having issues with web search? Check out the Web Search Troubleshooting Guide for solutions to common problems like proxy configuration, connection timeouts, and empty content.
DDGS (Dux Distributed Global Search)
DDGS is a metasearch engine that allows you to search multiple providers through a single interface.
DDGS ships with Open WebUI and runs inside it. There is no separate service to deploy, no container to connect, no URL to point at and no API key to obtain. The three steps below are the entire setup.
It reaches each search provider through that provider's public pages rather than through a paid API. If you want a provider's official API, with the reliability and the quota that come with it, use its own entry in the Web Search Engine list instead, such as Brave, Google PSE or SerpApi, each of which does take a key.
Setup
- Enable Web Search in the Admin Settings.
- Select DDGS as the Web Search Engine.
- Choose your desired DDGS Backend from the dropdown menu.
DDGS Backend Options
- Auto (Random): Randomly selects from available providers.
- Bing
- Brave
- DuckDuckGo
- Grokipedia
- Mojeek
- Wikipedia
- Yahoo
- Yandex
Environment Variable
You can also configure the backend using the DDGS_BACKEND environment variable.
DDGS_BACKEND="google"Choosing a backend
Auto (Random) is the default and the most reliable choice. Because each search picks a provider at random, one provider refusing the request does not take searching down with it.
Pinning a single backend makes every search depend on that one provider continuing to serve automated requests. Providers vary in how they treat them, and some answer with a page that carries no results rather than with an error, so a pinned backend can return nothing while the rest keep working. The same provider can also start refusing after a period of normal use, and a shared or datacenter address is more likely to be refused than a home connection.
If searches return nothing on a pinned backend, switch back to Auto before changing anything else.
This usually has nothing to do with the search engine. The tool is offered to a model only when web search is enabled in the admin settings, enabled for that specific model in its editor, enabled for the chat, permitted for the user, and the model is not set to Legacy function calling. A model with the web search capability switched off in its own editor will say the tool is unavailable while searching works perfectly everywhere else.