ZeroClaw
Set ZeroClaw's web search provider to SearXNG with SpecStream's address, and web_search_tool searches the live web through the SpecStream Search API. There is no SearXNG server to run and no code to change.
What you need
- ZeroClaw, with its config at
~/.zeroclaw/config.toml. - A SpecStream API key. New accounts start with $10 of credit, no card. Create an account.
- 1
1. Get a SpecStream key
Get your key on the Search API screen of your SpecStream workspace.
- 2
2. Point the SearXNG provider at SpecStream
ZeroClaw's SearXNG provider sends no key, so the key goes in the address. Under
[web_search]inconfig.toml, setsearch_providertosearxngandsearxng_instance_urlto this address, with your key in place ofYOUR_SPECSTREAM_KEY. Leave/searchoff the end, because ZeroClaw adds it to every request.max_resultstakes 1 to 10 and is 5 when you leave it out. A search costs the same up to 10 results, so 10 gives the agent more to read at no extra cost.~/.zeroclaw/config.toml - 3
3. Or keep the key out of the file
searxng_instance_urlis not stored as a secret, so inconfig.tomlthe key sits in plain text. ZeroClaw reads any setting from aZEROCLAW_variable, with__between the parts of its path. Set the address in the environment ZeroClaw starts from, and keep onlysearch_provider = "searxng"in the file:Environment - 4
4. Restart ZeroClaw and ask
ZeroClaw picks the provider when it builds the tool, so restart the agent or the daemon after the change. Then ask a question that needs the web.
web_search_toolreturns each result's title, URL and snippet, read from SpecStream's reply.
What ZeroClaw sends
Each search is GET https://api.specstream.ai/searxng/<key>/search with q, format=json and pageno=1. The Search API answers in SearXNG's JSON shape, and ZeroClaw reads results[].title, url and content and keeps the first max_results. publishedDate is null on most results.
If searxng_instance_url is empty, the tool answers SearXNG instance URL not configured. If search_provider holds a name ZeroClaw does not know, it logs a warning and searches DuckDuckGo instead. It accepts searxng, searx, searx-ng and searx_ng.
Why not run SearXNG yourself
SearXNG is a server you install, keep running and set to answer in JSON. With the SpecStream address there is no server to host, and the results come from the most accurate web search API on SimpleQA Verified and WideSearch. The scores and the method are on the benchmarks page.
Page reading and structured data over MCP
ZeroClaw is also an MCP client, and SpecStream's MCP server gives the agent more than search. Add it with the http transport and your key in headers, which ZeroClaw stores as secrets. An agent connects only to the servers its mcp_bundles grant, so add the bundle to your agent's alias, assistant in this example, next to the bundles it already has. Then restart the session.
specstream__search_webanswers a question from the live web with up to 10 results, each with its URL.specstream__read_pagesreturns the main text of up to 20 pages or documents (PDF, Word, Excel) a call, read live.specstream__compileandspecstream__quote_capacity_workread a request for many records and price it. Both cost nothing.specstream__authorize_capacity_workstarts a Deep Search run only with the maximum you approved, andspecstream__list_find_rowsreads the rows, each value with its source URL and read time.
Approvals
MCP tool calls go through the agent's risk profile. To let searches and page reads run without a prompt, add specstream__search_web and specstream__read_pages to auto_approve in risk_profiles.<alias>, and leave specstream__authorize_capacity_work out so a paid run still asks first.
Cost
Each search through the SearXNG address is one Search API call on the fast tier, which costs a fifth of the default search's $5 per 1,000 searches of up to 10 results. ZeroClaw names no result count, so every search is billed at the base price, and a search that returns no results costs nothing. Over MCP, each page read_pages reads is $0.80 per 1,000 pages, and a page with no text is not charged. All of it comes out of your balance with no quote and no approval. New accounts start with $10 of credit, no card.
Turn it off
Set search_provider back to duckduckgo, ZeroClaw's default, and restart. Remove the specstream server from your bundles to end MCP access. To end the key's access everywhere, revoke it under Agents & API in your SpecStream workspace. Questions go to [email protected].
More
SpecStream for ZeroClaw covers what it does in ZeroClaw on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and the matches are paid from your balance. Billing has the details. For help, email [email protected].