Business Contact Extractor avatar
Business Contact Extractor

Pricing

Pay per event

Go to Apify Store
Business Contact Extractor

Business Contact Extractor

Extract business emails and phone numbers from company websites. High-accuracy AI-enabled business contact extractor using smart crawling, LLM and AI extraction, heuristics, and PDF extraction. Finds emails/phones even on complex sites. Supports CSV bulk input and outputs clean, CRM-ready data.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Sue

Sue

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 days ago

Last modified

Share

The most thorough and accurate contact extractor available — powered by AI and built with enterprise-grade verification.

Extract verified business emails and phone numbers from company websites, even when contact info is buried in PDFs, hidden behind navigation menus, or scattered across multiple pages. This Actor combines smart multi-page crawling, strict multi-layer validation, and optional AI-powered extraction to deliver results that other scrapers simply miss.

Why AI Makes the Difference

When you provide a Gemini API key, this Actor uses LLM-powered extraction to:

  • Understand page context — AI reads the page like a human, identifying contact sections even on modern, JavaScript-heavy sites with minimal visible text
  • Extract from complex layouts — Finds emails and phones embedded in stylized designs, image-based text, or unconventional formatting
  • Validate intelligently — Cross-references extracted contacts against the page content to reject false positives
  • Achieve 100% email accuracy — In real-world benchmarks, LLM mode eliminated all email errors

Even without AI, this Actor runs 50+ validation rules on every email and phone number — rejecting hex IDs, placeholder text, vendor emails, invalid formats, and other junk that pollutes typical scraper output.

Ideal for lead generation, B2B prospecting, data enrichment, and CRM automation. Works as a business email scraper, website contact finder, and phone number extraction API.

Pricing

This Actor uses Apify's pay-per-event model:

Fee TypeCost
Actor Start$0.05 per run
Result$0.01 per domain

Example: Processing 100 domains costs approximately $1.05 ($0.05 start fee + $1.00 for 100 results).

LLM Cost (Optional)

The optional LLM feature uses Gemini 2.0 Flash, which has an extremely generous free tier. For most users, the LLM cost is completely free or negligible — typically just a few cents even for thousands of domains.

Get a free Gemini API key at https://aistudio.google.com/


Why This Scraper Is Different

Most contact scrapers only scan a single page or rely on simple pattern matching. That misses a huge amount of real business contact information.

This Actor is designed to be far more thorough and reliable, using a hybrid system that dramatically improves both coverage and accuracy:

🔍 Smart Multi-Page Crawling

Automatically looks for:

  • Contact pages
  • About/team/support pages
  • Footer links
  • Auto-discovered subpages

This avoids the “homepage only” limitation of basic scrapers.

🧠 AI-Powered Extraction + Strict Verification

Every contact goes through a multi-stage validation pipeline:

  • Format validation — Rejects malformed emails, hex IDs, UUID fragments, and datetime strings
  • Domain matching — Prioritizes emails matching the company's own domain
  • Vendor filtering — Excludes generic vendor emails (e.g., orders@toasttab.com)
  • Phone normalization — Converts all numbers to E.164 international format
  • Duplicate detection — Removes redundant entries across all pages

With the optional Gemini AI integration, the Actor can also:

  • Parse JavaScript-rendered content that basic scrapers miss
  • Understand semantic context to find contacts on unconventional page layouts
  • Cross-validate LLM findings against strict rules to eliminate hallucinations

📄 PDF Contact Extraction

Many companies hide contact details inside:

  • brochures
  • catalogs
  • downloadable spec sheets

This Actor automatically fetches and scans PDFs for emails and phone numbers — a major upgrade over typical HTML-only scrapers.

🧹 Enterprise-Grade Data Quality

This isn't just extraction — it's verification at scale. Every result passes through 50+ validation rules:

  • Rejects placeholder emails (test@, noreply@, example@)
  • Filters out vendor/third-party emails (toasttab, squarespace, wix)
  • Removes invalid phone patterns (hex IDs, tracking codes, dates)
  • Normalizes all phones to E.164 international format
  • Deduplicates across all crawled pages
  • Prioritizes brand-matching emails as the primary contact

The result: CRM-ready data you can trust, not a list of garbage to clean up manually.

📦 Bulk CSV Upload

Upload a CSV of domains and process hundreds of websites in one run.


Performance (Based on Real-World Benchmarking)

Testing with 30 trade show exhibitor domains:

MetricWithout LLMWith LLM
Email accuracy92%100%
Email coverage80%83%
Phone coverage87%90%

These results are significantly higher than traditional scrapers.


Input Options

Option 1 — Domain List

{
"domains": ["example.com", "another-company.com"],
"maxPagesPerDomain": 10,
"llmApiKey": "your-gemini-api-key"
}

Option 2 — CSV Upload

Upload a CSV with a domain, website, or url column:

domain
example.com
another-company.com
acme-corp.net

Parameters

ParameterTypeDescription
domainsarrayList of domains or URLs to scrape
csvFilefileCSV file with domain/website/url column
maxPagesPerDomainintegerMax pages to crawl per domain (default: 10)
llmApiKeystringGemini API key for enhanced accuracy

Get a free Gemini API key at https://aistudio.google.com/


Output Format

Each domain produces one result:

{
"domain": "example.com",
"primary_email": "contact@example.com",
"primary_phone": "+14155551234",
"supplemental_emails": ["sales@example.com", "support@example.com"],
"supplemental_phones": ["+14155555678"]
}

Output Fields

FieldDescription
domainDomain that was scraped
primary_emailBest email found (prefers brand domain)
primary_phoneBest phone found (E.164 format)
supplemental_emailsAll other valid emails found
supplemental_phonesAll other valid phones found

Usage Tips

  • Add a Gemini API key for maximum coverage and 100% email accuracy
  • Increase maxPagesPerDomain if contacts aren’t found (try 15–20)
  • Use CSV upload for large batches (100+ domains)
  • Find results in the Dataset tab after the run completes

Limitations

  • Cannot extract contacts behind login walls
  • Cannot retrieve contacts locked behind form submissions

If you need high-quality business contact data at scale, this Actor provides the most robust and accurate extraction method available on Apify.