Skip to main content
Pick a web-search backend (DuckDuckGo, Tavily, Serper) for your agent — or plug in your own.
The user enables web=True; PraisonAI routes searches through DuckDuckGo, Tavily, Serper, or a custom provider.

How It Works

Quick Start

1

Simple Usage

Give your agent web search with the default DuckDuckGo provider:
2

Switch providers via config

Select Tavily or Serper from the CLI or bot config:
3

Register a custom search provider

Distribute a custom provider as a pip plugin:

Built-in Providers

Entry-point group: praisonai.tools.search

Which Provider Should I Pick?


Best Practices

Set TAVILY_API_KEY or SERPER_API_KEY in your shell or deployment secrets — never hard-code keys in agent instructions.
The registry falls back to duckduckgo when an unknown provider name is requested — useful for resilient bot configs.
For high-volume agents, cache search results in Redis or session memory to avoid rate limits on paid providers.

Tool Search

Progressive disclosure when agents have many MCP tools

Endpoint Provider Registry

Plug custom endpoint types into serve / discovery