Web search in Agno
Point Searxng or TavilyTools at SpecStream.
Two of Agno's web search toolkits take an address: Searxng by its host argument, and TavilyTools by api_base_url or the environment variable TAVILY_API_BASE_URL. SpecStream answers both. Our test on November 9, 2026 passed Agno with only the setting changed.
Set TAVILY_API_BASE_URL=https://api.specstream.ai/tavily and TAVILY_API_KEY to your SpecStream key, and your agent's code stays as it is. Or pass host="https://api.specstream.ai/searxng/<key>" to Searxng.
It is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions, at $5 per 1,000 searches. New accounts get $10 of credit, which covers 2,000 searches.
New accounts get $10 of credit, no card. It covers 2,000 searches.
SpecStream next to the search toolkits Agno ships, from each company's own pages and Agno's source on Nov 10, 2026
| SpecStream | Tavily | Exa | Brave Search API | |
|---|---|---|---|---|
| What you set in Agno | TAVILY_API_BASE_URL=https://api.specstream.ai/tavily for TavilyTools, or Searxng(host="https://api.specstream.ai/searxng/<key>") | TAVILY_API_KEY. With no api_base_url, TavilyTools calls https://api.tavily.com | An API key. ExaTools builds its client with the key alone, with no address argument | An API key. BraveSearchTools builds its client with the key alone, with no address argument |
| Price per 1,000 searches | $5, with up to 10 results a search | $0.008 a credit on pay as you go. A basic search takes 1 credit and an advanced search 2 | $4, $7 or $12, with up to 10 results, by search type | $5 per 1,000 requests |
| Free to start | $10 of credit, no card. It covers 2,000 searches | 1,000 credits a month, no card | $10 of credits every month plus a $10 onboarding bonus, no payment method | $5 in free credits every month |
| What one call counts as | One search of up to 10 results at $0.005. Each 10 results more add $0.006. A call stopped by a 429 charges nothing | Credits by the type of request: search, extract or crawl | One request at the base price for up to 10 results, plus $1 per 1,000 requests for each result above 10 | One request, up to 50 queries per second |
| What is kept from a search | Nothing, on a key with zero retention: no request text and no answer after the reply, in the history or in a log line | Its privacy page says it may use portions of your query data to improve its responses to future queries | Its privacy page says query data is used to improve its products, including by training and fine tuning models | Queries are never shared or trained on |
| Who gets zero retention | Every account. One field on the key, zero_retention, at the same $5 per 1,000 | Its privacy page says it keeps information for the period necessary to provide and improve the services | An Enterprise plan: its security page says to contact sales | Enterprise customers |
Why Agno builders set SpecStream as their agent's search
The setting, toolkit by toolkit
TavilyTools reads TAVILY_API_BASE_URL when you pass no api_base_url, so an agent already on Tavily moves with two environment variables and no change to its code. Searxng takes the address in code: it adds /search?format=json&q= to host and sends no key header, so the key goes in the address.
# Tavily toolkit, no code change
export TAVILY_API_BASE_URL=https://api.specstream.ai/tavily
export TAVILY_API_KEY=$SPECSTREAM_KEYfrom agno.agent import Agent
from agno.tools.searxng import Searxng
from agno.tools.tavily import TavilyTools
search = Searxng(host="https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY", fixed_max_results=5)
# or, in code instead of the environment
tavily = TavilyTools(api_base_url="https://api.specstream.ai/tavily", api_key="YOUR_SPECSTREAM_KEY")
agent = Agent(tools=[search])About one second a search, with two arguments
Searxng calls run on the fast search. TavilyTools asks for search_depth="advanced" and an answer by default, and SpecStream runs those on its default search, at about 3 s. Pass search_depth="basic" and include_answer=False for the fast search, at the same $0.005.
On November 9, 2026 production took 1, 5, 10 and 20 searches a second through the fast search and answered 718 of 720. The median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. One account takes up to 8,800 searches a minute; a call over that gets a 429 with Retry-After and is not charged.
$5 per 1,000 searches, advanced or basic
Tavily charges 2 credits for the advanced search that TavilyTools sends by default. On SpecStream a search of up to 10 results is $0.005 whatever its depth, and the answer comes at no extra cost. Credit you buy never expires, and there is no monthly plan.
The most accurate web search API in the world
On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the benchmarks page.
You decide what is kept, on each key
Create a key with zero_retention and a search made with it keeps no request text and no answer after the reply. spend_cap_cents is the most the key can spend, so an agent in a loop stops at the cap you set.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "agno", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'Search, pages and rows on one key
The same key reads up to 20 pages or documents a call with the Extract API at $0.80 per 1,000 pages, and runs Deep Search: a request in plain words returns every match on the live web as rows, at 5¢, 15¢ or $1 a row, with the most a run can cost quoted before it starts. Agents connect to https://api.specstream.ai/mcp with OAuth or an API key.
Other web search toolkits in Agno
Tavily
A search API billed in credits: $0.008 a credit on pay as you go, 1 credit for a basic search and 2 for the advanced search TavilyTools sends by default, with 1,000 free credits a month. With TAVILY_API_BASE_URL on SpecStream, the same toolkit pays $0.005 a search at either depth.
Exa
A search API at $4, $7 or $12 per 1,000 requests by search type, with $1 per 1,000 requests for each result above 10. Its privacy page says query data is used for training. On SpecStream a search is $5 per 1,000, and a key with zero_retention keeps nothing on every account.
Brave Search API
A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month and up to 50 queries per second. SpecStream costs the same $5 per 1,000, searches the whole live web, and scores 97.9 F-score on SimpleQA Verified.
Serper
Google results as JSON, sold in credit packs from $50 for 50,000, valid for 6 months. Agno's Serper toolkit fixes its address at https://google.serper.dev. SpecStream credit never expires, and Searxng on our address searches at $5 per 1,000.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to set SpecStream as web search in Agno
1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.
2. Check the key with the call TavilyTools will make.
import requests
reply = requests.post(
"https://api.specstream.ai/tavily/search",
headers={"Authorization": "Bearer YOUR_SPECSTREAM_KEY"},
json={"query": "open source vector databases", "max_results": 5},
).json()
for result in reply["results"]:
print(result["title"], result["url"], result["content"])3. Set TAVILY_API_BASE_URL=https://api.specstream.ai/tavily and TAVILY_API_KEY to your SpecStream key where the agent runs. For Searxng, pass host="https://api.specstream.ai/searxng/<key>".
4. Run the agent. Each search is billed as one search on your key, inside the spending limit the key carries.
When an agent needs a whole dataset in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet, quotes the most it can cost, and delivers the rows after you approve.
Frequently asked questions
Something we didn't answer? Talk to a human
How do I add web search to an Agno agent?
TavilyTools or Searxng to the agent's tools and point it at SpecStream: TAVILY_API_BASE_URL=https://api.specstream.ai/tavily, or Searxng(host="https://api.specstream.ai/searxng/<key>"). Our test on November 9, 2026 passed Agno with only the setting changed, and each search costs $0.005.Which environment variable sets the Tavily address in Agno?
TAVILY_API_BASE_URL. TavilyTools reads it when no api_base_url is passed, and reads the key from TAVILY_API_KEY.Do I need to host SearXNG for Agno's Searxng toolkit?
host="https://api.specstream.ai/searxng/<key>" and SpecStream answers in SearXNG's JSON, at a median of 0.82 s a search on production.What is the best web search tool for Agno agents?
TavilyTools and Searxng at their own address settings, so the agent's code stays as it is.How much does web search in Agno cost with SpecStream?
429 charges nothing, and new accounts get $10 of credit, no card.Why is my Agno Tavily search slower than one second?
TavilyTools asks for an advanced search with an answer by default, which SpecStream runs on its default search in about 3 s. Pass search_depth="basic" and include_answer=False and the call runs on the fast search, at a median of 0.82 s.Sources
SpecStream wrote this page. Each figure on another provider comes from that company's own page, and each Agno setting from Agno's source on GitHub.
- Agno Searxng toolkitgithub.com/agno-agi/agno/blob/main/libs/agno/agno/tools/searxng.py, read Nov 10, 2026
- Agno Tavily toolkitgithub.com/agno-agi/agno/blob/main/libs/agno/agno/tools/tavily.py, read Nov 10, 2026
- Agno Exa toolkitgithub.com/agno-agi/agno/blob/main/libs/agno/agno/tools/exa.py, read Nov 10, 2026
- Agno Brave toolkitgithub.com/agno-agi/agno/blob/main/libs/agno/agno/tools/bravesearch.py, read Nov 10, 2026
- Agno Serper toolkitgithub.com/agno-agi/agno/blob/main/libs/agno/agno/tools/serper.py, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 9, 2026
- Tavily search endpointdocs.tavily.com/documentation/api-reference/endpoint/search, read Nov 9, 2026
- Tavily privacy policytavily.com/privacy, read Nov 9, 2026
- Exa pricingexa.ai/pricing, read Nov 9, 2026
- Exa privacy policyexa.ai/privacy, read Nov 9, 2026
- Exa securityexa.ai/docs/reference/security, read Nov 9, 2026
- Brave Search APIbrave.com/search/api/, read Nov 9, 2026
- Serperserper.dev/, read Nov 9, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




