Leaving HubSpot doesn't mean leaving your data behind. Whether you're moving to Attio or just want a backup, exporting CRM data from HubSpot is straightforward: you can export contacts, companies, and deals to CSV from the HubSpot UI, then import that data into Attio or store it for reference. This guide covers how to export CRM data from HubSpot so you can migrate cleanly to Attio or keep a CSV archive.
What you can export from HubSpot
HubSpot lets you export contacts (people), companies, and deals. Each object can be exported to CSV with its standard and custom properties. You choose which properties to include in the export. Exports are limited by HubSpot's export caps (e.g. 1,000,000 rows for most tiers); for very large datasets you may need to export in batches or use the API. For most early-stage teams, the UI export is enough.
HubSpot export and data portability
Exporting contacts from HubSpot
In HubSpot, go to Contacts and use the "Export" option. Select the list or filter (e.g. all contacts, or contacts in a certain lifecycle stage). Choose the properties you need: email, first name, last name, company, lifecycle stage, and any custom properties you use in Attio or want to preserve. Export as CSV. You'll get a file with one row per contact and columns for each property. Check that required fields (e.g. email) are included and that date/number formats are consistent.
Exporting companies from HubSpot
Go to Companies in HubSpot and export similarly. Include company name, domain, industry, and custom properties that map to your Attio company attributes. If you have multiple companies with the same domain (e.g. subsidiaries), decide how you'll handle them in Attio — you may want to keep them separate or merge. Export in CSV; you can use the domain column later for deduplication in Attio.
Exporting deals from HubSpot
In Deals, select the pipeline and export. Include deal name, amount, close date, stage, and associated company and contact. HubSpot's deal stage names may not match Attio's — you'll map them when you import (e.g. "Closed Won" → "Closed Won"). Export all pipelines you care about; you can combine or filter in a spreadsheet before importing into Attio.
Custom properties and mapping
HubSpot custom properties export as columns with their internal names or labels. Note which custom properties you use for reporting or segmentation; map those to Attio attributes when you import. If Attio doesn't have an equivalent attribute, create it in Attio first, then map the CSV column on import. Standardising stage and status values in the CSV (e.g. normalising "Closed - Won" to "Closed Won") before import reduces errors.
Exporting for Attio migration
For a full migration to Attio, export companies first, then contacts, then deals. That way you have the same order as recommended for Attio import. Clean the CSVs if needed (remove test data, fix date formats), then use Attio's CSV import and map HubSpot columns to Attio attributes. After import, run deduplication (e.g. merge companies by domain) and verify pipeline stages.
API and bulk export for large datasets
If you have more records than the UI export allows or need automated exports, use the HubSpot API to fetch contacts, companies, and deals and write them to CSV or send them to Attio's API. HubSpot's API documentation describes the endpoints and rate limits. For one-off migrations with thousands of records, the UI export is usually sufficient; for ongoing sync or very large volumes, API or an integration tool may be needed.
Generate your Attio schema before importing
Generate your Attio schema with Wkspace
Before you import HubSpot data into Attio, define your Attio structure (objects, stages, attributes). Wkspace generates a complete Attio schema in about 60 seconds tailored to your business — then you import your HubSpot export into that schema and clean up. That way your new CRM is ready to use from day one.
Frequently asked questions
Is there a limit on how much I can export from HubSpot?
HubSpot limits export size (e.g. 1,000,000 rows for many tiers). For larger datasets, export in batches (e.g. by date or list) or use the API. Most early-stage teams stay well under the limit.
Can I export only active deals from HubSpot?
Yes. In HubSpot Deals, filter by pipeline and stage (e.g. exclude Closed Won and Closed Lost if you only want open deals), then export. You can also export everything and filter in a spreadsheet before importing to Attio.
Do I need to cancel HubSpot before exporting?
No. Export your data whenever you want. You can export multiple times before and after switching. Keep your HubSpot account active until you've verified the data in Attio and trained the team on the new CRM.
Will my HubSpot custom properties transfer to Attio?
They transfer as CSV columns. You map each column to an Attio attribute on import. If Attio doesn't have a matching attribute, create it in Attio first, then map. Some HubSpot-specific values (e.g. internal IDs) may not be needed in Attio — only map what you'll use.