Lead data and prospecting

Validate a list exported from LinkedIn Sales Navigator

A guide to checking the email addresses in a lead file you hold in your own CRM or spreadsheet after working lead searches in LinkedIn Sales Navigator, before the list goes into your email tool.

Why the data matters in LinkedIn Sales Navigator

Sales Navigator itself offers no CSV or XLS export of lead and account information, and its Advanced Plus plan passes that information to your CRM through CRM Sync, so the file you check is the one you export from your CRM or build yourself. A lead list built from Sales Navigator searches ends up with a company domain for each row, and the email addresses added later by hand or by a data tool are often guesses at that domain. Importing them unchecked sends mail to domains with no mail server, to free providers and to shared inboxes. Checking the file you hold, one row at a time, tells you which rows can sensibly go into a campaign.

What LookValid checks

LookValid checks for LinkedIn Sales Navigator
ProductWhat it does hereCredits
Email Domain CheckReturns whether the domain of a lead email has mail servers, which exposes guessed addresses on domains that cannot receive mail. It does not confirm that the mailbox exists. Marks addresses on free mailbox providers, so personal webmail can be told apart from a company address.1 credit per address checked
Website Contacts ScraperReads the public pages of a lead company domain and returns the emails, phone numbers and social profile links it publishes.10 credits per domain with contacts found
Domain AgeReturns the registration age of a company domain in days, one more signal when a row looks thin.2 credits per registered domain (unregistered domains are free)

Connect it in four steps

  1. Sign up with LookValid, mint a key from the API keys area, and export your lead records from the CRM they synced to (or from your own spreadsheet) as a file on your own computer.
  2. Keep the key out of the lead file and the script by setting LOOKVALID_API_KEY in the environment of the terminal where the script runs.
  3. For each lead email the script calls the email domain check endpoint; found:false rows are listed for review, and an error answer halts the run with the returned code.
  4. mail_domain, domain_accepts_mail and is_free_webmail are added as columns to the copy, and only leads whose domain accepts mail move on to the campaign.

A Python script on your own computer that reads the exported lead file row by row and writes a checked copy. The call is POST https://YOUR_API_HOST/v1/email-domain-check and costs 1 credit per address checked.

check_navigator_export_email.py
import json
import os
import urllib.error
import urllib.request
​
API_URL = "https://YOUR_API_HOST/v1/email-domain-check"
​
​
def check_navigator_export_email(value):
    request = urllib.request.Request(
        API_URL,
        data=json.dumps({
            "email": value,
        }).encode(),
        headers={
            "Authorization": "Bearer " + os.environ["LOOKVALID_API_KEY"],
            "Content-Type": "application/json",
        },
        method="POST",
    )
    try:
        with urllib.request.urlopen(request, timeout=30) as response:
            result = json.load(response)
    except urllib.error.HTTPError as error:
        failure = json.load(error)["error"]
        raise RuntimeError(failure["code"] + ": " + failure["fix"])
    if not result["found"]:
        return None
    return {
        "mail_domain": result.get("data", {}).get("domain"),
        "domain_accepts_mail": result.get("data", {}).get("has_mx"),
        "is_free_webmail": result.get("data", {}).get("free_provider"),
    }
Where each response field goes in LinkedIn Sales Navigator
Response fieldGoes into
data.domainmail_domain
data.has_mxdomain_accepts_mail
data.free_provideris_free_webmail

The recipe returns nothing when the lookup finds nothing, which costs no credits for this product, and stops with the error code and fix on a failed request.

Without code

If you prefer not to run code, put the exported file into a spreadsheet or an automation platform that loops over rows and add a generic HTTP request step for each email, posting it to the email domain check endpoint with your key in a header. Write the three fields into new columns. No dedicated app is needed, and nothing reaches back to the tool the file was exported from.

REST and MCPOne shared credit balance

Questions

What is a lead check priced at?

One check per row at the credit amount on the pricing page.

Does LookValid read data from Sales Navigator?

No. The guide only covers a file you already hold. It does not connect to Sales Navigator, log in to it or collect anything from it.

Can this tell me a lead mailbox is real?

No. It checks the domain: mail servers, free provider and related flags. It never contacts the mail server, so it cannot confirm that a specific mailbox exists.

Sources

LookValid is run by Meralume Labs. It is not connected to, endorsed by or a partner of any company or product named on this page, and every product name belongs to its owner.

LookValid bills every lookup in credits from one shared balance, so the same key works for each check above.

See Email Domain Check