# How to export a Bubble app

- Tool: Bubble
- Difficulty: Beginner
- Time required: 10-15 min
- Compatibility: All Bubble plans
- Last updated: March 2026

## TL;DR

Bubble does not offer true source code export, but you can export your app data via CSV, duplicate your app for backup, and use the Bubble API to extract database records. This tutorial walks through every available export option so you can back up your work or prepare for migration.

## Overview: Exporting Your Bubble App

This tutorial covers every method for getting your data and app structure out of Bubble. Whether you need a simple backup, want to migrate data to another platform, or are evaluating your options for long-term portability, you will learn exactly what Bubble allows you to export and how to do it step by step. This guide is for non-technical founders and builders who want to safeguard their work.

## Before you start

- A Bubble account with at least one app
- Data in your app's database that you want to export
- Basic understanding of Bubble's Data tab
- A spreadsheet application (Google Sheets or Excel) for opening CSV files

## Step-by-step guide

### 1. Export your database records as CSV

Navigate to your Bubble editor and click the Data tab in the left sidebar. Select the App data sub-tab. You will see a list of your Data Types on the left. Click the Data Type you want to export. In the upper-right area of the data table, click the Export button. Bubble will generate a CSV file containing all records for that Data Type. Repeat this for each Data Type you need. Note that linked records export as Unique IDs, not the full related data.

> Pro tip: Export all Data Types before making major changes, so you always have a rollback point in spreadsheet form.

**Expected result:** A downloaded CSV file for each Data Type containing all records and field values.

### 2. Duplicate your app as a full backup

Go to your Bubble dashboard at bubble.io/home. Find the app you want to back up. Click the three-dot menu icon on the app card and select Copy app. Give the copy a descriptive name like MyApp-Backup-2026-03. Bubble will clone the entire app including all pages, workflows, data types, styles, and plugins. Note that live database data is NOT copied — only the app structure.

> Pro tip: Create a dated backup copy before every major deployment or redesign.

**Expected result:** A new app appears in your dashboard that is an exact copy of your app's structure, without live data.

### 3. Enable the Data API for programmatic export

In your Bubble editor, go to Settings in the left sidebar, then click the API tab. Check the box labeled Enable Data API. Below that, you will see a list of your Data Types with checkboxes. Enable the ones you want to access via API. Each enabled Data Type gets a REST endpoint at https://yourapp.bubbleapps.io/api/1.1/obj/datatype. You can use this endpoint from tools like Postman or a simple script to pull all records as JSON.

```
GET https://yourapp.bubbleapps.io/api/1.1/obj/user
Authorization: Bearer YOUR_API_TOKEN

Response:
{
  "response": {
    "cursor": 0,
    "results": [
      {
        "_id": "1234567890x1234",
        "Created Date": "2026-01-15T10:30:00.000Z",
        "email": "user@example.com"
      }
    ],
    "remaining": 0,
    "count": 1
  }
}
```

> Pro tip: The Data API returns a maximum of 100 records per request. Use the cursor parameter to paginate through large datasets.

**Expected result:** Your Data API is live and returning JSON records when you hit the endpoint.

### 4. Download uploaded files from the File Manager

In the Data tab, click File manager in the left sub-menu. This shows all files uploaded to your app including images, documents, and videos. You can click each file to open it in a new tab and save it. For bulk downloads, the file URLs follow a predictable pattern. Extract them from your CSV export — any Image or File field contains the full URL — and use a browser download manager to save them all at once.

**Expected result:** All uploaded files are saved locally on your computer.

### 5. Document your workflows and page structure

Since Bubble does not export workflows or page logic as code, you should document them manually. Go to the Workflow tab and screenshot or note down each workflow, its trigger, and its actions. Use the Search tool (magnifying glass icon in the top toolbar) to find all references to key Data Types and elements. This documentation is essential if you ever need to rebuild the app on another platform.

> Pro tip: Use the Element Tree in the Design tab to map out your page structure — it shows every element in a nested hierarchy.

**Expected result:** A written or visual record of your app's logic, page structure, and key workflows.

## Complete code example

File: `Workflow summary`

```text
EXPORT WORKFLOW SUMMARY
======================

Step 1: CSV Export
  - Data tab → App data → Select Data Type → Export
  - Repeat for each Data Type
  - Save all CSVs in a dated folder

Step 2: App Duplication
  - Dashboard → App card → Three-dot menu → Copy app
  - Name: {AppName}-Backup-{Date}

Step 3: Data API Setup
  - Settings → API → Enable Data API
  - Check each Data Type to expose
  - Endpoint: https://{app}.bubbleapps.io/api/1.1/obj/{type}
  - Auth: Bearer token from Settings → API → API Token
  - Paginate with ?cursor=0 (100 records per page)

Step 4: File Download
  - Data tab → File manager → Open and save each file
  - OR extract file URLs from CSV exports

Step 5: Documentation
  - Workflow tab → Document each workflow
  - Design tab → Element Tree → Map page structure
  - Settings → Note all plugin configurations

IMPORTANT LIMITATIONS:
- Bubble does NOT export source code
- Workflows and page logic cannot be exported
- Live database data is NOT included in app duplication
- Linked records export as Unique IDs in CSV
```

## Common mistakes

- **Assuming app duplication includes live data** — Bubble's Copy app feature clones the structure (pages, workflows, data types, styles) but not the actual database records Fix: Always export your database as CSV separately before duplicating, so you have both structure and data backed up
- **Forgetting to export related Data Types** — CSV exports show linked records as Unique IDs, which are meaningless without the related Data Type's CSV Fix: Export every Data Type in your app, not just the main ones, so you can reconstruct relationships later
- **Not paginating API exports** — The Data API returns only 100 records per request — if you have more, you will miss data Fix: Use the cursor parameter to paginate: start at cursor=0, then use the returned cursor value for the next request

## Best practices

- Create a dated backup copy of your app before every major update or deployment
- Export all Data Types as CSV at least monthly for data redundancy
- Store backup CSVs and file downloads in a cloud storage service like Google Drive
- Enable the Data API early so you have a programmatic export path ready
- Document your workflows and page structure as you build, not just when exporting
- Test your CSV imports in a spreadsheet to verify all data exported correctly
- Keep a changelog of major app changes to make future migration easier

## Frequently asked questions

### Can I export Bubble app source code?

No. Bubble does not provide source code export. Your app logic, workflows, and page designs exist only within the Bubble platform. You can export database data via CSV or the Data API, but not the application code itself.

### Does duplicating an app copy the live database?

No. Duplicating an app copies the structure — pages, workflows, data types, styles, and plugins — but not the live database records. Export your data separately via CSV.

### How many records can I export via the Data API at once?

The Data API returns a maximum of 100 records per request. Use the cursor parameter to paginate through larger datasets by setting cursor to the value returned in the previous response.

### Can I import my exported CSV data into a new Bubble app?

Yes. In the new app, go to Data tab, App data, select the Data Type, and click the Upload button. Map the CSV columns to the correct fields. Linked records must be re-linked using Unique IDs.

### Is there a way to automate regular backups of my Bubble app?

You can schedule a backend API workflow that calls the Data API on a recurring basis and sends the data to an external service. For complex backup needs, RapidDev can help set up automated export pipelines that run on a schedule.

### What happens to my files when I export?

File and image fields in CSV exports contain the full URL to the hosted file. You need to download each file separately. The File Manager in the Data tab lets you view and download files one at a time.

### Can I transfer my Bubble app to another account?

Yes. Go to Settings, then the General tab, and use the Transfer app option. The recipient must accept the transfer. This moves the entire app including live data.

---

Source: https://www.rapidevelopers.com/bubble-tutorial/export-your-app-from-bubble
© RapidDev — https://www.rapidevelopers.com/bubble-tutorial/export-your-app-from-bubble
