Home / Compare builders / SPOE vs Bubble / How to export from Bubble
Can you export your code from Bubble? No, but here is what you can take
Bubble has no code to export: its manual says Bubble apps run only on Bubble and cannot be exported as code, so leaving means rebuilding the app's logic somewhere else. What comes out is your data, a data type at a time as CSV, JSON or NDJSON from the editor's Data tab on a paid plan, or through its Data API for a script. Uploaded files sit on Bubble's file storage, where the File manager lists them, and the database holds only a link to each one.
From Bubble's own docs, read 2026-10-26. Every step links to the page it is from.
Your data, a data type at a time (paid plans)
- In the editor, go to Data, then App data. The development and live versions of your app have separate databases: switch between them in the upper right, with Switch to Live or Switch to Dev. (source)
- Select the data type you want to export, and set up the view to show the list you want to export. (source)
- Click Export and pick CSV, JSON or newline-delimited JSON (NDJSON). Bubble emails you a link to download the file when the export is done. (source)
Your data, through the Data API
- In Settings, then API, check This app exposes a Data API, then pick, one by one, the data types it exposes. (source)
- On the same page, scroll down and click Generate a new API token. It gives unrestricted access to the database, for the data types you exposed. (source)
- Send the token in the Authorization header of each request, as Bearer followed by the token. (source)
- List a data type with GET https://appname.bubbleapps.io/api/1.1/obj/typename, with your app's name and the data type's, and page through it with the cursor and limit parameters. Each response says how many records remain. (source)
Your uploaded files
- Go to the Data tab, then File manager, to see and search every uploaded file. Development and Live files are listed apart: the link in the upper-right corner switches between them. (source)
- Click View beside a file to preview it. From the File manager you have admin access, so private files open too. (source)
What comes out
- Your data as CSV, JSON or NDJSON, one data type at a time. (source)
- Every field in the current view, with no privacy rules applied, since the app owner runs the export. (source)
- Bubble's manual says you own your data: your app's design and the data your users upload, subject to your agreement with them. (source)
- A file or image field holds only a URL pointing to the file on another server, not the file itself. (source)
What stays behind, and needs replacing
- The app itself: Bubble apps run only on Bubble, with no way of exporting one as code, and Bubble keeps ownership of the code that powers it. (source)
- Leaving means rebuilding the app's logic; Bubble says it can help you export the design. (source)
- If Bubble were ever discontinued, its manual says Bubble's source code would be released under an open-source licence, so apps could run on a self-hosted Bubble server. (source)
- Exporting from the Data tab needs a paid Bubble plan. (source)
- Development and Live keep separate databases and separate file storage, and deploying to Live does not copy files across. (source)
- The Data API reaches only the first 50,000 items of a list (10,000,000 on Enterprise): past that, a request returns nothing. (source)
- An export waits its turn on the same scheduler as API workflows, so it can be delayed when many tasks are queued. (source)
- Date interval fields export as descriptive text, such as "2 days", though they are stored in milliseconds. (source)
Not on Bubble's pages
- A way to download all your uploaded files at once.
- Whether an export includes anything that lets your users sign in somewhere else, such as password hashes.
- Whether you can still export after a paid plan ends.
How SPOE differs
- The whole project. A SPOE export is the whole project: the code, the Docker files that start it and, for a full-stack app, its database migrations, with a signed provenance manifest and the verifier inside. It starts with docker compose up, with nothing of SPOE inside, so there is nothing of ours to replace.
- Signed and recorded. Every export is signed by SPOE: an Ed25519-signed provenance manifest, with a record of it on APIR's hash-chained log. APIR is a sister company of SPOE, run by the same founder. spoe.ai/verify checks every file and that spoe.ai signed it, in your browser, so anyone can prove the code is exactly what was exported.
- Yours for good. Your first payment of any size unlocks export permanently, whether or not you ever pay again. Locked or not, the code is always visible and copyable in the editor.
- Coming from Bubble. SPOE does not import a Bubble project. If the app is live and you can show the site is yours, with a DNS record, a file on it or a tag in its pages, Bring your site copies the page at that address, with its styles and pictures, into a SPOE project to keep building; the data and the logic behind it are not copied. Otherwise, describe the app to SPOE and it is built as a Next.js, Fastify and Postgres project you hold. Keep your Bubble export either way: it is yours.
SPOE vs Bubble
Export guides for Lovable · Bolt · Base44 · v0 · Replit · Emergent · Rocket · Anything · Softr
How it works · Features · Models · Pricing · Docs · Blog · Handle checker · App ideas · Templates · Arcade · Compare builders · Alternatives · Best AI app builders · Verify an export · Developer API · Start free