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 openai

Example

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

ParameterTypeDefaultDescription
enable_searchboolTrueEnable DuckDuckGo search function.
enable_newsboolTrueEnable DuckDuckGo news function.
modifierOptional[str]NonePrefix for web_search only; not applied to search_news.
fixed_max_resultsOptional[int]NoneA fixed number of maximum results.
proxyOptional[str]NoneProxy to use for requests.
timeoutOptional[int]10Maximum seconds to wait for a response.
verify_sslboolTrueWhether to verify SSL certificates.
timelimitOptional[str]NoneTime limit for results. "d" (day), "w" (week), "m" (month), "y" (year).
regionOptional[str]NoneRegion for results (e.g., "us-en", "uk-en", "ru-ru").
backendOptional[str]"duckduckgo"Backend identifier to use for searching. Defaults to duckduckgo when unset; an explicit backend overrides it.

Toolkit Functions

FunctionDescription
web_searchSearch 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_newsGet 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.

Developer Resources