Email & Social Lead Finder avatar

Email & Social Lead Finder

Pricing

from $1.00 / 1,000 pages

Go to Apify Store
Email & Social Lead Finder

Email & Social Lead Finder

Crawl any list of websites and extract emails, phone numbers, social profiles and page metadata for lead generation.

Pricing

from $1.00 / 1,000 pages

Rating

0.0

(0)

Developer

Lucas Bonardo

Lucas Bonardo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Crawl any list of websites and pull out the contact signals that matter for lead generation: email addresses, phone numbers, social media profiles and page metadata — one clean row per page.

Point it at a company's homepage or contact page, let it follow same-domain links a hop or two deep, and export the results as JSON, CSV or Excel.

What it does

  • Fetches each start URL with a fast HTTP crawler (no browser overhead).
  • Follows same-domain links up to a configurable depth.
  • Extracts:
    • Emails — from visible text, mailto: links, and common obfuscations (name [at] domain (dot) com).
    • Phones — from tel: links and text, normalised to digits with an optional leading + (7–15 digits, E.164-friendly).
    • Social profiles — Facebook, Instagram, X/Twitter, LinkedIn, YouTube, TikTok, Pinterest, GitHub, Telegram, WhatsApp, Medium, Threads, Discord. Share/intent widgets are filtered out.
    • Metadata — title, description, Open Graph tags, canonical URL, language.
  • Respects robots.txt (toggleable) and rate limits (maxRequestsPerMinute, maxConcurrency).

Input

FieldTypeDefaultDescription
startUrlsarrayPages to crawl (required).
maxCrawlDepthinteger1Link hops to follow (0 = start URLs only).
maxRequestsPerCrawlinteger100Total page cap per run.
sameDomainOnlybooleantrueKeep the crawl on the start domain.
includeSubdomainsbooleantrueTreat subdomains as the same site.
extractPhoneNumbersbooleantrueToggle phone extraction.
onlyPagesWithContactsbooleanfalseDrop rows with no contacts found.
respectRobotsTxtbooleantrueHonour robots.txt disallow rules.
maxConcurrencyinteger10Parallel requests.
maxRequestsPerMinuteinteger120Politeness throttle.
requestTimeoutSecsinteger30Per-page navigation timeout.
proxyConfigurationobjectOptional Apify Proxy settings.

See .actor/input_schema.json for the full schema.

Output

Each dataset row:

{
"url": "https://acme.example/contact",
"depth": 1,
"title": "Contact — Acme",
"emails": ["hello@acme.example", "sales@acme.example"],
"phones": ["+12025550143"],
"socialProfiles": [
{ "platform": "facebook", "url": "https://www.facebook.com/acme" },
{ "platform": "linkedin", "url": "https://www.linkedin.com/company/acme" }
],
"metadata": { "title": "Contact — Acme", "ogSiteName": "Acme Inc", "...": "..." },
"emailCount": 2,
"phoneCount": 1,
"socialCount": 2,
"hasContacts": true,
"scrapedAt": "2026-07-04T10:00:00.000Z"
}

Run it locally

npm install # from the monorepo root (installs all actors)
npm start # uses storage/key_value_stores/default/INPUT.json
npm test # runs an offline sample execution against a fixture site

Or with the Apify CLI: apify run.

Responsible use

This actor only reads publicly available pages. You are responsible for complying with each site's terms, robots.txt, and applicable privacy/marketing laws (GDPR, CAN-SPAM, etc.) when contacting any leads you collect.