Bubble.io Development · API Integration

Bubble.io API Connector: Complete Guide for Founders and Builders

The API Connector is Bubble.io’s most powerful built-in tool. It connects your Bubble.io application to any REST API in the world — OpenAI, Stripe, Slack, Google, your own backend — without code. The complete setup process, the common patterns, and the mistakes that break API connections.

Any REST APIThe API Connector’s Scope
Initialise FirstThe Most Skipped Step
AuthenticationThe Most Common Failure Point
What the Bubble.io API Connector Is and What It Can Do

The Capability Overview

💡 Direct Answer

The Bubble.io API Connector is a built-in plugin (installed by default on all Bubble.io applications) that enables the application to make HTTP requests to external REST APIs from within Bubble.io workflows and data expressions. Using the API Connector, a Bubble.io application can: retrieve data from any external service that exposes a REST API (Google Sheets, Airtable, any CRM, any analytics platform, any weather API); send data to external services (create a record in HubSpot, send a Slack message, trigger a Zapier webhook); call AI APIs (OpenAI, Anthropic, Google Gemini) and display the responses in the application; receive webhook events from external services (Stripe payment events, GitHub push events, form submission notifications) via incoming API workflow endpoints; and expose the Bubble.io application’s own data via the Bubble.io Data API. The API Connector is the tool that connects a Bubble.io application to the broader ecosystem of web services — without it, a Bubble.io application is isolated; with it, it can integrate with any service that provides a REST API.

How to Configure an API in the Bubble.io API Connector

Step by Step

Step 1: Add a new API

In the Bubble.io editor, go to Plugins > API Connector > Add another API. Give the API a name that reflects the service being connected (OpenAI, HubSpot, Stripe Webhooks). The name is for internal reference only and does not affect the API call.

Step 2: Set the authentication method

Select the authentication method that the target API requires. The most common options: ‘Private key in header’ (for APIs that use a Bearer token in the Authorization header, including OpenAI, Anthropic, and most modern REST APIs); ‘OAuth2’ (for APIs that require user-specific OAuth authentication, including Google APIs, Salesforce, and Microsoft); and ‘None’ (for public APIs that require no authentication). Configure the authentication value in the shared headers section so it applies to all calls in this API without needing to be set on each individual call.

Step 3: Add an API call

Click ‘Add another call’ within the API. Set the HTTP method (GET, POST, PUT, PATCH, DELETE), the URL of the specific endpoint (e.g., https://api.openai.com/v1/chat/completions), any required headers not covered by the shared authentication, and the request body for POST/PUT/PATCH calls. For request bodies, use JSON format and mark any dynamic values (values that will change per call) as parameters by enclosing them in angle brackets: , , .

Step 4: Initialise the API call

Click ‘Initialise call’. Provide sample values for all parameters and run the initialisation. Bubble.io sends a real test request to the API with the sample values and uses the response to map the response data structure. This step is mandatory: without initialisation, Bubble.io does not know what data the API call returns, and the call’s response cannot be used in workflows or displayed in the application. Use realistic sample values for initialisation to ensure the response structure matches what the application will encounter in production.

Step 5: Use the API call in workflows and data expressions

After initialisation, the API call appears as an action option in Bubble.io workflows (‘API Connector > [API name] – [call name]’) and as a data source in dynamic data expressions. Dynamic parameter values (the values marked with angle brackets in step 3) are filled with Bubble.io data at runtime: a call to the OpenAI API uses the current user’s input as the user_message parameter; a call to HubSpot uses a Bubble.io record’s email field as the contact_email parameter.

The Three Most Common API Connector Mistakes

What Goes Wrong and How to Fix It

🔴

Skipping initialisation

An un-initialised API call cannot return usable data to the Bubble.io application. Always initialise every API call with realistic sample values immediately after configuring it. If the API response structure changes after initialisation, re-initialise the call to update Bubble.io’s mapping of the response data.

🔴

Hardcoding authentication keys in individual calls

Authentication keys (API keys, Bearer tokens, OAuth credentials) should be configured once in the API’s shared authentication settings, not repeated in the headers of each individual call. Hardcoding keys in individual calls means that when a key rotates, every call must be updated individually; shared authentication means only the API-level configuration needs to be updated.

🔴

Using the API Connector for services that have a dedicated Bubble.io plugin

For Stripe and for a small number of other services, Bubble.io maintains official plugins that provide a better integration experience than the API Connector alone. Check the Bubble.io plugin marketplace for an official or well-maintained plugin for the target service before configuring a raw API Connector integration.

Q: Can the Bubble.io API Connector receive webhook events from external services?

Yes — via Bubble.io’s ‘API Workflow’ feature. In the Bubble.io editor, go to Backend Workflows and create a new API Workflow with ‘This workflow can be run without authentication’ enabled. The workflow has a URL that can be configured as a webhook destination in external services (Stripe, GitHub, Typeform, etc.). When the external service sends a webhook event to this URL, Bubble.io runs the API Workflow with the webhook payload as the input data.

Q: How do I handle API rate limits in the Bubble.io API Connector?

Configure Bubble.io workflows to respect the target API’s rate limits by adding a delay between consecutive API calls in loops or batch processing workflows. For APIs with strict rate limits (OpenAI, for example, has per-minute token limits), implement a retry mechanism in the Bubble.io workflow: if the API call returns a 429 Too Many Requests response, schedule a retry workflow to run after a configurable delay.

Q: Can I call a Bubble.io API Connector endpoint from outside Bubble.io?

The API Connector is for outgoing calls from Bubble.io to external services. For incoming calls from external services to Bubble.io, use Bubble.io’s Data API (to expose Bubble.io database records to external systems) or Bubble.io’s API Workflows with public access enabled (to receive webhook events and data from external systems).

Ready to Build Your MVP?

SA Solutions builds MVPs in weeks using Bubble.io. Start with a free audit or scope your build in 48 hours with a Discovery Sprint.

Free MVP AuditDiscovery Sprint — $345

Bubble.io API Connector: Complete Guide for Founders and Builders
Simple Automation Solutions · sasolutionspk.com

Simple Automation Solutions

Business Process Automation, Technology Consulting for Businesses, IT Solutions for Digital Transformation and Enterprise System Modernization, Web Applications Development, Mobile Applications Development, MVP Development