Skip to the page

BubbleComing soon

Put live web data in a Bubble app without code. A visitor describes what they want, sees the price, approves it, and gets rows in a repeating group, each value with the page it was read from.

SpecStream for BubbleAgent frameworks & builders
SpecStream for Bubble is coming soon

Until the marketplace lists the plugin, Bubble's API Connector can make the same calls to the REST API at https://api.specstream.ai: POST /v1/parse, POST /v1/capacity/quotes, POST /v1/capacity/executions, and GET /v1/finds/{id}/rows. Each one carries the header Authorization: Bearer followed by your key.

What you need

  • A Bubble app.
  • A SpecStream account. It is free to start: $10 of work, usable for 30 days, with no card.
  • A SpecStream API key that carries a total spending limit.
  1. 1. Install the plugin

    In your Bubble app, install the SpecStream plugin from Bubble's plugin marketplace. The plugin is free.

  2. 2. Add your API key

    In the SpecStream workspace, choose Agents & API, then API keys, then Create API key. 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 your app may spend for all its visitors together. The key expires in 30 days unless you raise Expires after, days, and every call from the app fails once it does. Copy the key from the next screen. SpecStream shows it once.

    In the plugin's settings in Bubble, enter the key in the Authorization field with the word Bearer and a space in front of it:

    Authorization
    Bearer ss_live_...
  3. 3. Read the request and get the price

    Add a first button for visitors. In its workflow, run the plugin's Read a request action and set request to the text the visitor typed. Every response from SpecStream arrives inside data.

    When data status is runnable, run Get a price next. Set ast_hash to the data ast_hash from Read a request and rows to how many results the visitor wants. Any other status means the request needs more detail, such as the place.

    Show the visitor data read_back from Read a request, which says in plain words how SpecStream understood the request. Also show the price, data maximum_cents from Get a price. It is the most the run can cost, in cents, and it stays good for 30 minutes.

  4. 4. Approve and run on a click

    Add a second button next to the price. Its workflow runs Approve and run, and only this click should run it. Set quote_id and quote_hash from Get a price, and confirm_max_cents to data maximum_cents.

    The action sends the quote's ID as its request key, so a double click can't charge twice. SpecStream charges only for rows that match and never more than confirm_max_cents. The response carries data find_id, which the next step needs.

  5. 5. Show the rows

    Set a repeating group's data source to the plugin's Get rows, with find_id from Approve and run. It reads up to 100 rows. Each row has an entity_id and a list of cells. A cell holds the column's label, the value as display, and a provenance with the source_url the value was read from and observed_at, when it was read. Link source_url beside each value.

    Get a run reports the run's status. A run can take a few seconds or a few minutes. While status is running, read Get rows again after a short wait. Rows already found show up in the meantime.

Who pays

The app runs every request on the key you pasted, so every visitor spends from your SpecStream account. The total limit on the key is your cap on what the app can spend. A visitor sees the price before anything starts, and you pay only for rows that match.

If something doesn't work

What you seeWhat to do
Read a request returns a status other than runnableAsk the visitor for more detail, such as the place or what to bring back.
A call fails with 401The key expired or was deleted. Create a new key and replace the one in the plugin settings.
Approve and run fails with a message about a spending limitThe key or the account hit a spending limit. Raise the key's total limit under Agents & API.
Approve and run fails with "Add balance to continue"There isn't enough balance for the approved price. Add balance in your SpecStream workspace and approve again.
Get rows is emptyThe run may still be starting, or it found no matches. Look at status from Get a run, then read again.

Cost

The plugin is free. A run is paid from your SpecStream balance, from 10 cents a matching row, at the price the visitor saw. Reading rows and the run's status cost nothing. The full rates are on pricing, and balance, quotes and billing covers quotes.

Remove

Remove the plugin from your Bubble app. Deleting the key under Agents & API cuts the app off from SpecStream at once. Data your app saved from earlier runs stays in the app. Browse the other tools SpecStream connects to, or write to [email protected] if a step here doesn't match what you see.

More

SpecStream for Bubble covers what it does in Bubble 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 only the matches come out of your balance. Billing has the details. For help, email [email protected].