Importing leads into HubSpot works in four ways: via manual CSV import through the HubSpot import tool, via native integrations and no-code middleware like Zapier, via the HubSpot API, or via 1-click direct export from a lead generation software like anilead.io. Which route is right depends on how often you import, how clean your source data is, and how much manual work you are willing to accept. This guide explains all four methods step by step — with required fields, field mapping, duplicate handling, a comparison table, and the most common import errors along with their fixes.
To set the scope: this article covers the import itself — that is, the question of how to get existing leads into HubSpot in a technically clean way. How to additionally build a permanent, automated lead inflow that fills your CRM with new, qualified contacts week after week is shown in our separate guide automatically filling your HubSpot CRM with B2B leads.
Which ways are there to import leads into HubSpot?
There are four established ways to import B2B leads into HubSpot: manual file import (CSV, XLSX, XLS), native integrations including middleware like Zapier or Make, the HubSpot API for developers, and direct export from a lead generation tool. All four ultimately create contacts (and optionally companies or deals) in HubSpot — they differ mainly in effort, error-proneness, and degree of automation.
- CSV import: ideal for one-off or occasional imports of existing lists, for example during a CRM migration or after a trade fair
- Native integrations and Zapier: suitable when leads regularly originate in another tool (forms, Google Sheets, webinar software) and should flow into HubSpot automatically
- HubSpot API: the most flexible solution for developer teams with their own data sources, such as product signups or a data warehouse
- Direct export from a lead tool: the fastest route for teams that actively generate new B2B leads and want to transfer selected contacts into the CRM without an intermediate step
A clean pipeline does not begin with the import, but with the selection: only qualified leads belong in the CRM. How to prioritize leads before importing is explained in our article on AI lead scoring.
How does the CSV import in HubSpot work step by step?
The CSV import in HubSpot runs via CRM → Contacts → Import and consists of five steps: prepare the file, choose the object type, upload the file, map the columns to HubSpot properties, and check the duplicate settings. For occasional imports, this is the simplest entry point — no additional tools required.
- Prepare the file: According to the official documentation, HubSpot accepts CSV, XLSX, and XLS files with exactly one sheet, one header row with column names, and fewer than 1,000 columns. If the file contains umlauts or special characters, it must be UTF-8 encoded — the most common stumbling block with German datasets.
- Start the import: In HubSpot, click Contacts → Import → Start an import and choose "File from computer".
- Choose the object type: Contacts only, companies only — or both simultaneously in one file (multi-object import). For B2B leads, the combined import is recommended so that contacts are automatically associated with their companies.
- Map the columns: HubSpot automatically suggests a property for each column. Check every mapping manually — especially with German column names like "Telefonnummer" or "Ort", which HubSpot does not always recognize correctly. You can exclude columns you do not need from the import.
- Duplicates and completion: The email address is the primary unique identifier for contacts. If a contact with the same email already exists, HubSpot updates the existing record instead of creating a duplicate. After the import, HubSpot shows a summary with successes and error rows.
Tip: Create a list right during the import (e.g. "Import Leads March 2026"). That way, you immediately have all imported contacts as a segment for follow-up work, tasks, or reporting. The complete file requirements are documented in HubSpot's official guide to setting up import files.
Which required fields does HubSpot demand for contact imports?
For contact imports, HubSpot requires at least one of the three fields first name, last name, or email address; for company imports, at least the company name or the domain. In practice, you should always include the email address anyway, because only it reliably prevents duplicates as the unique key. For file sizes, according to the HubSpot documentation (as of July 2026), free accounts allow a maximum of 20 MB per file, paid accounts up to 512 MB, and a maximum of 1,048,576 rows per file.
| HubSpot field | Description | Required? |
|---|---|---|
| Primary unique identifier, prevents duplicates | At least one of email, first name, or last name | |
| First name / Last name | First and last name of the contact person | See above |
| Company name | Name of the company | Recommended (required for company imports, alternatively the domain) |
| Phone number | Phone number | Optional |
| Website URL | Company website | Optional |
| Job title | The contact's position | Optional |
| Lead source | Origin of the lead, important for ROI tracking | Recommended |
| Lifecycle stage | Lead, MQL, SQL etc. | Recommended |
| City / Country | Location for regional segmentation | Optional |
What do native integrations and Zapier deliver for HubSpot imports?
Native integrations and middleware like Zapier connect your lead sources permanently to HubSpot: as soon as a new record is created in the source, it is automatically created or updated as a contact — no CSV file and no manual mapping on every run. This pays off as soon as leads arrive regularly in the same format.
- Zapier: Connects hundreds of tools to HubSpot. A typical example: new row in Google Sheets → contact automatically created in HubSpot. Quick to set up, but limited per execution by your Zapier quota.
- Make (formerly Integromat): More flexible for data transformations and branching — better suited when data needs to be cleaned or enriched before the import.
- HubSpot App Marketplace: Many form, webinar, and event tools come with ready-made HubSpot integrations that work without middleware.
- HubSpot Data Sync: HubSpot's native synchronization keeps data bidirectionally up to date between HubSpot and other systems, depending on the feature scope and plan you use.
The downside of all middleware solutions: every additional connection is a potential source of error. Field changes in the source silently break the mapping, and troubleshooting spreads across three systems. For business-critical lead flows, you should plan for monitoring.
When is importing via the HubSpot API worthwhile?
The HubSpot API is worthwhile when leads originate in your own systems — such as product registrations, a data warehouse, or a self-developed application — and your team has developer capacity. Via the CRM API, contacts, companies, and deals can be created individually or in batches, upserted by email address (create or update in a single call), and populated with arbitrary custom properties.
Access works through a private app with an access token, which you create in the HubSpot settings. The API is the most powerful but also the most demanding route: you are responsible for error handling, rate limit handling, and duplicate logic yourself. For standard use cases — getting leads from a lead generation software into the CRM — a ready-made integration is almost always the more economical choice, because it already ships with exactly this error handling.
How does anilead.io export leads to HubSpot with one click?
anilead.io is a B2B lead generation software for the DACH market that finds companies via Google Places, extracts email addresses, and scores every lead with Claude AI. You export the found leads to HubSpot directly from the lead list — no CSV file, no mapping, no middleware:
- Select leads in anilead.io — for example filtered by AI score, status, or industry
- Click "HubSpot Export"
- anilead.io creates the leads as contacts in HubSpot — with email, first and last name, phone, company name, position, and website; the lifecycle stage is automatically set to "Lead"
- For each contact, an associated deal is additionally created in the default pipeline, whose name includes the company and project — so the origin of every lead remains traceable in the CRM
The export handles duplicates automatically: before creating anything, anilead.io checks by email address whether the contact already exists in HubSpot. If so, the existing record is updated instead of duplicated; leads exported earlier are skipped. Every export is also logged, so you can always trace which lead was transferred when. The HubSpot export is included in all plans — including the Free plan with 50 lead credits per month, no credit card required. So you can test the complete route from search to CRM entry for free.
Import routes compared: effort, error-proneness, automation
The four import routes differ significantly in setup effort, ongoing effort, and error risk. The table summarizes which route fits which scenario:
| Import route | Effort | Error-proneness | Automation | Suitable for |
|---|---|---|---|---|
| CSV import | Medium — again with every import | High (encoding, mapping, formats) | None | One-off imports, CRM migration, trade fair lists |
| Zapier / Make | Medium once, then low | Medium (silent failures on field changes) | High | Recurring leads from forms and tools |
| HubSpot API | High (development required) | Low — if cleanly implemented | Complete | Own systems, data warehouse, product data |
| anilead.io direct export | Very low (1 click) | Low (dedup and fields built in) | High | Active B2B customer acquisition in the DACH market |
Which typical errors happen during HubSpot imports — and how do you avoid them?
The most common import errors in HubSpot are wrong character encoding, incorrect column mapping, inconsistent date formats, and duplicates due to missing email addresses. Almost all of them can be avoided with five minutes of preparation:
- Broken umlauts (ä instead of ä): The file is not UTF-8 encoded. Fix: export from Excel via "Save As → CSV UTF-8" or re-save the file in a text editor with UTF-8.
- Columns end up in the wrong field: The automatic mapping was accepted unchecked. Fix: verify every mapping during the import and define a uniform column schema for all future imports.
- Date errors: HubSpot expects a consistent date format within a column and asks for the format during import. Fix: standardize all date columns to one format before exporting, e.g. DD.MM.YYYY.
- Duplicates despite the import: Rows without an email address cannot be deduplicated. Fix: filter out records without email before the import or handle them separately.
- Semicolon instead of comma: German Excel versions export CSV with a semicolon as the delimiter by default. If HubSpot shows all data in a single column, re-export the file with comma separation or use XLSX.
- Unqualified mass lists: The biggest mistake is not a technical one: importing unfiltered lists dilutes your reporting and pipeline. Import only leads that fit your ideal customer profile — how to define it is shown in our guide to the Ideal Customer Profile in B2B.
Best practices for clean HubSpot lead imports
Regardless of the import route you choose, five rules keep your HubSpot database clean and analyzable in the long run:
- Always use the email address as the unique identifier — it is the only reliable duplicate brake for contacts
- Set the lifecycle stage consistently: Mark new leads as "Lead" so that lists, reports, and later automations work cleanly
- Document the lead source: Without an origin field, you cannot later analyze which channel drives revenue
- Assign an owner: Every imported lead needs a responsible sales rep — otherwise it sits untouched
- Organize the follow-up: Create tasks or reminders right after the import so no lead goes unworked. For contacting leads by email, strict legal limits apply in Germany — what is allowed is explained in our article on B2B cold email outreach.
Conclusion: Which import route fits which team?
For sporadic imports of existing lists, the CSV import is enough — with UTF-8 encoding, a verified mapping, and email as the duplicate key. Teams that regularly receive leads from forms or tools automate the flow with Zapier, Make, or native integrations. Developer teams with their own data sources reach for the HubSpot API. And teams that actively generate new B2B leads in the DACH market skip the intermediate step entirely: with anilead.io, you select scored leads and export them with one click as contacts and deals to HubSpot. How that becomes a permanently automated process is shown in the guide to B2B sales automation.
Frequently asked questions about HubSpot lead imports
Can I import leads into HubSpot for free?
Yes. The file import is part of the free HubSpot CRM, with reduced limits compared to paid accounts — according to the HubSpot documentation (as of July 2026), for example a maximum of 20 MB per file in free accounts. The direct export from anilead.io also works on the Free plan: 50 lead credits per month, HubSpot export included, no credit card required.
How does HubSpot prevent duplicates during import?
HubSpot uses the email address as the primary unique identifier for contacts: if a contact with the same email already exists during import, the existing record is updated instead of newly created. Records without an email address cannot be reliably deduplicated by HubSpot — filter them out before the import or maintain them manually afterwards.
Can I import contacts and companies at the same time?
Yes. HubSpot supports multi-object imports, where one file contains both contact and company data. HubSpot creates both objects and automatically associates them with each other. For B2B imports, this is the recommended route, because contact person and company are cleanly linked from the start.
Which file formats does HubSpot accept for imports?
HubSpot accepts CSV, XLSX, and XLS files with exactly one sheet, one header row, and fewer than 1,000 columns. Files with umlauts or other special characters must be UTF-8 encoded. If you want to avoid mapping problems with semicolon-separated German CSV files, the easiest option is the XLSX format.
Which data does the anilead.io export transfer to HubSpot?
The export creates contacts with email, first and last name, phone, company name, position, and website, and sets the lifecycle stage to "Lead". In addition, an associated deal is created per lead in the default pipeline, whose name includes the company and the anilead.io project. The Claude AI score serves as a selection filter: you export only leads above your minimum score.


