Email & Contact Lead Scraper — Domain to Leads avatar

Email & Contact Lead Scraper — Domain to Leads

Pricing

from $8.00 / 1,000 contact records

Go to Apify Store
Email & Contact Lead Scraper — Domain to Leads

Email & Contact Lead Scraper — Domain to Leads

Turn any domain into B2B leads — emails, phone numbers and social profiles in one run. Batch up to 20 domains per call. 3 operations: website contacts (emails + phones + 9 social networks), bulk email search by domain, and social profile discovery. Clean JSON, pay per result.

Pricing

from $8.00 / 1,000 contact records

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Email & Contact Lead Scraper — Domain to Emails, Phones & Socials 🚀

SIÁN Agency Store Property Skip Tracing Instagram AI Transcript Taobao Tmall Scraper

🎉 Turn any domain into B2B leads — emails, phone numbers AND social profiles in ONE run, batch up to 20 domains at once

Built for sales teams, recruiters, agencies and growth marketers who need clean contact data fast — without stitching three scrapers together


📋 Overview

One domain in, a full contact record out. Email & Contact Lead Scraper takes a company domain (or a list of up to 20) and returns every public email address, phone number, and social profile it can find — all in a single structured dataset. It fuses three lead-generation tools that competitors usually sell separately.

Why sales and growth teams choose us:

  • 3 tools in 1: website contacts, bulk email search, and social-profile discovery — no need to buy and orchestrate three separate actors
  • Batch up to 20 domains per run: enrich a whole target-account list in a single call
  • 🎯 Emails + phones + 9 social networks per domain: Facebook, Instagram, TikTok, Snapchat, X/Twitter, LinkedIn, GitHub, YouTube, Pinterest
  • 💰 Pay per result: only charged for the contacts you actually receive — free tier to try it first, no credit card
  • 💎 Source-tracked data: every email and phone comes with the URLs where it was discovered, so you can verify before you reach out
  • Clean JSON, ready for CRM: curated camelCase fields, no messy raw blobs

✨ Features

  • 📇 Website Contacts: feed one or many domains, get emails, phone numbers and social links for each
  • 📧 Bulk Email Search: surface up to thousands of email addresses indexed against a domain
  • 🔗 Social Links Search: discover a brand's official presence across 9 networks from just a name or domain
  • 🚀 Batch processing: up to 20 domains in a single Website Contacts run
  • 🔍 Source attribution: each contact ships with the source URLs it was found on
  • 📊 Two dataset views: a complete "all fields" view and a curated decision-first view
  • 🧹 Auto-cleaned domains: https://, www. and trailing paths are stripped automatically
  • 📄 HTML run report: success/error counts, success rate and duration — written even on failure

🎬 Quick Start

Pick an operation, give it a domain or query, and run. Within seconds you have a contact-rich dataset you can export to CSV, Excel or JSON. No API keys, no account setup beyond Apify.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~email-contact-lead-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation": "scrapeContacts", "domains": ["stripe.com", "github.com"]}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your operation

Pick Website Contacts (domain → emails + phones + socials), Email Search (all emails on a domain), or Social Links Search (social profiles for a brand).

Step 2: Enter your target

Paste one or more domains (Website Contacts), or a search query plus domain (Email Search), or a brand name (Social Links Search).

Step 3: Run and export

Hit Start. Export the dataset as JSON, CSV or Excel, or pull it via the Apify API straight into your CRM.

That's it! In under a minute, you'll have:

  • A clean contact record for every domain you submitted
  • Emails, phone numbers and social profile links
  • A ready-to-import dataset for outreach or enrichment

📥 Input Configuration

FieldTypeRequiredDescription
operationstringYesscrapeContacts, searchEmails, or searchSocialLinks
domainsarrayFor scrapeContacts1–20 company domains (e.g. stripe.com)
querystringFor searchEmails / searchSocialLinksKeyword/role (Email Search) or brand name/domain (Social Links Search)
emailDomainstringFor searchEmailsDomain to search email addresses on
maxResultsintegerNoCap on email rows returned (Email Search)

Website Contacts (batch — free):

{
"operation": "scrapeContacts",
"domains": ["stripe.com", "github.com", "vercel.com"]
}

Email Search:

{
"operation": "searchEmails",
"query": "marketing",
"emailDomain": "stripe.com",
"maxResults": 100
}

Social Links Search:

{
"operation": "searchSocialLinks",
"query": "nike.com"
}

📤 Output

Results are saved to the Apify dataset. Website Contacts returns one rich row per domain; Email Search returns one row per email; Social Links Search returns one row per profile URL.

FieldTypeDescription
domainstringThe company domain (Website Contacts)
emailsarrayAll emails found for the domain
phoneNumbersarrayAll phone numbers found
emailsDetailedarrayEach email + the source URLs it appeared on
facebook / instagram / linkedin / …stringSocial profile URL per network (9 total)
socialLinksarrayAll non-empty social URLs for the domain
emailstringA single email (Email Search)
platformstringSocial network name (Social Links Search)
profileUrlstringA single social profile URL (Social Links Search)
statusstringsuccess, error, or notice

Example (Website Contacts row):

{
"domain": "stripe.com",
"emails": ["support@stripe.com", "sales@stripe.com", "dpo@stripe.com"],
"emailCount": 8,
"phoneNumbers": ["8889262289"],
"phoneCount": 1,
"linkedin": "https://www.linkedin.com/company/stripe",
"twitter": "https://twitter.com/stripe",
"github": "https://github.com/stripe",
"socialLinks": ["https://www.facebook.com/StripeHQ", "https://www.instagram.com/stripehq"],
"_operation": "scrapeContacts",
"status": "success"
}

💼 Use Cases & Examples

1. Batch B2B Lead Enrichment

Sales ops teams enriching a target-account list before a campaign.

Input: Up to 20 company domains Output: Emails, phones and social profiles per domain Use: Append the dataset to your CRM and start outreach the same day.

2. Cold-Outreach List Building

SDRs and recruiters who need direct ways to reach a company.

Input: A domain (Website Contacts) or query + domain (Email Search) Output: Role inboxes (sales@, support@) and up to thousands of addresses Use: Build a verified send list for email and phone sequences.

3. Social Footprint Mapping

Brand and partnership researchers vetting a company's channels.

Input: A brand name or domain (Social Links Search) Output: Official profiles across 9 social networks Use: Power competitive monitoring, influencer vetting and brand-safety checks.

4. Data Cleansing & Contact Verification

RevOps teams keeping a CRM current and deliverable.

Input: Domains you already hold Output: Refreshed emails, phones and social links Use: Fill gaps, confirm channels still exist, and reduce bounce rates.

5. Market & Competitor Research Feeds

Analysts tracking how competitors expose contact channels over time.

Input: A scheduled list of domains Output: A structured contact feed Use: Drive dashboards, lead-scoring models and go-to-market analysis.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/email-contact-lead-scraper').call({
operation: 'scrapeContacts',
domains: ['stripe.com', 'github.com'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/email-contact-lead-scraper').call(
run_input={'operation': 'scrapeContacts', 'domains': ['stripe.com', 'github.com']}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~email-contact-lead-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "scrapeContacts", "domains": ["stripe.com"]}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: New row in your CRM or a scheduled run
  2. HTTP Request: Call the actor API with a list of domains
  3. Process: Map emails/phones/socials into your fields
  4. Action: Enrich the record, notify a rep, or start a sequence

📊 Performance & Pricing

FREE Tier (Try It Now)

  • Batch Website Contacts (2+ domains) and Social Links Search — full feature access, same quality
  • No credit card required
  • Perfect for testing and small lists
  • Single-domain Website Contacts and bulk Email Search unlocked
  • Pay-per-result: only charged for the contacts and emails you receive
  • One batch call can return contacts for 20 domains at once

💰 Pay only for results — undercut per-lead pricing with rich, source-tracked records.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many domains can I process at once? A: Up to 20 domains per Website Contacts run. Batching 2+ domains is available on the free tier.

Q: What's the difference between this and Property Skip Tracing? A: Property Skip Tracing goes from a physical address to the people connected to it. This actor goes from a company domain to its public emails, phones and social profiles — built for B2B lead generation, not real-estate skip tracing.

Q: Does each email come with proof of where it was found? A: Yes — the emailsDetailed and phoneNumbersDetailed fields include the source URLs where each contact was discovered.

Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset, or pull via the API.

Q: How many emails can Email Search return? A: Up to roughly 5,000 addresses per domain. Use maxResults to cap the count and control cost.

Q: Is this legal? A: It extracts only publicly available contact information. Your results may contain personal data subject to GDPR and similar laws — see the legal section below.


🐛 Troubleshooting

No contacts returned for a domain

  • Confirm the domain is spelled correctly and is publicly reachable
  • Some small or new sites simply have no indexed public contacts

Email Search returned a "paid plan required" notice

  • Email Search and single-domain Website Contacts are paid features — upgrade your Apify plan, or batch 2+ domains / use Social Links Search on the free tier

Rate-limit message in the log

  • The actor automatically backs off and retries; very large batches may take a little longer

Our actors are ethical and only extract what a business has chosen to publish publicly on the open web — such as the contact emails, phone numbers and social profiles a company lists for inbound enquiries.

However, you should be aware that your results will often contain personal data (for example, a named person's work email). Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not process personal data unless you have a legitimate reason to do so — a lawful basis such as legitimate interest for B2B outreach, with the required notices and opt-outs. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools