Call Sheet Best from Bubble
Sheet Best is a standard REST API, so a Bubble app can talk to it through the built-in API Connector plugin — no custom plugin needed. The examples below show the request shapes you'll configure as API calls.
Before you start
- A Sheet Best connection. See the quickstart.
- A Bubble app with the API Connector plugin installed.
- An API key only if your connection is protected. See API key authentication.
Setting up the API in Bubble
In the API Connector, add a new API for Sheet Best. The two pieces you need are:
- Base URL:
https://api.sheetbest.com/sheets/<id> - Shared header (optional):
X-Api-Key: <your-key>if your connection is protected
Each API call below can then reuse those shared settings.
Reading rows (GET)
Configure an API call with method GET and your connection URL. The response is a JSON array of row objects keyed by your sheet's column headers — initialize the call so Bubble can detect the response schema.
- All rows
- Specific tab
- Filter by column
By default values come back as strings. Add ?_raw=1 if you need native JSON types — see formats.
Writing rows (POST)
Configure an API call with method POST, your connection URL, and a JSON body. Sheet Best accepts a single object or an array of objects (one row per element). Mark each body field as a parameter so you can bind it to Bubble inputs at action time.
{
"Name": "<Name>",
"Email": "<Email>"
}
Make sure the call's body type is JSON. Field names must match your sheet's column headers.
Authenticating
For a protected connection, add an X-Api-Key header — either as a shared header on the API as a whole, or per call:
X-Api-Key: <your-key>
Updating and deleting rows
The same pattern applies to other verbs:
PATCH/PUT— see update rowsDELETE— see delete rows
Target a specific row by including a column match in the URL, for example PATCH /sheets/<id>/Email/[email protected].