📧 Contact Details Extractor avatar

📧 Contact Details Extractor

Pricing

Pay per event

Go to Apify Store
📧 Contact Details Extractor

📧 Contact Details Extractor

Extract emails, phone numbers, and social media links from any webpage. Filters junk patterns, parses JSON-LD contacts. No browser needed - fast HTTP-only scraping for lead generation.

Pricing

Pay per event

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

18 hours ago

Last modified

Share

Extract emails, phone numbers, and social media links from any webpage. Filters junk, parses JSON-LD contacts. Fast HTTP-only scraping.

Store Quickstart

Start with the Quickstart template (5 demo sites). For lead generation, use Lead Gen template (500 URLs, high concurrency).

Key Features

  • 📧 Email extraction — Regex + DOM scan, filters junk patterns (example@, noreply@)
  • 📞 Phone number detection — International formats, with country context
  • 🔗 Social media links — LinkedIn, Twitter/X, Facebook, Instagram, GitHub
  • 🧩 JSON-LD contacts — Structured contact data from schema.org markup
  • 🚫 Junk filtering — Excludes obvious placeholders and spam patterns
  • Bulk processing — Up to 500 URLs per run, HTTP-only (fast)

Use Cases

WhoWhy
Sales teamsBuild outbound lead lists from industry directories
RecruitersFind hiring manager contacts from company sites
Marketing agenciesCompile contact databases for campaign targeting
B2B platformsEnrich company profiles with verified contact info
Investigation teamsGather public contact info for due diligence

Input

FieldTypeDefaultDescription
urlsstring[](required)URLs to extract from (max 500)
concurrencyinteger5Parallel requests (1-10)

Input Example

{
"urls": ["https://example.com/contact", "https://company.com/about"],
"concurrency": 5
}

Output

FieldTypeDescription
urlstringPage URL scanned
emailsstring[]Unique email addresses found
phonesstring[]Unique phone numbers (E.164 format where possible)
socialLinksobjectSocial profile URLs by platform
socialLinks.twitterstring[]Twitter/X profile URLs
socialLinks.linkedinstring[]LinkedIn profile URLs
socialLinks.facebookstring[]Facebook page URLs
scannedAtstringISO timestamp

Output Example

{
"url": "https://example.com/contact",
"emails": ["hello@example.com", "sales@example.com"],
"phones": ["+1-555-0100"],
"socialLinks": {
"linkedin": "https://linkedin.com/company/example",
"twitter": "https://twitter.com/example"
},
"jsonLdContacts": [{"@type": "Organization", "telephone": "+1-555-0100"}]
}

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~contact-details-extractor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "urls": ["https://example.com/contact", "https://company.com/about"], "concurrency": 5 }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/contact-details-extractor").call(run_input={
"urls": ["https://example.com/contact", "https://company.com/about"],
"concurrency": 5
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/contact-details-extractor').call({
"urls": ["https://example.com/contact", "https://company.com/about"],
"concurrency": 5
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips & Limitations

  • Run against company About/Contact pages for highest hit rate.
  • Combine with Email Deliverability Checker to filter out invalid addresses.
  • Use for B2B lead enrichment, journalism, or compliance workflows.
  • Respect GDPR/CCPA — contact data scraping has legal restrictions in many regions.

FAQ

Does it handle email obfuscation?

Basic obfuscation (at, dot, [at]) is detected. JavaScript-rendered emails or images are missed.

Is scraping contact info legal?

Public contact info on business sites is generally acceptable, but verify GDPR/CCPA compliance for EU/CA data usage.

Can it find contacts behind login walls?

No — only publicly accessible pages. Authentication is not supported.

How accurate is phone detection?

90%+ for international formats. US/EU/UK numbers most accurate. Verify before dialing.

Does it find emails hidden in images?

No — text-based extraction only. OCR is not supported.

Will it bypass Cloudflare email protection?

It can decode the basic Cloudflare obfuscation, but not all anti-scraping protections.

Lead Generation & B2B cluster — explore related Apify tools:

  • 📩 Email Validator — Validate email addresses in bulk: syntax, DNS MX lookup, disposable domain detection, deliverability score.
  • 📞 Phone Number Validator — Validate and format phone numbers for 250+ countries using google-libphonenumber.
  • Email Deliverability Portfolio Audit API — Audit SPF, DKIM, DMARC, MTA-STS, TLS-RPT, BIMI, and sender-readiness signals across domain portfolios with executive summaries and remediation guidance.

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.005 per output item

Example: 1,000 items = $0.01 + (1,000 × $0.005) = $5.01

No subscription required — you only pay for what you use.