For Agents
Read, write, update, and delete records in any Bubble app's data types via REST, including bulk creation and constraint-based search.
Get started with Bubble Data API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a record in a Bubble app"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Bubble Data API API.
List and filter records of any Bubble data type using constraints and cursor pagination
Create individual records in a typed Bubble database table with createRecord
Bulk-insert records of the same type in a single request via /obj/{typename}/bulk
Retrieve a single record by its Bubble unique ID for read-then-update workflows
GET STARTED
Use for: Create a new user record in my Bubble app, I need to fetch all order records created in the last 7 days, Update the status field on a Bubble record by its unique ID, Delete a record from a Bubble data type
Not supported: Does not handle Bubble workflow execution, plugin management, or page rendering — use for CRUD on Bubble data types only.
The Bubble Data API exposes a Bubble application's database as a typed REST surface for creating, reading, updating, replacing, and deleting records on any custom data type. Endpoints are scoped to a type name (for example /obj/user or /obj/order), with constraint-based filtering, pagination, and bulk creation supported. It is the integration entry point for connecting external services, agents, and back-office tooling to a Bubble no-code application.
Patch specific fields on a record without replacing untouched values via updateRecord
Replace an entire record's fields in one call when the new state is known
Delete a record by ID for cleanup or right-to-erasure flows
Patterns agents use Bubble Data API API for, with concrete tasks.
★ External Service Sync into a Bubble App
Push records from external systems such as a CRM, billing platform, or form builder into a Bubble application's database so the no-code front end stays in sync. Use createRecord for individual events and bulkCreateRecords for batch imports. The bearer-token model means a backend job can authenticate once and write to any data type exposed in the Bubble Data API settings.
POST a JSON array of products to /obj/product/bulk to insert all records in a single request
Headless Back-Office Operations
Run admin tasks like bulk updates, status changes, and cleanups against a Bubble app without opening the visual editor. listRecords with constraints filters records that need attention, then updateRecord patches fields in place or deleteRecord removes obsolete entries. This pattern keeps operational chores off the no-code canvas and into auditable scripts.
Call listRecords on /obj/order with a constraint where status equals 'pending' and updated_date is older than 7 days, then call updateRecord on each ID to set status to 'expired'
Reporting and Analytics Export
Pull data out of a Bubble app for analytics, BI dashboards, or warehouse loading. The listRecords endpoint accepts cursor-based pagination so a job can iterate through large data types and stream records into a downstream pipeline. Constraints restrict the export to recent records when running incremental syncs.
Call listRecords on /obj/event with a created_date constraint and cursor pagination until all rows are exported to the analytics warehouse
AI Agent CRUD Through Jentic
Allow an AI agent to read and write records in a Bubble app on a user's behalf without storing the API token in the agent runtime. Through Jentic, the agent searches by intent, loads the schema for the relevant operation against /obj/{typename}, and executes with the typename and payload supplied by the user's request. The Bubble bearer token stays in the Jentic vault for the duration of execution.
Use Jentic to search 'create a Bubble record', load the createRecord schema, and execute against /obj/user with the new user fields
7 endpoints — the bubble data api exposes a bubble application's database as a typed rest surface for creating, reading, updating, replacing, and deleting records on any custom data type.
METHOD
PATH
DESCRIPTION
/obj/{typename}
List and search records of a data type with constraints and pagination
/obj/{typename}
Create a new record on a data type
/obj/{typename}/bulk
Bulk-create records on a data type
/obj/{typename}/{uid}
Retrieve a record by its Bubble unique ID
/obj/{typename}/{uid}
Update specific fields on a record
/obj/{typename}/{uid}
Replace an entire record's fields
/obj/{typename}/{uid}
Delete a record by ID
/obj/{typename}
List and search records of a data type with constraints and pagination
/obj/{typename}
Create a new record on a data type
/obj/{typename}/bulk
Bulk-create records on a data type
/obj/{typename}/{uid}
Retrieve a record by its Bubble unique ID
/obj/{typename}/{uid}
Update specific fields on a record
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Bubble app's API token is stored encrypted in the Jentic vault. Jentic injects it as the Authorization: Bearer header at execution time so the raw token never appears in the agent's prompt, logs, or browser network tabs.
Intent-based discovery
Agents search by intent (e.g., 'create a Bubble record') and Jentic returns the matching CRUD operation on /obj/{typename} with its schema, so the agent calls createRecord without learning Bubble's data type naming conventions.
Time to first call
Direct Bubble Data API integration: half a day to wire up auth, constraint encoding, and pagination. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Buddy Works API
Triggers CI/CD pipelines that can in turn write deployment metadata into a Bubble database
Pair when an agent should record build status from Buddy into a Bubble app for non-technical visibility
Buffer API
Schedules social posts whose IDs and metrics can be persisted into a Bubble app
Use when an agent needs to log Buffer post IDs into a Bubble data type for the no-code dashboard
Bruzu API
Generates per-record share images that can be stored on a Bubble record
Pair Bruzu with Bubble when an agent should render a graphic for each new record and save the URL on the record
Specific to using Bubble Data API API through Jentic.
What authentication does the Bubble Data API use?
The Bubble Data API uses HTTP bearer authentication. You generate an API token in the Bubble app's Settings → API tab and pass it as Authorization: Bearer <token>. Through Jentic the token is stored encrypted in the vault and injected at execution time, so the agent never sees the raw token in its prompt or logs.
Can I bulk-create records with the Bubble Data API?
Yes. POST a JSON array of records to /obj/{typename}/bulk and Bubble inserts them in a single request, returning the IDs of the created records. This is faster than calling createRecord per row when importing batches and avoids hitting per-second rate limits during onboarding migrations.
What are the rate limits for the Bubble Data API?
Rate limits depend on the Bubble plan; production apps share a per-app capacity that increases with paid tiers. The spec does not encode specific values — see your app's Settings → Logs for current capacity. When throttled the API returns an error response and clients should back off before retrying.
How do I list filtered records through Jentic?
Install the SDK with pip install jentic, search for 'list Bubble records', load the listRecords schema, and execute it against /obj/{typename} with a constraints array. Each constraint specifies a key, constraint_type (equals, greater than, etc.), and value. Jentic handles pagination cursors automatically when you iterate the result.
Which data types are exposed by the API?
Only the data types you have explicitly enabled in the Bubble app's API tab are reachable. Each enabled type appears at /obj/{typename} where {typename} is the lowercase, hyphenated form of the type's name in the editor. Types that are not exposed return a 404.
Is the Bubble Data API free?
The Data API is included on Bubble's paid plans (Starter and above). Free apps cannot enable the API. Per-app capacity and concurrency scale with the plan tier — see bubble.io/pricing for current details.
/obj/{typename}/{uid}
Replace an entire record's fields
/obj/{typename}/{uid}
Delete a record by ID