LinkedIn Email Finder
Pricing
from $40.00 / 1,000 email founds
LinkedIn Email Finder
Find and verify work emails from LinkedIn profile URLs. Public data, no cookies. MCP/API-ready.
Pricing
from $40.00 / 1,000 email founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
LinkedIn Email Finder is an Apify Actor for teams and AI agents that start with a public LinkedIn profile URL, or a known person plus company domain, and want one lead record with a work email, verification status, and confidence details. It accepts public LinkedIn profile URLs in linkedinUrls or direct person-and-domain records in directLeads, and each processed lead produces one dataset item that represents the suitable deliverable email candidate for that person. Useful fields include name, company, companyDomain, email, emailStatus, confidence, smtpVerified, candidates, and source, so the output is ready for enrichment, review, and downstream outreach. This Actor is usable through Apify and through Apify MCP.
Best fit and connected workflows
This Actor fits workflows where a LinkedIn profile is the source of truth and the next step is a work email with verification context.
Use it when you have:
- a public LinkedIn profile URL for a person you want to enrich
- a known full name plus company domain for direct email generation and verification
- an AI-assisted sourcing flow that needs profile-to-email enrichment in one tool
- a lead pipeline that already has profile URLs from another LinkedIn Actor
A natural workflow connection is:
- use the LinkedIn People Search Scraper to discover people profiles
- pass the verified public profile URL into this Actor
- use the returned email record to enrich CRM or outreach records
Two other upstream sources that pair well with this Actor are:
- Then use LinkedIn Ad Library Search Scraper
- Then use LinkedIn Company Search Scraper
Practical scenario
Nina, an SDR, has a public LinkedIn URL for a marketing leader and a company domain already stored in her CRM. She sends the profile URL in linkedinUrls, or uses directLeads when she already knows the person's full name and company domain. The Actor returns name, company, companyDomain, email, emailStatus, confidence, and smtpVerified. Nina reviews emailStatus and smtpVerified, then sends the lead to her next outreach step with the record already enriched.
Input
| Field | Type | Purpose |
|---|---|---|
linkedinUrls | array of strings | Public LinkedIn profile URLs to resolve into a person, company, domain, and work email |
directLeads | array of objects | Known person plus company domain for direct email generation and verification |
includeUnverified | boolean | Returns the highest-probability email when SMTP confirmation is unavailable or catch-all handling applies |
maxResults | integer | Hard cap on how many leads are processed and billed in one run |
maxCandidatesPerLead | integer | Maximum number of ranked email patterns to test per lead |
Focused input example:
{"linkedinUrls": ["https://www.linkedin.com/in/satyanadella"],"includeUnverified": true,"maxResults": 1,"maxCandidatesPerLead": 15}
Direct lead example:
{"directLeads": [{"fullName": "Jane Doe","companyDomain": "acme.com","companyName": "Acme"}],"includeUnverified": true,"maxResults": 1}
Output
The dataset contains one record per processed lead. The overview view shows the suitable deliverable email per lead with verification status and confidence.
| Field | Type | Purpose |
|---|---|---|
query | string | Original input used for the lead |
name | string or null | Resolved person name |
headline | string or null | Public profile headline when available |
location | string or null | Public profile location when available |
company | string or null | Current company name |
companyDomain | string or null | Company website domain used for email discovery |
companyUrl | string or null | Company website URL when available |
email | string or null | suitable deliverable work email for the lead |
emailStatus | string or null | Verification status of the returned email |
confidence | integer or null | Confidence score for the returned email |
isRole | boolean or null | Indicates whether the address is a role inbox |
smtpVerified | boolean or null | Indicates whether the mailbox was confirmed by SMTP RCPT probe |
candidates | array or null | Tested email candidates with their statuses and scores |
source | string or null | Resolution source for the lead |
scrapedAt | string or null | Time the lead was resolved |
Illustrative output record:
{"query": "https://www.linkedin.com/in/satyanadella","name": "Satya Nadella","headline": "Chairman and CEO","location": "Seattle, Washington, United States","company": "Microsoft","companyDomain": "microsoft.com","companyUrl": "https://www.microsoft.com","email": "satya.nadella@microsoft.com","emailStatus": "valid","confidence": 96,"isRole": false,"smtpVerified": true,"candidates": [{"email": "satya.nadella@microsoft.com","status": "valid","confidence": 96,"pattern": "{first}.{last}"}],"source": "scrapecreators","scrapedAt": "2026-01-01T00:00:00.000Z"}
How it works
- The Actor accepts public LinkedIn profile URLs or direct leads with
fullNameandcompanyDomain. - For LinkedIn inputs, it resolves the person to a name and current company through ScrapeCreators, with SociaVault as fallback.
- It looks up the company website domain.
- It generates ranked email permutations and tests them up to
maxCandidatesPerLead. - It checks DNS MX and then uses SMTP RCPT verification when the execution environment allows outbound probing.
- It returns the highest-confidence address, the verification status, and the tested candidate list.
The live contract also includes graceful MX-valid-unverified handling when SMTP probing is unavailable in the execution environment, which keeps the returned record honest and clearly labeled.
Pricing
LinkedIn Email Finder uses Pay per event pricing on Apify, plus standard Apify platform usage for the run itself. The live Pricing tab is the source of truth for current pricing details.
Events in the live contract:
- Actor start: charged once per run, scaled by allocated RAM
- Profile resolved: charged when a lead is resolved to a name and company website domain
- Email found: charged when a deliverable work email is returned for a lead
Example in words: if a run starts, resolves three profiles, and returns two deliverable emails, the billed events follow that event pattern. Review the live Pricing tab before running to see the current pricing view in Apify.
Use with AI agents (MCP)
This Actor is available through Apify MCP as a tool for profile-to-email enrichment.
Tool description: resolve a LinkedIn profile URL or direct lead into a work email record with company, domain, status, confidence, and candidate data.
Exact Actor identity: khadinakbar/linkedin-email-finder
Find a work email for this LinkedIn profile URL and return the lead record with name, company, domain, email status, confidence, and SMTP verification. Use the dataset output to decide the next workflow step.
Output interpretation:
emailStatusshows the verification state of the returned emailsmtpVerifiedindicates whether the mailbox was confirmed by SMTP probeconfidencehelps compare records when a run returns multiple leadscandidatesshows the patterns tested for that leadsourceindicates whether the lead came from ScrapeCreators, SociaVault, or direct input
Provenance and scope:
- Inputs are public LinkedIn profile URLs or direct person-plus-domain records
- The Actor resolves profile data, generates email candidates, and verifies deliverability signals
- The dataset row is the primary output for downstream automation
Pagination and cost guidance:
- Use
maxResultsto cap how many leads are processed and billed in one run - Use
maxCandidatesPerLeadto control how many permutations are tested per lead - Read dataset items when you need the complete lead list, then use the output summary for run-level counts
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {linkedinUrls: ['https://www.linkedin.com/in/satyanadella'],includeUnverified: true,maxResults: 1,maxCandidatesPerLead: 15,};const run = await client.actor('khadinakbar/linkedin-email-finder').call(input);const dataset = client.dataset(run.defaultDatasetId);const { items } = await dataset.listItems();console.log('Run output:', run);console.log('Dataset items:', items);
Best results and outcome guidance
Use linkedinUrls when the LinkedIn profile is the starting point, and use directLeads when you already know the person's full name and company domain. Set includeUnverified to match your workflow:
truewhen you want the available email candidate together with its statusfalsewhen you want mailbox-confirmed addresses in theemailfield only
If you are processing a larger queue, set maxResults to match your budget and process dataset items in batches. When a lead already has a verified company domain, direct leads provide the most direct path into email generation and verification.
Continue the workflow
- Then use 💼 LinkedIn Jobs Scraper — Salary, Remote & Easy Apply to extend LinkedIn Email Finder research with a complementary discovery contract.
- Then use LinkedIn People Search Scraper to extend LinkedIn Email Finder research with a complementary discovery contract.
Design note
I found that the live output contract centers on a single dataset record per lead, with query as the source reference and emailStatus plus smtpVerified as the main verification signals. That makes the dataset item the key unit for downstream automation.
FAQ
Can I start from a LinkedIn profile URL?
Yes. linkedinUrls is the primary input for public LinkedIn profile URLs.
Can I use this after finding people in another LinkedIn Actor?
Yes. A common workflow is to discover people with a LinkedIn search Actor, then pass the verified public profile URL into this Actor for email enrichment.
What if I already know the company domain?
Use directLeads with fullName, companyDomain, and optional companyName.
What does one output record represent?
One dataset item represents one processed lead with the suitable deliverable email found for that lead.
How do I read the verification result?
Check emailStatus, smtpVerified, and confidence together. The candidate list shows the tested patterns for that lead.
Responsible use
Use the output in line with applicable laws, internal policies, and platform terms. This Actor works with public data and standards-based mail verification. Treat the returned email as enrichment data for professional workflows, and review your messaging, storage, and outreach practices before use.