DuckDuckGo
Search the web with DuckDuckGoTools, a convenience wrapper around WebSearchTools defaulting to the DuckDuckGo backend.
DuckDuckGoTools is a convenience wrapper around WebSearchTools with the backend defaulting to DuckDuckGo. It enables an Agent to search the web for information using the DuckDuckGo search engine.
For more flexibility with multiple search backends (Google, Bing, Brave, Yandex, etc.), use WebSearchTools directly.
Prerequisites
The following example requires the ddgs and openai libraries. To install them, run the following command:
uv pip install -U agno ddgs openaiExample
from agno.agent import Agent
from agno.tools.duckduckgo import DuckDuckGoTools
agent = Agent(tools=[DuckDuckGoTools()])
agent.print_response("Whats happening in France?", markdown=True)Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
enable_search | bool | True | Enable DuckDuckGo search function. |
enable_news | bool | True | Enable DuckDuckGo news function. |
modifier | Optional[str] | None | Prefix for web_search only; not applied to search_news. |
fixed_max_results | Optional[int] | None | A fixed number of maximum results. |
proxy | Optional[str] | None | Proxy to use for requests. |
timeout | Optional[int] | 10 | Maximum seconds to wait for a response. |
verify_ssl | bool | True | Whether to verify SSL certificates. |
timelimit | Optional[str] | None | Time limit for results. "d" (day), "w" (week), "m" (month), "y" (year). |
region | Optional[str] | None | Region for results (e.g., "us-en", "uk-en", "ru-ru"). |
backend | Optional[str] | "duckduckgo" | Backend identifier to use for searching. Defaults to duckduckgo when unset; an explicit backend overrides it. |
Toolkit Functions
| Function | Description |
|---|---|
web_search | Search DuckDuckGo for a query. Parameters include query (str) for the search query and max_results (int, default=5) for maximum results. Returns JSON formatted search results. |
search_news | Get the latest news from DuckDuckGo. Parameters include query (str) for the search query and max_results (int, default=5) for maximum results. Returns JSON formatted news results. |
The registered tool names are web_search and search_news. The older duckduckgo_search and duckduckgo_news aliases are not available on current main.