Lead Enrichment Pipeline, Company URL to Verified Contacts avatar

Lead Enrichment Pipeline, Company URL to Verified Contacts

Pricing

from $24.00 / 1,000 lead enricheds

Go to Apify Store
Lead Enrichment Pipeline, Company URL to Verified Contacts

Lead Enrichment Pipeline, Company URL to Verified Contacts

One API call: provide a LinkedIn company URL, get back enriched employee profiles with validated emails. Combines LinkedIn scraping, company intelligence, and email discovery into a single pipeline.

Pricing

from $24.00 / 1,000 lead enricheds

Rating

1.0

(1)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

0

Bookmarked

24

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Share

Lead Enrichment Pipeline

One API call to turn a LinkedIn company URL into verified employee contacts with emails. No manual research, no tab switching, no copy pasting.

What It Does

You provide a LinkedIn company URL. The pipeline does the rest:

  1. Scrapes employees from the company LinkedIn page (names, titles, profile URLs)
  2. Enriches the company (industry, tech stack, domain, social profiles)
  3. Generates candidate emails using 7 common corporate email patterns per person
  4. Validates every email to confirm deliverability before you send

You get back a clean JSON array of enriched leads ready for outreach.

How It Works

flowchart TD
A[User Input: LinkedIn Company URL] --> B[Step 1: LinkedIn Employee Scraper]
B --> C{Title Filter Applied?}
C -->|Yes| D[Filter by CEO, CTO, VP, etc.]
C -->|No| E[Keep All Employees]
D --> F[Step 2: Company Enrichment API]
E --> F
F --> G[Extract Domain + Company Intel]
G --> H[Step 3: Email Pattern Generator]
H --> I["Generate 7 patterns per person<br/>first.last@ / first@ / flast@ / etc."]
I --> J[Step 4: Email Validator API]
J --> K[Validate Each Candidate Email]
K --> L[Step 5: Merge + Output]
L --> M[Enriched Leads Dataset]
style A fill:#e1f5fe
style M fill:#c8e6c9
style H fill:#fff3e0
style I fill:#fff3e0

Getting Started

On Apify Console

  1. Open the actor on Apify Store
  2. Set the Company LinkedIn URL (e.g., https://www.linkedin.com/company/stripe)
  3. Optionally set the Company Website for better enrichment
  4. Optionally filter by Title Keywords like CEO, CTO, VP, Director
  5. Click Start and wait for results

Via API

curl -X POST "https://api.apify.com/v2/acts/george.the.developer~lead-enrichment-pipeline/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyUrl": "https://www.linkedin.com/company/stripe",
"companyWebsite": "https://stripe.com",
"maxEmployees": 10,
"filterTitles": ["CEO", "CTO", "VP", "Director"],
"validateEmails": true
}'

Via Apify Client (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('george.the.developer/lead-enrichment-pipeline').call({
companyUrl: 'https://www.linkedin.com/company/stripe',
companyWebsite: 'https://stripe.com',
maxEmployees: 10,
filterTitles: ['CEO', 'CTO', 'VP'],
validateEmails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Output Format

Each lead in the dataset looks like this:

{
"fullName": "Patrick Collison",
"firstName": "Patrick",
"lastName": "Collison",
"title": "CEO and Co-founder at Stripe",
"linkedinUrl": "https://www.linkedin.com/in/patrickcollison/",
"confidence": "medium",
"company": {
"name": "Stripe",
"domain": "stripe.com",
"industry": "Financial Services",
"description": "Financial infrastructure for the internet",
"technologies": ["React", "Node.js", "Ruby"],
"socialProfiles": {
"linkedin": "https://www.linkedin.com/company/stripe",
"twitter": "https://twitter.com/stripe"
}
},
"emails": [
{
"email": "patrick@stripe.com",
"valid": true,
"score": 0.9
},
{
"email": "patrick.collison@stripe.com",
"valid": true,
"score": 0.85
},
{
"email": "pcollison@stripe.com",
"valid": false,
"score": 0.2
}
],
"enrichedAt": "2026-04-08T12:00:00.000Z"
}

Email Pattern Generation

The pipeline generates 7 common corporate email patterns for each employee:

PatternExample
first.last@domainpatrick.collison@stripe.com
first@domainpatrick@stripe.com
flast@domainpcollison@stripe.com
firstl@domainpatrickc@stripe.com
last.first@domaincollison.patrick@stripe.com
first_last@domainpatrick_collison@stripe.com
last@domaincollison@stripe.com

Each pattern is then validated against the mail server to confirm deliverability.

Input Parameters

ParameterTypeRequiredDefaultDescription
companyUrlstringYesLinkedIn company page URL
companyWebsitestringNoCompany website for enrichment
maxEmployeesintegerNo10Max employees to extract (1 to 50)
filterTitlesstring[]No[]Only include matching title keywords
validateEmailsbooleanNotrueValidate discovered emails
apifyTokenstringNoYour Apify token for sub actor calls

Pricing

$0.03 per matched lead via Pay Per Event.

The $0.03 fee applies only to leads whose LinkedIn result names the company, shown as confidence medium or high. Leads with confidence low (the company was not confirmed, or Google hid the profile link) are still in your results and cost nothing.

The three actors this pipeline calls are paid actors, and each bills its own events to your account at its Store price. The LinkedIn Company Employees Scraper charges a start fee per run and a fee per matched profile, the Company Enrichment API charges per company, and the Email Validator API charges per email it can settle (7 guesses per lead, unknown answers are free). Set validateEmails to false to skip the email checks.

Architecture

The pipeline orchestrates three existing Apify actors:

flowchart LR
P[Lead Enrichment Pipeline] --> L[LinkedIn Employee Scraper]
P --> E[Company Enrichment API]
P --> V[Email Validator API]
L -->|Employees| P
E -->|Company Data + Domain| P
V -->|Validation Results| P
P --> G[Email Pattern Generator]
G -->|Candidate Emails| V
style P fill:#1565c0,color:#fff
style G fill:#ff8f00,color:#fff

The email pattern generator is the core value. LinkedIn gives names but not emails. Company enrichment gives generic contact emails. The pattern generator bridges the gap by creating personalized candidate emails from names and the company domain, then validates each one.

Use Cases

  • Sales prospecting: Find decision makers at target companies with verified emails
  • Recruiting: Build candidate lists with contact information
  • Market research: Map out team structures at competitor companies
  • Partnership outreach: Find the right people to contact at potential partner companies
  • Investor research: Identify key executives at portfolio companies

Tips for Best Results

  • Always provide the company website when you know it. This improves enrichment accuracy.
  • Use title filters to focus on decision makers and reduce costs.
  • Set maxEmployees to a reasonable number. Start with 10 and increase if needed.
  • The pipeline works best for companies with active LinkedIn presence.

Limitations

  • LinkedIn scraping depends on publicly available profile data
  • Email validation accuracy depends on the target mail server configuration
  • Many mail servers do not answer mailbox checks from cloud servers, so those emails come back with valid null (unknown) instead of a guess
  • Rate limits apply to sub actor calls