LinkedIn Email Finder avatar

LinkedIn Email Finder

Pricing

from $40.00 / 1,000 email founds

Go to Apify Store
LinkedIn Email Finder

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

2

Monthly active users

3 days ago

Last modified

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

FieldTypePurpose
linkedinUrlsarray of stringsPublic LinkedIn profile URLs to resolve into a person, company, domain, and work email
directLeadsarray of objectsKnown person plus company domain for direct email generation and verification
includeUnverifiedbooleanReturns the highest-probability email when SMTP confirmation is unavailable or catch-all handling applies
maxResultsintegerHard cap on how many leads are processed and billed in one run
maxCandidatesPerLeadintegerMaximum 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.

FieldTypePurpose
querystringOriginal input used for the lead
namestring or nullResolved person name
headlinestring or nullPublic profile headline when available
locationstring or nullPublic profile location when available
companystring or nullCurrent company name
companyDomainstring or nullCompany website domain used for email discovery
companyUrlstring or nullCompany website URL when available
emailstring or nullsuitable deliverable work email for the lead
emailStatusstring or nullVerification status of the returned email
confidenceinteger or nullConfidence score for the returned email
isRoleboolean or nullIndicates whether the address is a role inbox
smtpVerifiedboolean or nullIndicates whether the mailbox was confirmed by SMTP RCPT probe
candidatesarray or nullTested email candidates with their statuses and scores
sourcestring or nullResolution source for the lead
scrapedAtstring or nullTime 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

  1. The Actor accepts public LinkedIn profile URLs or direct leads with fullName and companyDomain.
  2. For LinkedIn inputs, it resolves the person to a name and current company through ScrapeCreators, with SociaVault as fallback.
  3. It looks up the company website domain.
  4. It generates ranked email permutations and tests them up to maxCandidatesPerLead.
  5. It checks DNS MX and then uses SMTP RCPT verification when the execution environment allows outbound probing.
  6. 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:

  • emailStatus shows the verification state of the returned email
  • smtpVerified indicates whether the mailbox was confirmed by SMTP probe
  • confidence helps compare records when a run returns multiple leads
  • candidates shows the patterns tested for that lead
  • source indicates 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 maxResults to cap how many leads are processed and billed in one run
  • Use maxCandidatesPerLead to 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:

  • true when you want the available email candidate together with its status
  • false when you want mailbox-confirmed addresses in the email field 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

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.