Skip to content

Verify your lemlist leads before you launch them

Integration Sending and campaigns

lemlist email verification in three steps: export your campaign leads, verify the file in PricklyMails, then unsubscribe the addresses to remove.

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

Verify for free

Step by step

Clean your list in three steps

  1. In lemlist

    Export your leads from lemlist

    Before you start

    Exporting leads takes export permissions, which some lemlist team roles may not have.

    1. Go to Campaigns and open the campaign you want to verify.
    2. Open the Leads list tab.
    3. Use the top checkbox to select all the leads of the campaign.
    4. Click Export as .CSV in the bulk actions bar: the file downloads to your computer.

    Tip

    To verify only the leads you have not launched yet, click Filters in the Leads list tab, choose Status, select To launch and click Apply before selecting them.

    Tip

    The file also holds names, company names, LinkedIn URLs, phone numbers and your custom variables: keep the email column alone in a spreadsheet before moving on.

    Sourcelemlist'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 lemlist: 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 lemlist 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 lemlist

    Bring the result back into lemlist

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

    Remove

    They get unsubscribed: lemlist stops emailing these addresses in every campaign, while a lead's LinkedIn or phone steps can still run.

    The Unsubscribe section of the settings takes a pasted list of email addresses, and blocks only those addresses rather than the whole contact.

    1. In lemlist, click your profile name or avatar in the bottom-left corner, then Settings.
    2. In the left sidebar, click Unsubscribe.
    3. Click Unsubscribe variables.
    4. Paste the addresses to remove, one per line.
    5. Click Unsubscribe variables to confirm.
    Review

    They deserve a look before you launch them. In the campaign's Leads list, review each one, and skip those you decide not to contact: a skipped lead stays in the campaign but receives no steps.

    Send

    They stay in your campaign: launch them as usual.

    Tip

    Unsubscribed an address by mistake? In the same section, select the checkbox next to it and click Remove variables.

    Sourcelemlist's official help center

Verify each address before it reaches lemlist

Does your script or integration add leads to a lemlist campaign through its API, with the Create Lead in Campaign (opens in a new tab) call? Ask PricklyMails first. If the recommendation is remove, don't add the lead.

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

lemlist can verify emails itself: why use PricklyMails?

The two differ in price, result and timing. lemlist's Email Verification takes 1 credit per lead, and a credit costs $0.014 in its smallest one-off top-up (2,000 for $28) or $0.01 in its smallest monthly add-on (2,000 for $20); PricklyMails takes 10 tokens per address, €0.01 from a top-up or €0.008 on its Starter plan. lemlist files each address under Deliverable, Risky, Undeliverable or Unknown, and for a risky one suggests sending with caution, skipping it or checking it by hand; PricklyMails gives its verdict, the reason and one action: send, review or remove. And verifying before the import keeps dead addresses out before any lemlist credit goes to them.

lemlist already unsubscribes bounced emails, so why verify first?

lemlist's help center says a lead is unsubscribed from email after one bounce: by then the email has gone out and the bounce has counted. It warns that multiple bounces can damage your sender reputation, and that a high bounce rate makes your future emails more likely to be filtered to spam; it advises verifying emails before launching a cold campaign. Verifying first takes those addresses out before they bounce.

Should I unsubscribe or skip the leads to remove?

Unsubscribe their addresses. lemlist applies an unsubscribe to every campaign, not only the one where it was made, and keeps an unsubscribed address blocked when its lead shows up in a campaign again. An unsubscribed address is also blocked for every contact that shares it. Skipping a lead only keeps it out of one campaign: it stays there without receiving any steps, and can be un-skipped later.

Sourcelemlist's official help center

Does PricklyMails connect to lemlist 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 lemlist.

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.