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 & buildersUntil 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 - 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
requestto the text the visitor typed. Every response from SpecStream arrives insidedata.When
data statusisrunnable, run Get a price next. Setast_hashto thedata ast_hashfrom Read a request androwsto how many results the visitor wants. Any other status means the request needs more detail, such as the place.Show the visitor
data read_backfrom Read a request, which says in plain words how SpecStream understood the request. Also show the price,data maximum_centsfrom 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_idandquote_hashfrom Get a price, andconfirm_max_centstodata 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 carriesdata 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_idfrom Approve and run. It reads up to 100 rows. Each row has anentity_idand a list ofcells. A cell holds the column'slabel, the value asdisplay, and aprovenancewith thesource_urlthe value was read from andobserved_at, when it was read. Linksource_urlbeside each value.Get a run reports the run's
status. A run can take a few seconds or a few minutes. Whilestatusisrunning, 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 see | What to do |
|---|---|
Read a request returns a status other than runnable | Ask the visitor for more detail, such as the place or what to bring back. |
| A call fails with 401 | The 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 limit | The 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 empty | The 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].