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

# Deep Research (u14app)

Run u14app's Deep Research on SpecStream's search: set SEARXNG\_API\_BASE\_URL on the server to https://api.specstream.ai/searxng/YOUR\_SPECSTREAM\_KEY and choose SearXNG as the search provider. The web app in Proxy mode, the SSE API and the MCP server then search the live web through SpecStream at $1 per 1,000 searches.

[SpecStream for Deep Research (u14app)Agent frameworks & builders](https://specstream.ai/integrations/u14app-deep-research.md)

## What you need

-   Deep Research from [github.com/u14app/deep-research (opens in a new tab)](https://github.com/u14app/deep-research), self hosted with Docker or `pnpm`, and an AI provider key it supports.
-   A SpecStream API key that can search. New accounts get $10 of credit, no card. [Create one](https://specstream.ai/signup?utm_source=u14app-deep-research).

1.  1

    ## 1. Make a SpecStream key

    In SpecStream, open [Agents & API](https://specstream.ai/workspace/agents?tab=keys&utm_source=u14app-deep-research), choose **API keys**, then **Create API key**. Turn on **Authorize paid work** and give the key a **Total spending limit**. The key is shown once.

2.  2

    ## 2. Set the address on the server

    Deep Research reads the SearXNG address from `SEARXNG_API_BASE_URL`, and falls back to `http://0.0.0.0:8080` without it. Add these lines to `.env` (or `.env.local` while you develop), with your key in place of YOUR\_SPECSTREAM\_KEY. With Docker, pass the same two variables to the container.

    Deep Research adds `/search` and `format=json` itself, so the address ends at your key. `MCP_SEARCH_PROVIDER` makes SearXNG the search of the MCP server too. Redeploy so the server reads the new values.

    .env

    ```bash
    SEARXNG_API_BASE_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY
    MCP_SEARCH_PROVIDER=searxng
    ```

3.  3

    ## 3. Choose SearXNG in the web app

    Open **Setting** and set **API Mode** to **Proxy**. In Proxy mode the browser sends each search to your server, and the server forwards it to the address you set, so the key never reaches the browser.

    If the server has `ACCESS_PASSWORD`, type the same password in **Access Password**. Turn on **Web Search**, choose SearXNG under **Search Provider**, and click **Save**.

4.  4

    ## 4. Use it from the SSE API and the MCP server

    A call to `/api/sse` with `searchProvider` set to `searxng` searches through the same server address.

    The MCP server answers at `/api/mcp` (Streamable HTTP) and `/api/mcp/sse` (SSE), and takes its search from `MCP_SEARCH_PROVIDER`, set in step 2. When the server has `ACCESS_PASSWORD`, the MCP server asks for it too.

5.  5

    ## 5. Check it works

    Start a short research task with Web Search on. Each search is in your SpecStream request log with the SearXNG route as its endpoint and its price: `GET https://api.specstream.ai/v1/account/requests` lists them, newest first.

## What changes in Deep Research

| Setting | Default | With SpecStream |
| --- | --- | --- |
| `SEARXNG_API_BASE_URL` | `http://0.0.0.0:8080` | `https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY` |
| `MCP_SEARCH_PROVIDER` | `model` | `searxng` |
| **Search Provider** in **Setting** | Your last choice | SearXNG, with **API Mode** set to **Proxy** |
| `searchProvider` on `/api/sse` | Sent by the caller | `searxng` |

## What each search costs

Each search Deep Research sends to the SearXNG address is one Search API call on the fast tier: $1 per 1,000 searches of up to 10 results, a fifth of the default search's $5. A SearXNG call names no result count, so each one gets one page of 10 results at that price, and a search that returns nothing costs nothing. A research task runs several searches, one for each query the model plans.

Searches come out of your balance with no quote and no approval. New accounts start with $10 of credit, no card. Questions go to [support@specstream.ai](mailto:support@specstream.ai).

## Limits and errors

-   When search is busy, SpecStream answers `429` with a `Retry-After` header and charges nothing.
-   A key SpecStream does not accept answers `401`. Check the key in `SEARXNG_API_BASE_URL`, and that it can search.
-   A key over its spending limit answers `403`. Raise the limit under **API keys** in **Agents & API**.

## Keep the key private

The key is part of the address, so keep `.env` and `.env.local` out of git and set the variable as a secret on your host. To end a key's access, revoke it under **API keys** in **Agents & API** and make a new one.

## Read pages and get rows too

The same key reads pages with the [Extract API](https://specstream.ai/docs/extract-api.md) at $0.80 per 1,000 pages, and a page with no text is not charged. For a dataset, add SpecStream's MCP server at `https://api.specstream.ai/mcp` and ask for the records in plain words. Deep Search returns every match as structured rows at 5¢, 15¢ or $1 a row, under a maximum you approve. See [MCP](https://specstream.ai/docs/mcp.md) and [deep research APIs](https://specstream.ai/deep-research-api.md).

## Go back

Remove `SEARXNG_API_BASE_URL`, choose another search provider in **Setting**, and redeploy. Then revoke the key in your workspace if you no longer use it.

## More

[SpecStream for Deep Research (u14app)](https://specstream.ai/integrations/u14app-deep-research.md) covers what it does in Deep Research (u14app) 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).
