LinkedIn Email Enrichment
Purpose
Finds email addresses and contact details for LinkedIn leads using the Apify Leads Finder actor (code_crafter/leads-finder). Runs automatically after LinkedIn profile scraping in the onboarding pipeline, and can also be triggered standalone.
How It Works
- Analyzes existing LinkedIn leads' headlines to derive the most common job titles (CEO, Founder, VP, etc.)
- Searches for matching professionals using the Leads Finder actor, which returns:
- Work email addresses
- Personal email addresses
- Phone numbers
- Company details (name, website, industry, size, revenue)
- LinkedIn profile URLs
- Matches results to existing leads by LinkedIn identifier or name
- Inserts new leads with emails into
linkedin_leadstable - Cross-populates
business_leadstable with company information
Actor Details
- Apify Actor:
code_crafter/leads-finder(ID:IoSHqwTR9YGhzccez) - Input:
query(job title),location,maxResults - Output: Full contact + company profiles with emails
Pipeline Position
Runs as Step 3.5 in the initial lead scrape pipeline:
- Google Maps scrape
- Instagram lead scrape
- LinkedIn profile scrape
- LinkedIn Email Enrichment (this skill)
- Facebook page discovery
- Website contact enrichment
Usage
# Runs automatically during onboarding lead scrape pipeline
node scripts/initial-lead-scrape.js
# The enrichment function is called after LinkedIn scraping completes
Database Tables
- Reads from:
linkedin_leads(to derive keyword queries from headlines) - Writes to:
linkedin_leads(email column),business_leads(company + contact data)
Dependencies
- Apify API key (
APIFY_API_KEYin.env) - PostgreSQL database (
INSFORGE_CONNECTION_STRINGin.env)
Cost
~$0.03-0.10 per 100 leads found (Apify usage-based pricing)