Search Router: let your agent choose the right search provider
Install and use Search Router to route queries across Tavily, Serper, Exa, and Brave, with automatic fallback when a provider fails.
Search Router is an intelligent search gateway for agents. It puts Tavily, Serper, Exa, and Brave behind one interface, then chooses a provider based on the job: news favors speed, deep reports need strong full-text retrieval, and competitor research benefits from accurate Google-ranked results.
You do not have to pick an API before every search. Describe what you need and let the router choose. The code and latest documentation live in the Search Router GitHub repository.
Installation
Hermes Agent
The project is normally available in the Skill directory. To reinstall it:
git clone https://github.com/Zsmboom/search-router.git ~/.hermes/skills/research/search-router
pip install requests
After installation, ask Hermes to “search for XXX” and the agent will invoke it automatically.
Codex CLI or Claude Code
git clone https://github.com/Zsmboom/search-router.git
cd search-router
pip install requests
Then tell the agent: “The search-router project is at this path. Use it for search.”
Configure API keys
There are only two steps: register with a search provider to obtain a key, then ask your agent to add it to the configuration. One provider is enough to start; Tavily is the recommended first choice.
| Provider | Sign-up | Free allowance | Best suited for |
|---|---|---|---|
| Tavily | tavily.com | 1,000/day | News, updates, general search |
| Serper | serper.dev | 2,500/month | Competitor research, Google rankings |
| Exa | exa.ai | 1,000/month | Deep research, long-form content, academic work |
| Brave | brave.com/search/api | 2,000/month | General and privacy-focused search |
Once you have the keys, tell the agent:
Configure the search-router API keys. My Tavily key is tvly-xxx and my Serper key is xxx.
You can add or replace keys later in the same way:
Add another Tavily key: tvly-yyy
Replace the Serper key with xxx
Usage: describe the search you need
General search
Search for MiniMax’s latest model release.
Search Router follows its default fallback order: Tavily → Exa → Serper → Brave. If one provider is unavailable, it automatically tries the next.
News and updates
Find the latest Nvidia news.
This type of query prefers Tavily for speed.
Deep research
Research the small language model landscape in 2026.
This type of query prefers Exa for its stronger full-text retrieval.
Competitor research
Find the latest Notion AI features.
This type of query prefers Serper for accurate Google-ranked results.
If the agent does not detect the tool automatically, say: “Use search-router to search for XXX.”
What the output looks like
Results are ranked by relevance. Each item includes a title, clickable URL, summary, and publication date. For example:
MiniMax releases its latest model XXX
Summary: MiniMax officially released…
(2026-04-07)
An in-depth review of MiniMax’s latest model
Summary: This article evaluates MiniMax’s latest model…
Frequently asked questions
What happens when a key runs out?
Register a new key with the provider and tell the agent: “Add this Tavily key: tvly-xxx.” If you configured multiple providers, the router will move to the next one when a provider’s allowance is exhausted.
How do I inspect the current configuration?
Tell the agent: “Show me the search-router provider status.”
How do I try another provider?
Name it directly: “Use Serper to search for XXX” or “Use Exa to search for XXX.”
How do I add another provider?
Register for a key and tell the agent: “Add an XXX key.” No code changes are required.
Boundaries to keep in mind
- Free allowances can change; the values recorded here are Tavily 1,000/day, Exa 1,000/month, Serper 2,500/month, and Brave 2,000/month.
- Result summaries are usually 200–300 characters. Ask the agent to open the source when you need the complete text.
- Search Router uses public search APIs, so it cannot retrieve content that requires signing in.