Skip to the page

search-boost

Point search-boost's Tavily engine at https://api.specstream.ai/tavily with engines.tavily.baseUrl, put your SpecStream key in the Tavily slot, and fused_search gets Tavily-shaped results from SpecStream's Search API. One command, no code change, and your free pool stays as it is.

SpecStream for search-boostCoding agents

What you need

  • search-boost 0.2.3 or newer, where custom base URLs arrived, and Node.js 22.13 or newer.
  • A SpecStream key. Get your key on the Search API screen of your SpecStream workspace. New accounts start with $10 of credit, no card.
  1. 1. Set the Tavily key and base address

    search-boost takes an API base, not a full search endpoint, and adds /search to it. So https://api.specstream.ai/tavily sends every Tavily call to https://api.specstream.ai/tavily/search, SpecStream's Tavily route. Put your key in place of YOUR_SPECSTREAM_KEY:

    Terminal
    search-boost config keys --set tavily=YOUR_SPECSTREAM_KEY --base-url tavily=https://api.specstream.ai/tavily
  2. 2. Or write it in keys.json

    The same settings live in ~/.search-boost/config/keys.json, or under SEARCH_BOOST_HOME if you set it. Keep the other keys in the file as they are:

    ~/.search-boost/config/keys.json
    {
    "tavily": "YOUR_SPECSTREAM_KEY",
    "engines": {
    "tavily": { "baseUrl": "https://api.specstream.ai/tavily" }
    }
    }
  3. 3. Check the effective base

    --show prints the masked key and the base address search-boost will use. In the terminal UI the same is under Search engine configuration, where Set / replace Base URL edits it.

    Terminal
    search-boost config keys --show
  4. 4. Search with Tavily

    Ask your agent something from this week. To send a search to Tavily alone, call fused_search with engines:

    fused_search arguments
    {
    "query": "Node.js 24 release notes",
    "engines": ["tavily"]
    }

Which searches reach SpecStream

With a key stored, search-boost's default layer is api unless you set it, and a fused_search with no engine_pool then runs the free pool and Tavily together. engine_pool: "api" runs only the keyed engines, and engines: ["tavily"] runs only Tavily. To fix the layer, run search-boost config layer --layer api.

The key in keys.json wins over TAVILY_API_KEY. The environment variable is used only when the file holds no Tavily key.

What search-boost sends, and what comes back

search-boost sendsSpecStream
POST {baseUrl}/searchhttps://api.specstream.ai/tavily/search
api_key in the bodyRead as your SpecStream key
max_results, 8 at the default medium complexityUp to 10 results is one search; each started block of 10 more adds to the price
search_depth: basic, or advanced at complexity: "complex"basic runs on the fast tier; advanced runs the default search
include_domains and exclude_domains, up to 5 eachResults only from, or never from, those sites
time_range from recencyResults from that window
Reads results[].title, url, content and published_dateTavily's shape. published_date is there when SpecStream knows the date

What each search costs

A basic Tavily call is one Search API call on the fast tier: $1 per 1,000 searches of up to 10 results. An advanced call, which search-boost sends at complexity: "complex", is the default search at $5 per 1,000.

medium complexity sends up to 2 query variants and complex up to 3, each one a Tavily call, so a medium fused_search costs at most $0.002 through Tavily. Free pool engines cost nothing from SpecStream. Searches come out of your balance, with no quote and no approval.

Brave on the same key

SpecStream also answers Brave's search API. search-boost adds /web/search to the Brave base, so set it to https://api.specstream.ai/res/v1, with the same key in the Brave slot: search-boost config keys --set brave=YOUR_SPECSTREAM_KEY --base-url brave=https://api.specstream.ai/res/v1. search-boost sends the key in X-Subscription-Token, where SpecStream reads it. With both on SpecStream, a fused_search sends a call to each, and each call is charged.

If Tavily fails

  • tavily http 401: SpecStream got no valid key. Check the Tavily slot, and that the key can search. Keys made on the Search API screen can search.
  • tavily http 404: the base ends in /search. search-boost adds it, so set the base to https://api.specstream.ai/tavily.
  • Base URL must be an absolute HTTP(S) URL without credentials, query or fragment: the address holds ?key= or a user name. The key goes in the Tavily slot, not the address.
  • tavily http 429: search is busy. It is not charged, and the other engines' results still come back.

Where the key is kept

search-boost writes keys.json with mode 0600 and prints the key masked in --show, status and doctor. To end the key's access, revoke it under API keys in Agents & API in your workspace, and make a new one. More on the Tavily address: switch from Tavily.

Go back

Run search-boost config keys --reset-base-url tavily and set your Tavily key again with --set tavily=. Questions go to [email protected].

More

SpecStream for search-boost covers what it does in search-boost 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].