Skip to content

Verify your HubSpot contacts before you send

Integration CRM, support and community

HubSpot email verification in three steps: export your contacts, verify the file in PricklyMails, then opt out the addresses to remove.

There is no native HubSpot connector: you export the list, PricklyMails verifies it, and you bring the result back into HubSpot. New addresses can go through the API before they ever reach HubSpot.

Verify for free

Step by step

Clean your list in three steps

  1. In HubSpot

    Export your contacts from HubSpot

    Before you start

    Exporting contacts requires Export permissions in HubSpot.

    1. Go to CRM then Contacts, through More if that menu shows in your account.
    2. Click the tab of the view to export. To export every contact, open the All contacts view.
    3. In the top right of the table, click Export.
    4. In the dialog box, pick CSV in the File format drop-down menu, then click Export.
    5. Open the email HubSpot sends you and download the file from its link, which expires after 30 days.
    6. A CSV file over 2 MB comes zipped: unzip it before moving on.

    Tip

    By default, the file carries the properties and associations of the open view: keep only the email column in a spreadsheet before moving on.

    SourceHubSpot's official help center
  2. In PricklyMails

    Verify the file in PricklyMails

    1. In the dashboard, open Batches and click New batch.
    2. Drop the file you exported from HubSpot: a .csv or .txt with one address per line, no header row and no quotes. A header row would count as an address in the estimate, though it is never billed, and a quoted address would not be verified: the report lists both as malformed. You can also paste the list.
    3. The dashboard counts the addresses and shows the estimated cost in tokens before anything is sent, then you click Submit batch. A batch holds at least 20 addresses, and your plan sets the largest list it can hold.
    4. The list is verified in the background. Once the batch is done, open it and click Download report: you get a CSV with a row for each address of your file, giving its verdict, its reason, its score and its recommendation, with the dashboard's labels.

    Note

    Download the report from the browser that sent the list: that browser is what keeps the addresses, for the 16 most recent batches at most. Our servers, in Germany, only keep a one-way fingerprint of each one.
    What the report says

    Every address gets a recommendation: the action to take. The report writes it with the dashboard's label; the API returns a short form of it.

    Send
    The address is valid, or hosted by a large provider that accepts every address without confirming any. Send as usual.
    Review
    A domain that accepts any address (catch-all), a generic address such as contact@, a full mailbox, or a server that never answered, or refused to. Take a look before you send.
    Remove
    The address does not exist, its domain cannot receive mail, or it is disposable, mistyped or malformed. Take it out.

    Note

    A malformed address is never verified: the batch counts it under "Malformed addresses", and the report still lists it, with the verdict "Invalid", the reason "Malformed address" and the recommendation "Remove", so you take it out of HubSpot with the others. A duplicate, counted under "Duplicates removed", appears only once.

    Behind each recommendation sit a verdict (Valid, Risky, Invalid or Not verifiable), a reason and a score from 0 to 100, each in its own column of the report. When a server never answers, the address comes back "Not verifiable" and the checks that got no answer are refunded.

  3. In HubSpot

    Bring the result back into HubSpot

    Open the report in a spreadsheet and filter the Recommendation column.

    Remove

    They get imported as opted out: HubSpot sends them no more marketing emails or sequence emails.

    HubSpot advises importing contacts who hard bounced in the past as opted out. Do the same with the addresses to remove, before they bounce.

    1. Copy them into a new CSV file, under an Email header.
    2. In HubSpot, go to CRM then Contacts and click Import in the upper right.
    3. Click Import data, then select List of contacts to opt out of emails.
    4. Select your file, then click Upload.
    5. In the Email field drop-down menu, pick the Email column of your file, then click Next, confirm your choice.
    6. Enter the number of contacts to confirm the opt-out, then click Begin import.
    Review

    They deserve a look before your next campaign.

    Send

    They stay in HubSpot: nothing to do.

    Tip

    Contacts already in HubSpot stay in your CRM and still count toward your billable contact total. With Marketing Hub, set them as non-marketing to stop paying for them: select them in the contacts table, then click More then Set as non-marketing contacts and confirm. The change takes effect on the next update date.

Verify each address before it reaches HubSpot

Does your signup form or sync script create contacts through HubSpot's API, with the Create a contact (opens in a new tab) call? Ask PricklyMails first. If the recommendation is remove, don't create the contact.

One call starts the verification and already flags a likely typo, a second one reads the verdict. Depending on your plan, a signed webhook can also send it to you as soon as it's ready.

Request
curl -s https://api.pricklymails.com/api/verify \
  -H "Authorization: Bearer pm_live_9f3a..." \
  -H "Content-Type: application/json" \
  -d '{ "email": "ana.silva@gmail.con" }' \
  | jq '{job_uuid, suggestion}'
Response
{
  "job_uuid": "8f1c2a9e-4b7d-4e2a-9c61-3d5f0b7a2e18",
  "suggestion": "ana.silva@gmail.com"
}
Request
curl -s https://api.pricklymails.com/api/verify/$JOB_UUID \
  -H "Authorization: Bearer pm_live_9f3a..." \
  | jq '.verifications[0] | {status, reason, score, recommendation}'
Response
{
  "status": "invalid",
  "reason": "no_mx_records",
  "score": 0,
  "recommendation": "remove"
}
Read the API docs

Frequently asked questions

HubSpot already drops hard bounces, so why verify first?

HubSpot's help center says a contact is dropped from future marketing emails once it hard bounces: by then the email has gone out and the bounce has counted. A marketing email that piles up hard bounces may be stopped before it reaches the remaining recipients, and marketing email sending may be suspended past a 5% hard bounce rate in a month. Before resending a stopped email, HubSpot even recommends, though it does not require, running the recipients through an external email validation tool.

SourceHubSpot's official help center

Should I opt out or delete the contacts to remove?

Opt them out in any case, then decide about the record. An existing contact imported as opted out gets no more marketing emails, but stays a contact and still counts toward your billable contact total. To take it out of that total, HubSpot's help center advises deleting the contact, then re-importing its address as opted out. A deleted contact can be restored for 90 days; after that, the record and its data are gone. Keeping the record? With Marketing Hub, set it as non-marketing: you stop being billed for it from the next update date.

SourceHubSpot's official help center

What is at stake on a free HubSpot account?

With HubSpot's free tools, the account is put on an email sending probation when a key deliverability metric crosses a threshold, a high hard bounce rate for example, set by the sending volume of your industry. To lift it, HubSpot's help center has you delete the marketing contacts who did not consent, and recommends also removing any contacts without a valid email address. If the issues are not addressed, email sending is suspended, and a suspension cannot be lifted on a free account.

SourceHubSpot's official help center

Does PricklyMails connect to HubSpot directly?

No, there is no native connector: you go through a file export, as above. You can also call the PricklyMails API from your own code before an address reaches HubSpot.

These trademarks belong to their respective owners. Naming them implies no partnership.

Check your list before your next send.

1,000 tokens free when you sign up, no credit card. After that, you only pay for answers.