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

# Base44

Use SpecStream in Base44 two ways: an MCP connection fills your app with live web records while you build, and a custom integration lets the published app ask for live data when a visitor approves the price.

[SpecStream for Base44Agent frameworks & builders](https://specstream.ai/integrations/base44.md)

## What you need

-   A Base44 account on the Builder plan or higher. A workspace owner or admin adds the custom integration, and then any member can use it in their apps.
-   A SpecStream account. New accounts get $10 of work on sign-up, no card. [Create one](https://specstream.ai/signup?utm_source=base44).

1.  1

    ## 1. Add SpecStream to the builder chat

    In Base44, click your workspace name at the bottom left, then **Account preferences**. Click **Builder**, scroll to **MCP Connections**, and click **Add custom MCP**.

    Set **Name** to `SpecStream` and **URL** to `https://api.specstream.ai/mcp`, and choose **OAuth** under **Authentication**. Click **Test & Add**, then complete the SpecStream sign-in. Requests run on the account that signs in, with its balance and spending limits.

2.  2

    ## 2. Ask in the chat

    Name SpecStream in your prompt:

    In the Base44 chat

    ```text
    Use the SpecStream MCP to find independent bookshops in Chicago, with each one's website, address, and opening hours, and build a map of them.
    ```

3.  3

    ## 3. Create a key for the published app

    A published app calls SpecStream with an API key. In the SpecStream workspace, open [Agents & API](https://specstream.ai/workspace/agents?tab=keys&utm_source=base44), choose **API keys**, then **Create API key**, and label it for the app. Keep the permissions that are already on, because running a request needs **Authorize paid work**.

    Click **Set a total limit** and enter the most the app may spend for all its visitors together. The key expires after 30 days unless you raise **Expires after, days**. Copy the key from the next screen. SpecStream shows it once.

4.  4

    ## 4. Add SpecStream as a custom integration

    Click your workspace name at the bottom left, then **Settings**. Under **Build tools**, click **Custom integrations**, then **Add integration**.

    Choose **From URL**, enter `https://api.specstream.ai/openapi.json` in **OpenAPI specification URL**, and click **Continue**. Select these five endpoints and click **Continue**:

    Endpoints

    ```text
    POST /v1/parse                  read the request
    POST /v1/capacity/quotes        get the price
    POST /v1/capacity/executions    approve the price and start the run
    GET  /v1/finds/{id}             the run's status
    GET  /v1/finds/{id}/rows        the results
    ```

5.  5

    ## 5. Add your key and create the integration

    Set **Slug** to `specstream` and **Name** to `SpecStream`, and check that **Base URL** is `https://api.specstream.ai`. Under **Custom Headers**, click **Add Header**. Enter `Authorization` as the name, and `Bearer`, a space, and your key as the value. Click **Create integration**.

    Base44 stores the key as an encrypted workspace secret and calls SpecStream from its backend, so the key never reaches a visitor's browser.

6.  6

    ## 6. Build the app

    Start a new app and mention SpecStream in its first prompt, so Base44 uses the workspace integration. Ask for a separate approval click before anything runs:

    First prompt of a new app

    ```text
    Build an app where a visitor describes the businesses they want. Use the SpecStream integration: call parseQuery with the text as q and show read_back. When status is runnable, call quoteCapacityWork with ast_hash and show maximum_cents as the price. Only when the visitor clicks Approve, call authorizeCapacityWork with quote_id, quote_hash, confirm_max_cents set to maximum_cents, and idempotency_key set to quote_id. Then list the rows from getFindRows with find_id, and read them again while getFind shows status running.
    ```

## Build time or live

Rows the builder chat brings in through MCP are written into the app when it builds, and they don't refresh in the published app. For data that changes, or requests your visitors write, use the custom integration.

## Who pays

The published app runs every request on the key in the integration, so every visitor spends from your SpecStream account. The key's total limit caps what the app can spend. A visitor sees the price before anything starts, a run never costs more than `confirm_max_cents`, and the same `idempotency_key` can't start a second run.

## Cost

Connecting SpecStream to Base44 is free. Reading a request and pricing it cost nothing. Each matching row costs 5¢, 15¢ or $1, depending on how much the row needs, plus 5¢ for a person's email and 15¢ for a phone. A quote lasts 30 minutes, a run can't cost more than the maximum you approved, and a run that finds nothing costs nothing. [Balance, quotes, and billing](https://specstream.ai/docs/billing.md) has the details.

## Remove

Turn SpecStream off with its toggle under **MCP Connections**, or remove it from its **More actions** menu with **Remove MCP**. Delete the integration from **Custom integrations** with **More actions**, then **Delete**, and apps that call it stop reaching SpecStream. Revoking the key under **Agents & API** cuts the app off at once. Your saved results stay in your workspace. Questions go to [support@specstream.ai](mailto:support@specstream.ai).

## More

[SpecStream for Base44](https://specstream.ai/integrations/base44.md) covers what it does in Base44 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).
