> SpecStream is the live web data engine for teams and agents. This is the Markdown copy of https://specstream.ai/docs/integrations/search-boost. Every page, with what SpecStream does and costs: https://specstream.ai/llms.txt

# 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](https://specstream.ai/integrations/search-boost.md)

## 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](https://specstream.ai/workspace/search?route=tavily&utm_source=search-boost&utm_medium=howto) on the Search API screen of your SpecStream workspace. New accounts start with $10 of credit, no card.

1.  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

    ```bash
    search-boost config keys --set tavily=YOUR_SPECSTREAM_KEY --base-url tavily=https://api.specstream.ai/tavily
    ```

2.  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

    ```json
    {
      "tavily": "YOUR_SPECSTREAM_KEY",
      "engines": {
        "tavily": { "baseUrl": "https://api.specstream.ai/tavily" }
      }
    }
    ```

3.  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

    ```bash
    search-boost config keys --show
    ```

4.  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

    ```json
    {
      "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 sends | SpecStream |
| --- | --- |
| `POST {baseUrl}/search` | `https://api.specstream.ai/tavily/search` |
| `api_key` in the body | Read as your SpecStream key |
| `max_results`, 8 at the default `medium` complexity | Up 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 each | Results only from, or never from, those sites |
| `time_range` from `recency` | Results from that window |
| Reads `results[].title`, `url`, `content` and `published_date` | Tavily'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](https://specstream.ai/migrate/tavily.md).

## Go back

Run `search-boost config keys --reset-base-url tavily` and set your Tavily key again with `--set tavily=`. Questions go to [support@specstream.ai](mailto:support@specstream.ai).

## More

[SpecStream for search-boost](https://specstream.ai/integrations/search-boost.md) covers what it does in search-boost on one page. Every other tool has its guide in [Connect your tools](https://specstream.ai/docs/integrations.md). You see the most a request can cost before it starts, and the matches are paid from your balance. [Billing](https://specstream.ai/docs/billing.md) has the details. For help, email [support@specstream.ai](mailto:support@specstream.ai).
