Apollo.ioApollo.ioHubSpot ContactsHubSpot Contacts15 fields

How to import Apollo.io data into HubSpot

Apollo.io exports people lists as CSV files. This template maps the export to HubSpot's standard contact fields: names, email, job title, company, website, LinkedIn profile, industry, and the person's location. Apollo ships four phone columns; Mobile goes to Mobile Phone Number and the main Phone field takes the first available work number from Work Direct, Corporate, or Other. Lifecycle Stage and Lead Status are set to Lead and New on every row. Phones, emails, and country names are standardized. On Apollo's free tier the Email column shows the placeholder email_not_unlocked@domain.com for locked records; the top FAQ covers what to do about it.

Try it freeNo credit card needed

Field-by-field mapping

This is the complete column mapping from Apollo.io to HubSpot. The left column is the header in your CSV export. The right column is the HubSpot field it should map to.

Apollo.ioApollo.io columnHubSpot ContactsHubSpot field
First NameFirst Namefirstname
Last NameLast Namelastname
TitleJob Titlejobtitle
EmailEmailemail

TransformLowercased and trimmed

Mobile PhoneMobile Phone Numbermobilephone

Apollo's Mobile Phone column lands on HubSpot's dedicated Mobile Phone Number field.

TransformStandardized to international format (+1, +44, etc.)

Work Direct Phone → Corporate Phone → Other PhonePhone Numberphone

The main Phone field takes the first available work number: Work Direct Phone first, then Corporate Phone, then Other Phone. Whichever is present wins; the rest are skipped.

TransformStandardized to international format (+1, +44, etc.)

"Lead"Lifecycle Stagelifecyclestage

Set on every row. Apollo doesn't ship a lifecycle stage, and a freshly sourced people export is a Lead. Change the value, or remove it, in the column mapper if your process is different.

"New"Lead Statushs_lead_status

Set on every row. Apollo doesn't ship a lead status, and a newly imported prospect starts as New. Change the value, or remove it, in the column mapper if your process is different.

CompanyCompany Namecompany
WebsiteWebsite URLwebsite
Person Linkedin UrlLinkedIn Biohs_linkedinbio

Maps to HubSpot's LinkedIn Bio property, the home for a contact's LinkedIn profile. Apollo's separate Company Linkedin Url column is not mapped here.

Person CityCitycity

Apollo ships both a person location and a company location. This template maps the person-location columns to the contact's address fields.

Person StateState/Regionstate
Person CountryCountry/Regioncountry
IndustryIndustryindustry

Columns we don't use

Your Apollo.io export includes 18 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in HubSpot.

Email Status

HubSpot Contacts has no native field for an email confidence flag. Apollo's Verified, Unverified, Guessed, and Unavailable values are useful for filtering, HubSpot just has no standard place for them.

If you need it. Map it by hand to a custom contact property if you want to filter on email quality in HubSpot.

Seniority

HubSpot Contacts has no native seniority field. The data is real and useful, HubSpot just has no standard place for it.

If you need it. Map it by hand to a custom contact property if you want seniority in HubSpot.

Departments

HubSpot Contacts has no native department field. Apollo ships several departments per row, comma-separated.

If you need it. Map it by hand to a custom contact property if you want department in HubSpot.

Corporate Phone, Other Phone

HubSpot Contacts has two phone fields. Mobile fills the Mobile Phone Number field and the main Phone field is filled from the first available of Work Direct, Corporate, and Other. When Work Direct is present, Corporate and Other are not used.

If you need it. Map them by hand to custom contact properties if you want every number kept separately.

Company Phone

Apollo's Company Phone column is the same switchboard number as Corporate Phone in most exports. There is nothing new to map.

If you need it. If your export has a different number in Company Phone, map it by hand to a custom contact property.

Company Linkedin Url, Company Description, Founded Year

These are company-level data points. HubSpot Contacts has no native fields for them, they belong on the HubSpot Company record.

If you need it. Run a separate Apollo to HubSpot Companies pass to land these on the Company record.

Company Address, Company City, Company State, Company Country

HubSpot Contacts has one address block, which this template fills from Apollo's person-location columns. The company-location block is a second address and there is no native place for it on the contact.

If you need it. Land the company address on the HubSpot Company record in a separate pass if you need it.

Lists

HubSpot Contacts have no native field for the Apollo list a row came from. The list name is useful for segmenting prospects by campaign or saved-search source.

If you need it. Create a custom contact property in HubSpot called Apollo List, then open the column mapper and route Lists to it.

Created Date

HubSpot Contacts have no native field for the date Apollo added the row to your account. The value is useful for filtering older prospects or sorting by recency.

If you need it. Create a custom contact property in HubSpot (date type) called Apollo Created Date, then route Created Date to it in the column mapper.

Account Owner

HubSpot Contacts have no native field for the Apollo user assigned to a row. Account Owner is an Apollo user, not a HubSpot user. The two are different identities and mapping them across needs a manual translation table.

If you need it. Create a custom contact property in HubSpot called Apollo Owner if you want to preserve the source of the record. Or use it as a filter in Apollo before exporting, so each exported file is single-owner.

# Employees, Annual Revenue

HubSpot Contacts has no native fields for employee count or annual revenue. These are company-level data points that belong on the HubSpot Company record.

If you need it. Run a separate Apollo to HubSpot Companies pass to land these on the Company record.

Formatting and cleanup

Apollo.io exports rarely match the format HubSpot expects. Fix these before you import.

  1. 1.Lowercases and trims email addresses
  2. 2.Standardizes phone numbers to international format (+1, +44, etc.)
  3. 3.Sends Mobile Phone to the Mobile Phone Number field and fills the main Phone field with the first available work number (Work Direct, then Corporate, then Other)
  4. 4.Sets Lifecycle Stage to Lead and Lead Status to New on every row, since Apollo's export carries neither
  5. 5.Title-cases name fields
  6. 6.Normalizes country names to a standard form
  7. 7.Trims whitespace and removes blank rows

Or skip the manual work

Operelio runs this cleanup and mapping for you. Upload your Apollo.io export and download a clean, import-ready file for HubSpot.

Try it free

Apollo.io to HubSpot FAQ

Why is the Email column filled with email_not_unlocked@domain.com?

That's Apollo's placeholder for records whose email you haven't paid to reveal. It shows up on the free tier and on paid tiers once you've used your email credits for the period. Bulk-delete those rows in the spreadsheet before upload so they don't import as junk, or upgrade your Apollo plan and re-export to reveal the real addresses. The template treats Email as required, so rows with the placeholder will still import but the email field will be useless until you replace it.

How do I export from Apollo?

In Apollo, go to Search, then People, apply your filters, select records or save to a list, then click Export and choose CSV. Apollo emails you a CSV when it's ready. Upload that file to Operelio.

How does the template handle Apollo's four phone columns?

Apollo ships Mobile Phone, Work Direct Phone, Corporate Phone, and Other Phone. Mobile Phone goes to HubSpot's dedicated Mobile Phone Number field. The main Phone field takes the first available work number, checking Work Direct first, then Corporate, then Other. All numbers are standardized to international format before import.

Why does the template set Lifecycle Stage and Lead Status?

Apollo's export doesn't carry a lifecycle stage or a lead status, but HubSpot has both fields and reps expect them filled. A freshly sourced people export is a Lead in the New status, so the template sets Lifecycle Stage to Lead and Lead Status to New on every row. If your process uses different values, change them, or remove them, in the column mapper before you run the job.

Why aren't Seniority, Email Status, and Departments mapped?

HubSpot Contacts has no standard fields for Seniority, Email Status, or Departments. The data is real and useful, HubSpot just has no native place for it. Those columns are listed in the Columns we don't use section. If you want them in HubSpot, create a custom property and map the column to it by hand.

Will this create duplicates if a contact already exists in HubSpot?

No. HubSpot uses email as the unique identifier for contacts. Rows whose email matches an existing contact update that record; rows with a new email create a new contact.