How to Export and Back Up an Airtable Base

If you want to download an entire Airtable base, there is no single Export base button. Airtable lets you download each table as a CSV, use the API to retrieve records as JSON, or take a snapshot that you can restore inside Airtable.

The right option depends on what you need to keep. A CSV is useful for reading or moving table data. A snapshot is useful when you need to bring a base back after a bad change. An external backup is better when you want a copy outside Airtable.

Airtable data flowing into CSV, JSON, a snapshot, and an external backup

First choose what you need to keep

What you needUse
A previous version of the baseAn Airtable snapshot
A readable copy of a tableCSV export
Records in JSON or a repeatable exportAirtable's API
Records and attachments outside AirtableAn external backup tool or your own script

Use a snapshot to restore the base

Use a snapshot before a large change, such as deleting records, changing several fields, or updating an automation. It saves the base as it was at that point, including its tables, fields, views, records, automations, interfaces, and extensions.

To take one, open the base and click the base history icon in the upper-right corner. Open Snapshots, then select Take a snapshot.

Airtable also takes snapshots automatically based on how often the base is used. You cannot set an exact schedule for those snapshots, so take a manual one before a change you are about to make.

To restore one, open the same Snapshots panel and choose the snapshot you need. Airtable creates a new base from that snapshot. It does not overwrite the base you are currently using.

The restored base keeps record, table, view, and interface page IDs, but it receives a new base ID. Update any outside service that points to the old base before using the restored copy as your live base. A restored base also does not include the original record revision history.

Snapshot retention depends on your plan. Airtable currently keeps snapshots for two weeks on Free, one year on Team, two years on Business, and three years on Enterprise Scale. See Airtable's snapshot documentation for the current plan details.

Export each table as a CSV

CSV is the simplest choice when you need a readable copy of your records or want to move the data into Excel or Google Sheets.

Open the table, open the grid view you want to export, and click the arrow next to the view name. Select Download CSV.

The export follows the view. Remove the view's filters first if you want every record from the table. Airtable exports one table at a time, so repeat these steps for each table in the base.

CSV is not a complete base backup. It does not preserve field types, formulas, views, automations, interfaces, or linked-record settings. Airtable also puts attachment filenames and temporary download URLs in the CSV instead of putting the files inside it. Those URLs expire, so download the files separately while they are still available. See why Airtable attachment links stop working for more about this limitation.

For the full list of CSV limitations, see Airtable's view export documentation.

Export Airtable to JSON

Use Airtable's Web API when you need a structured export for an app, another database, or a repeatable backup process. The API returns records as JSON instead of making you download each table by hand.

Your personal access token needs access to the bases you want to export. To retrieve records and the base schema, use the data.records:read and schema.bases:read scopes.

An API export still works one table at a time. Airtable returns records in pages of up to 100, so your script or export tool needs to request every page. For a large base, it also needs to stay within Airtable's limit of five requests per second for each base.

The API response includes attachment information, but not a permanent copy of the files. Download each attachment while processing its record instead of saving only the URL.

JSON is useful for rebuilding or processing the data, but it is not a file that Airtable can restore as a complete base with one click. You will still need to recreate parts of the Airtable setup, such as interfaces and automations, unless the tool you use supports those parts separately.

For more detail, see Airtable's Web API documentation and how Airtable handles attachment URLs.

Back up attachments outside Airtable

If the attachments matter, make sure your backup stores the actual files. A CSV or JSON file that contains only Airtable attachment URLs will not protect those files after the URLs expire.

You can download the files with your own script, or use an external backup service such as On2Air Backups or ProBackup. These services can also keep recurring copies of your Airtable data outside the workspace.

If you already use Make, you can build a scheduled workflow that copies selected records and files to another location. This is useful for a specific backup workflow, but it does not automatically reproduce the complete Airtable base.

For important bases, use both a snapshot and an external backup. The snapshot helps you recover the Airtable setup, while the external copy protects the data from problems inside the workspace or account.

For a separate history table that records how your data changes over time, see How to Take Regular Data Snapshots in Airtable. If you need to recover records that were deleted, see How to Restore Deleted Records in Airtable.