Linkedin email verification with BillionVerify
LinkedIn is the world's largest professional network, widely used for prospecting, lead generation, and outbound sales. When you export or enrich leads from LinkedIn, verifying those email addresses with BillionVerify before outreach ensures your messages reach genuine professionals rather than bouncing or flagging your domain.
Why verify before the send
Leads sourced from LinkedIn β whether scraped, enriched, or collected via Lead Gen Forms β often include outdated corporate emails, role addresses, or addresses that no longer exist after job changes. Sending campaigns to these contacts damages your sender reputation and wastes outreach budget. BillionVerify validates each address so only deliverable contacts enter your sequences.
Ready-to-use n8n workflow
Import this workflow into n8n β it verifies every address with BillionVerify before Linkedin sends, so only deliverable contacts are emailed. Install the BillionVerify community node first, then add your API key. Adapted from this n8n template
{
"name": "Automate job searching & resume customization with AI, LinkedIn & Google Sheets + BillionVerify",
"nodes": [
{
"id": "e08473bb-0b75-4ceb-81c0-92be71165fb4",
"name": "Mistral Cloud Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-1968,
2048
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6716f4ea-2529-4665-bdfa-8943a8cd5ffc",
"name": "HTML2",
"type": "n8n-nodes-base.html",
"position": [
-1056,
2368
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "01e0b4e5-4b4d-4102-8a67-a1c0ab90717a",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
-880,
1920
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7214a29b-f4d2-456a-a77e-15938361a61e",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-400,
2080
],
"parameters": {},
"executeOnce": true,
"typeVersion": 3
},
{
"id": "244d669c-b275-47ce-ade8-bf33dd5761f5",
"name": "Send a message",
"type": "n8n-nodes-base.gmail",
"position": [
528,
2000
],
"webhookId": "2a252ec0-2b36-4a2a-a502-9adf5e5c9752",
"parameters": {},
"typeVersion": 2.1
},
{
"id": "e1a36beb-28ad-40c6-b534-28c9e84a5b9c",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-1824,
2048
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "933481cf-5018-489b-8679-43faf6c21791",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
-1248,
1888
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "92eda0a2-50f8-43e8-946b-52014ad79eeb",
"name": "Mistral Cloud Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
"position": [
-192,
2624
],
"parameters": {},
"typeVersion": 1
},
{
"id": "65b3a2cd-d78b-4f44-9bd1-16be870bf431",
"name": "Resume Breakdown1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1968,
1840
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "7a0078d7-8566-465c-ae95-6287ec352ca3",
"name": "Job Matching AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-192,
2208
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "676d5633-9739-4c84-8607-836941b42162",
"name": "Resume Analysis AI Agent1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-192,
2416
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "5f720ba5-cccd-4428-a948-d74dbd02e9ba",
"name": "Get row(s) in Job Search1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1024,
1584
],
"parameters": {},
"executeOnce": true,
"typeVersion": 4.7
},
{
"id": "6d15572d-5eb3-4959-b8ae-df09c4746d27",
"name": "Append or update row in Job Search1",
"type": "n8n-nodes-base.googleSheets",
"position": [
112,
2416
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "fe0bc527-e772-4c99-9566-aef4cadefc55",
"name": "Extract from Resume1",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-2112,
1840
],
"parameters": {},
"typeVersion": 1
},
{
"id": "571dd21c-635a-4198-9013-37670859bcf0",
"name": "Download Resume1",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1872,
1584
],
"parameters": {},
"typeVersion": 3
},
{
"id": "90041e96-9f01-497c-bea3-1c8cb1d4cf1d",
"name": "Schedule Trigger1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-2048,
1584
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "65c5c979-8b77-47c5-856b-68a6d8e24203",
"name": "Compare Datasets1",
"type": "n8n-nodes-base.compareDatasets",
"position": [
-624,
2000
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "a80f67f7-8dde-45f7-ba11-74db416877ea",
"name": "LinkedIn Search URL",
"type": "n8n-nodes-base.code",
"position": [
-1616,
1696
],
"parameters": {},
"typeVersion": 2
},
{
"id": "361256c2-5e01-4195-bc02-c8d7071a9356",
"name": "LinkedIn Search URL5",
"type": "n8n-nodes-base.code",
"position": [
-1616,
1840
],
"parameters": {},
"typeVersion": 2
},
{
"id": "454faa82-eee8-4faa-b9e9-c6832452fbc6",
"name": "LinkedIn Search URL6",
"type": "n8n-nodes-base.code",
"position": [
-1616,
1984
],
"parameters": {},
"typeVersion": 2
},
{
"id": "b109d1ed-191b-4d6d-a1a9-40add6168f5b",
"name": "LinkedIn Search URL7",
"type": "n8n-nodes-base.code",
"position": [
-1616,
2128
],
"parameters": {},
"typeVersion": 2
},
{
"id": "e11488d7-d8c2-4924-a092-b67db957ecee",
"name": "Fetch jobs from LinkedIn",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1440,
1696
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "f4e30a7b-74ed-426d-a73c-9edef904edee",
"name": "Fetch jobs from LinkedIn3",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1440,
1840
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "a0af0c7d-d6e5-47bc-a92b-dc8ae23736fc",
"name": "Fetch jobs from Linkedin",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1440,
1984
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "1b86a6e1-e74b-45e5-a044-7061a4217c53",
"name": "Fetch jobs from LinkedIn5",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1440,
2128
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 3000
},
{
"id": "1e4498be-6780-4dd8-8229-1916a31b6779",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
-1056,
2192
],
"webhookId": "1f33d10b-6071-480b-865b-835b93a7841d",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "cb0aa113-f1ec-42ad-b0da-afc039c7ba27",
"name": "HTTP Request1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-880,
2192
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 5
},
{
"id": "c61f2149-3375-44eb-8d2c-4abfcec7ecea",
"name": "HTML3",
"type": "n8n-nodes-base.html",
"position": [
-1056,
1920
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 1.2
},
{
"id": "ba3ae6dd-5525-46e6-8afd-64f370a6707c",
"name": "Loop Over Items3",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-1232,
2144
],
"parameters": {},
"typeVersion": 3
},
{
"id": "c60ca1ba-ce73-4769-a71b-46729ed0ec68",
"name": "Edit Fields2",
"type": "n8n-nodes-base.set",
"position": [
-880,
2368
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "627c9f8a-0f9c-4583-b15f-6fbd63fa99e1",
"name": "Edit Fields3",
"type": "n8n-nodes-base.set",
"position": [
96,
2208
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "9b639e1e-8eef-43fb-a457-dbd5cdbef864",
"name": "Get row(s) in sheet1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-192,
2000
],
"parameters": {},
"typeVersion": 4.7
},
{
"id": "1f464b53-ccf2-45ad-8990-6c801912cebc",
"name": "Sort1",
"type": "n8n-nodes-base.sort",
"position": [
-16,
2000
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1e005421-67ec-4144-a705-1149443a73af",
"name": "Limit1",
"type": "n8n-nodes-base.limit",
"position": [
160,
2000
],
"parameters": {},
"typeVersion": 1
},
{
"id": "02e430ca-d7d5-4ae2-ae72-99c51a613962",
"name": "Aggregate1",
"type": "n8n-nodes-base.aggregate",
"position": [
336,
2000
],
"parameters": {},
"typeVersion": 1
},
{
"id": "201a41c3-5476-4b63-875e-34a245561231",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1824,
1424
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c6c9dce9-3c79-4945-812e-4e5bcfad1437",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
1424
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "84e3a6d4-21a6-4781-8961-53c162eb9084",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
2432
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e330aea3-2d21-4647-a691-807e24aff418",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
512,
1776
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2417ee79-3ee9-4d9c-ac44-f10911b26148",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
1904
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9f744607-6ba2-49a8-9ee4-14d14cffb8ac",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
1984
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "68df2a48-8d51-45f8-8d92-baea1f928d88",
"name": "Sticky Note17",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1648,
1632
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c9f349a1-cfa2-4884-a7da-4d3cd7bfc92a",
"name": "Sticky Note18",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1648,
2320
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f749941b-3679-4fe3-9975-0f51a2138f31",
"name": "Sticky Note19",
"type": "n8n-nodes-base.stickyNote",
"position": [
-656,
1584
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0d8031cf-bda3-4e70-a717-9bc56634e91c",
"name": "Sticky Note20",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
2176
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "178064f1-34fb-4668-a92a-2b2dadbd42ae",
"name": "Sticky Note21",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
2640
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"parameters": {
"operation": "verify",
"email": "={{ $json.email || $json.Email }}",
"additionalOptions": {}
},
"type": "n8n-nodes-billionverify.billionVerify",
"typeVersion": 1,
"position": [
168,
2000
],
"name": "Verify Email (BillionVerify)",
"credentials": {
"billionVerifyApi": {
"id": "",
"name": "BillionVerify account"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "is-deliverable",
"leftValue": "={{ $json.is_deliverable }}",
"rightValue": "",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
}
}
]
}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
348,
2000
],
"name": "IF deliverable"
}
],
"connections": {
"HTML2": {
"main": [
[
{
"node": "Edit Fields2",
"type": "main",
"index": 0
}
]
]
},
"HTML3": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "HTML3",
"type": "main",
"index": 0
}
]
]
},
"Sort1": {
"main": [
[
{
"node": "Limit1",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"Limit1": {
"main": [
[
{
"node": "Aggregate1",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
]
]
},
"Aggregate1": {
"main": [
[
{
"node": "Verify Email (BillionVerify)",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields2": {
"main": [
[
{
"node": "Loop Over Items3",
"type": "main",
"index": 0
}
]
]
},
"Edit Fields3": {
"main": [
[
{
"node": "Resume Analysis AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "HTML2",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Get row(s) in sheet1",
"type": "main",
"index": 0
}
],
[
{
"node": "Job Matching AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"Download Resume1": {
"main": [
[
{
"node": "Extract from Resume1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items3": {
"main": [
[
{
"node": "Compare Datasets1",
"type": "main",
"index": 1
}
],
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"Compare Datasets1": {
"main": [
[],
[],
[],
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Resume Breakdown1": {
"main": [
[
{
"node": "LinkedIn Search URL7",
"type": "main",
"index": 0
},
{
"node": "LinkedIn Search URL",
"type": "main",
"index": 0
},
{
"node": "LinkedIn Search URL5",
"type": "main",
"index": 0
},
{
"node": "LinkedIn Search URL6",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger1": {
"main": [
[
{
"node": "Download Resume1",
"type": "main",
"index": 0
},
{
"node": "Get row(s) in Job Search1",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn Search URL": {
"main": [
[
{
"node": "Fetch jobs from LinkedIn",
"type": "main",
"index": 0
}
]
]
},
"Extract from Resume1": {
"main": [
[
{
"node": "Resume Breakdown1",
"type": "main",
"index": 0
}
]
]
},
"Get row(s) in sheet1": {
"main": [
[
{
"node": "Sort1",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn Search URL5": {
"main": [
[
{
"node": "Fetch jobs from LinkedIn3",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn Search URL6": {
"main": [
[
{
"node": "Fetch jobs from Linkedin",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn Search URL7": {
"main": [
[
{
"node": "Fetch jobs from LinkedIn5",
"type": "main",
"index": 0
}
]
]
},
"Job Matching AI Agent1": {
"main": [
[
{
"node": "Edit Fields3",
"type": "main",
"index": 0
}
]
]
},
"Fetch jobs from LinkedIn": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Fetch jobs from Linkedin": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"Mistral Cloud Chat Model": {
"ai_languageModel": [
[
{
"node": "Resume Breakdown1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Resume Breakdown1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Fetch jobs from LinkedIn3": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Fetch jobs from LinkedIn5": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 3
}
]
]
},
"Get row(s) in Job Search1": {
"main": [
[
{
"node": "Compare Datasets1",
"type": "main",
"index": 0
}
]
]
},
"Mistral Cloud Chat Model4": {
"ai_languageModel": [
[
{
"node": "Resume Analysis AI Agent1",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Job Matching AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Resume Analysis AI Agent1": {
"main": [
[
{
"node": "Append or update row in Job Search1",
"type": "main",
"index": 0
}
]
]
},
"Append or update row in Job Search1": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Verify Email (BillionVerify)": {
"main": [
[
{
"node": "IF deliverable",
"type": "main",
"index": 0
}
]
]
},
"IF deliverable": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
],
[]
]
}
},
"settings": {}
}Workflow templates with Linkedin
Ready-to-use workflows that verify emails before Linkedin sends.
How it works
- 1
Connect your LinkedIn workflow to BillionVerify using the n8n community node, Integrately, or the REST API.
- 2
Trigger verification whenever a new lead, form submission, or enriched contact is added β for example, via a webhook from your CRM receiving LinkedIn leads.
- 3
BillionVerify checks each email for MX record validity, mailbox existence, disposable domain detection, and catch-all status.
- 4
Verified addresses flow into your outreach sequence or CRM; addresses flagged as invalid or risky are quarantined for review.
- 5
Review verification reports to refine lead sourcing and enrich only quality data going forward.
When to use this
Outbound Sales Prospecting
After exporting or enriching a list of LinkedIn prospects with email addresses, pass them through BillionVerify to remove hard-bounce risks before loading into your sales sequencer. This protects your sending domain and improves reply rates.
LinkedIn Lead Gen Form Submissions
Lead Gen Forms can collect emails that users pre-fill from their profiles. Verify each submission in real time via an n8n or Integrately workflow before routing to your CRM or email platform, filtering out catch-all and disposable addresses.
Recruiting Outreach Lists
Recruiters building candidate pipelines from LinkedIn data can verify candidate emails before sending outreach, reducing bounce rates and keeping their hiring domain off blocklists.
FAQ
Why do LinkedIn leads sometimes have invalid emails?
People change jobs frequently, and enrichment tools pull emails from various sources that may be outdated. Role addresses and catch-all domains also appear commonly in professional contact data, making verification essential before outreach.
Can I verify leads in bulk after a LinkedIn export?
Yes. Upload your exported CSV to BillionVerify's bulk verification endpoint or use an n8n workflow to process the list automatically, receiving a cleaned file ready for import into your sales tool.
Does BillionVerify detect catch-all addresses from company domains?
Yes. BillionVerify identifies catch-all domains β those that accept mail for any address β and flags them separately so you can choose whether to include or exclude them from high-volume campaigns.
How does this protect my sending domain?
High bounce rates signal to mailbox providers that you are sending to stale or purchased lists. Removing invalid addresses before sending keeps your bounce rate well below the thresholds that trigger domain blocks or spam filtering.
Verify emails in Linkedin
Create a free account, grab your API key, and stop bounces before they happen.
Get started free