How to Export Data from HubSpot: CRM, Reports & Files

HubSpot lets you export CRM records, reports, dashboards, and files directly from the platform in CSV, Excel, or XLS format. The exact steps depend on what type of data you need. Below is a walkthrough of each export method, from basic contact lists to API-powered bulk extractions.

Exporting CRM Records

This is the most common export. It covers contacts, companies, deals, tickets, calls, appointments, and custom objects. To get started, navigate to the object you want to export. For contacts, go to CRM > Contacts. For deals, CRM > Deals. The pattern is the same across all standard objects.

Once you’re on the object page in list view, click the Export button in the top right of the table. If you’re using board view (common for deals and tickets), click Board options in the top right, then select Export view. A dialog box will appear where you can choose your file format (CSV, XLSX, or XLS), name your export file, and pick the language for column headers.

By default, HubSpot only exports the properties and associations visible in your current view. Each association column will include up to 1,000 associated record IDs and the associated record name. If you need more than what’s shown in the view, click Customize in the export dialog to add properties or pull in all associations. A couple of useful options here: for contacts with multiple email addresses, you can check a box to include all of them, and for companies with multiple domains, there’s a similar checkbox. If you export all properties, columns appear alphabetically, with Record ID always in the first column.

For associations specifically, the default caps at 1,000 associated records per column. If you need all associations and you’re exporting to CSV, you can select the “All associated records” option, which is only available for CSV files.

Exporting Reports and Dashboards

If you’ve built custom reports or dashboards, you can export the underlying data rather than just taking a screenshot. Navigate to Reporting > Reports, hover over the report you want, click Actions, then Share via, and select Email. From there, you can attach a downloadable data file in your preferred format.

You can also export directly from a dashboard. Go to Reporting > Dashboards, find the report tile, click the three-dot menu in its top right corner, and choose Share via > Email.

What ends up in the export depends on the report type. Single object reports export with whatever properties you added to the Selected properties section of the Data tab in the report builder. Advanced custom reports export with fields from the Configure tab. Keep in mind that several report types don’t support data file attachments: web analytics reports, email-type reports, annotations, unified data type reports, and sales analytics widgets.

Scheduling Recurring Exports

Rather than manually exporting reports, you can schedule them to land in inboxes on a set cadence. When setting up the email share, select “Yes, this is a recurring email,” then choose daily, weekly, or monthly delivery. For weekly or monthly schedules, you pick the specific day or date. You also set the time of day, and HubSpot captures the report data two hours before that send time. Recipients can be internal HubSpot users or external email addresses, as long as those addresses use a verified domain.

Exporting Files From the File Manager

Images, PDFs, videos, and other assets stored in HubSpot’s file manager can be exported as a ZIP file. Navigate to Content > Files (or, if you’re on free tools, Marketing > Email, then click Email tools > Files).

In list view, select the checkboxes next to the files and folders you want, then click Export (ZIP) at the bottom of the screen. You can navigate between pages while selecting files without losing your selections. In grid view, hover over files to select them or click and drag a selection box. Either way, HubSpot processes the export and sends you a download link via email and through the in-app notification center. Super Admin permissions are required for file exports.

Permissions You’ll Need

You need Export permissions on your HubSpot user account to export any CRM records. If your account doesn’t have an Export button where you expect one, your admin likely hasn’t granted you that permission.

HubSpot also offers an optional approval layer. A Super Admin can require that exports go through an approval process, meaning you’d submit an export request and wait for someone with the Exports Approver permission to approve it. Super Admins can approve exports by default and can always export without needing approval themselves. To give another user either the Exports Approver permission or the ability to export without approval, an admin goes to Settings > Users & Teams, hovers over the user, clicks Edit permissions, expands the CRM Tools section, and toggles the relevant permission on.

If your organization handles sensitive data, this approval workflow adds a layer of oversight. But for smaller teams, it’s typically left off.

Using the API for Bulk Exports

For developers or teams that need to automate exports or pull large datasets on a schedule, HubSpot offers an Exports API. This is especially useful for syncing HubSpot data with external databases, data warehouses, or BI tools.

To start an export programmatically, send a POST request to /crm/v3/exports/export/async. The request body specifies the file format (CSV, XLSX, or XLS), the object type you’re exporting, which properties to include, and up to four associated object types. You also set the export type: VIEW to mirror what you’d see on an object index page, or LIST to export a specific list.

For standard objects like contacts or deals, you can reference them by name in the request. Custom objects require the objectTypeId value instead. By default, associations are capped at 1,000 per row, but you can override that by including the overrideAssociatedObjectsPerDefinitionPerRowLimit field set to true.

Once the export kicks off, check its status with a GET request to /crm/v3/exports/export/async/tasks/{exportId}/status. The response returns a status of PENDING, PROCESSING, COMPLETE, or CANCELED. When the status is COMPLETE, you get a download URL, but act fast: the link expires five minutes after the request.

API Limits to Know

You can run up to 30 exports within any rolling 24-hour window, and only one export at a time. Large exports get automatically split: CSV and XLSX files exceeding 1,000,000 rows arrive as a ZIP archive, as do XLS files with more than 65,535 rows. CSV files larger than 2MB are also zipped regardless of row count.

Authentication matters here too. If you’re using OAuth, the user who installs the app must be a Super Admin to grant the crm.export scope.

Choosing the Right File Format

HubSpot offers three formats across most export methods. CSV is the most universally compatible and the only format that supports exporting all associated records beyond the 1,000 default. XLSX works well if you plan to open the file in Excel or Google Sheets and want to preserve formatting. XLS is the legacy Excel format with a much lower row limit (65,535 rows before it splits into multiple files), so there’s rarely a reason to choose it over XLSX unless you’re working with older software.

For most use cases, CSV is the safest bet. It’s lightweight, opens in virtually any tool, and handles the largest datasets without splitting files as quickly.