Skip to main content

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.

GET https://api.sheetbest.com/sheets/<id>

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>

See API key authentication.

Updating and deleting rows​

The same pattern applies to other verbs:

Target a specific row by including a column match in the URL, for example PATCH /sheets/<id>/Email/jane@example.com.

Next steps​