Company Contact Enricher - Website to B2B Leads avatar
Company Contact Enricher - Website to B2B Leads

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Company Contact Enricher - Website to B2B Leads

Company Contact Enricher - Website to B2B Leads

Transform company website URLs into enriched B2B contact data. Automatically scrapes team pages, detects email patterns, cross-references LinkedIn & identifies decision makers. - Website Scanning - Contact Extraction - Email Pattern Detection - LinkedIn Integration - Title Filtering - Webhooks

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

John Rippy

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

5

Monthly active users

2 days ago

Last modified

Share

๐Ÿข Company Contact Enricher - Website to B2B Leads

"Transform Websites into B2B Contact Data" by John Rippy | johnrippy.link

๐Ÿ† 2025 Zapier Automation Hero of the Year โ€” Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more โ†’


Transform company website URLs into enriched B2B contact data. Automatically scrapes team pages, detects email patterns, cross-references LinkedIn profiles, and identifies decision makers.

Features

โœ… Website Scanning - Crawls company sites for team/about pages โœ… Contact Extraction - Finds names, titles, emails, phone numbers โœ… Email Pattern Detection - Detects patterns like first.last@company.com โœ… LinkedIn Integration - Cross-references with LinkedIn profiles โœ… Title Filtering - Focus on decision makers (CEO, CTO, etc.) โœ… Webhook Support - Integrate with Zapier, Make, n8n โœ… Demo Mode - Test with sample data

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Company Contact Enricher โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”‚
โ”‚ Website URLs โ”€โ”€โ–บ Crawl Team Pages โ”€โ”€โ–บ Extract โ”‚
โ”‚ โ”‚ โ”‚
โ”‚ โ–ผ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ Name, Title, โ”‚ โ”‚
โ”‚ โ”‚ Email, Phone โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”‚ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ” โ”‚
โ”‚ โ–ผ โ–ผ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ Email Pattern โ”‚ โ”‚ LinkedIn โ”‚ โ”‚
โ”‚ โ”‚ Detection โ”‚ โ”‚ Lookup โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ–ผ โ”‚
โ”‚ Enriched Dataset โ”‚
โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Input Schema

ParameterTypeRequiredDefaultDescription
demoModebooleanNofalseRun with sample data to test without real scraping
websiteUrlsstring[]Yes*[]List of company website URLs to enrich
lookupLinkedInbooleanNotrueCross-reference contacts with LinkedIn profiles
detectEmailPatternbooleanNotrueAuto-detect email patterns (first.last@, flast@, etc.)
targetTitlesstring[]No["CEO", "CTO", ...]Filter contacts by job titles
maxContactsPerSiteintegerNo20Maximum contacts to extract per website (1-100)
includePhoneNumbersbooleanNotrueAttempt to find phone numbers
webhookUrlstringNo-URL to POST results when complete
proxyConfigurationobjectNoResidentialApify proxy settings

*Required unless demoMode is true

Output Schema

Each contact in the dataset includes:

FieldTypeDescription
namestringFull name of the contact
titlestringJob title/position
emailstringEmail address (found or derived)
emailConfidencenumberConfidence score: 1.0 = found on page, 0.75 = derived from pattern
phonestringPhone number if found
linkedInUrlstringLinkedIn profile URL
companystringCompany name (from page title)
companyDomainstringDomain extracted from URL
sourcestringWhere contact was found ("team page", "about page", "main page")
scrapedAtstringISO 8601 timestamp

Use Cases

๐ŸŽฏ Sales Prospecting - Build targeted lead lists from competitor or prospect websites ๐Ÿ“ง Email Outreach - Find decision-maker emails for cold outreach campaigns ๐Ÿ”— LinkedIn Campaigns - Get profile URLs for connection requests ๐Ÿ“Š Market Research - Map company org structures and leadership teams ๐Ÿค Partnership Development - Find the right contacts at potential partners ๐Ÿ” Competitor Analysis - Identify key personnel at competing companies

Example Input

Basic Usage

{
"websiteUrls": [
"https://acme-corp.com",
"https://example-startup.io"
],
"lookupLinkedIn": true,
"detectEmailPattern": true,
"targetTitles": ["CEO", "CTO", "VP Sales", "Marketing Director"],
"maxContactsPerSite": 10
}

Focus on C-Suite Only

{
"websiteUrls": ["https://enterprise-company.com"],
"targetTitles": ["CEO", "CFO", "CTO", "COO", "CMO"],
"maxContactsPerSite": 5,
"lookupLinkedIn": true
}

Quick Test with Demo Mode

{
"demoMode": true
}

With Webhook Integration

{
"websiteUrls": ["https://target-company.com"],
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"targetTitles": ["Director", "Manager", "Head of"]
}

Example Output

Single Contact

{
"name": "Jane Smith",
"title": "Chief Executive Officer",
"email": "jane.smith@acme-corp.com",
"emailConfidence": 0.95,
"phone": "+1 (555) 123-4567",
"linkedInUrl": "https://linkedin.com/in/janesmith",
"company": "Acme Corporation",
"companyDomain": "acme-corp.com",
"source": "team page",
"scrapedAt": "2024-12-24T15:30:00Z"
}

Demo Mode Output (5 sample contacts)

[
{
"name": "Jane Smith",
"title": "Chief Executive Officer",
"email": "jane.smith@acme-corp.com",
"emailConfidence": 0.95,
"company": "Acme Corporation"
},
{
"name": "Michael Johnson",
"title": "Chief Technology Officer",
"email": "michael.johnson@acme-corp.com",
"emailConfidence": 0.95,
"company": "Acme Corporation"
}
]

Email Pattern Detection

The actor detects these common email patterns:

PatternExample
first.lastjane.smith@company.com
firstlastjanesmith@company.com
first_lastjane_smith@company.com
firstjane@company.com
f.lastj.smith@company.com
flastjsmith@company.com
last.firstsmith.jane@company.com

If an email is found on the page, emailConfidence is 1.0. If derived from a pattern, emailConfidence is 0.75.

Team Page Detection

The actor automatically searches for these common paths:

  • /team, /our-team
  • /about, /about-us
  • /leadership, /management
  • /people, /staff
  • /who-we-are
  • /company/team, /company/about

It also follows internal links containing keywords like "team", "about", "leadership", and "people".

Apify Integration

This actor can call other actors for enhanced enrichment:

  • linkedin-profile-scraper - Enriches with LinkedIn data
  • website-crawler - For deep website scanning

Pricing

Pay-per-event model:

EventCostDescription
website_scanned$0.05Each company website scanned
contact_enriched$0.02Each contact found with email or LinkedIn
linkedin_lookup$0.03Each LinkedIn profile lookup

Example costs:

  • 10 websites ร— 5 contacts each = $0.50 + $1.00 = $1.50
  • With LinkedIn lookups: + $1.50 = $3.00 total

FAQ

Why are some contacts missing emails?

  • Some team pages only list names and photos without contact info
  • The actor will attempt to derive emails using detected patterns
  • Check emailConfidence - values below 1.0 indicate derived emails

Why doesn't LinkedIn lookup work for all contacts?

  • LinkedIn profiles may not exist or may have privacy settings
  • Name + company matching isn't always reliable
  • The actor only charges for successful lookups

How long does it take?

  • ~5-10 seconds per website
  • LinkedIn lookups add ~2-3 seconds per contact
  • Demo mode completes instantly

Can I filter by specific departments?

  • Yes! Use targetTitles with department-specific keywords
  • Example: ["Sales", "Marketing", "Business Development"]

What if a website blocks scraping?

  • The actor uses Apify's residential proxy pool
  • Most websites are accessible, but some may block
  • Failed websites are logged but don't count toward billing

Error Handling

ErrorCauseSolution
"At least one website URL is required"No URLs providedAdd URLs to websiteUrls or enable demoMode
"Failed to scrape"Website blocked or timeoutCheck if site is accessible, try different proxy
"No contacts found"No team page detectedSite may not have a public team page

Integrations

Zapier

Send results to Zapier when the run completes:

{
"websiteUrls": ["https://example.com"],
"webhookUrl": "https://hooks.zapier.com/hooks/catch/..."
}

Make (Integromat)

{
"webhookUrl": "https://hook.us1.make.com/..."
}

n8n

{
"webhookUrl": "https://your-n8n.com/webhook/..."
}

Built by John Rippy | johnrippy.link

๐Ÿ† 2025 Zapier Automation Hero of the Year โ€” Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more โ†’