Website Email & Contact Scraper avatar

Website Email & Contact Scraper

Pricing

from $4.00 / 1,000 website with emails founds

Go to Apify Store
Website Email & Contact Scraper

Website Email & Contact Scraper

Crawl any list of websites and get their emails, phone numbers and social profiles, sorted by inbox type (editorial, general, person, support) with the page each one was found on.

Pricing

from $4.00 / 1,000 website with emails founds

Rating

0.0

(0)

Developer

Avocado Code

Avocado Code

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Give it a list of websites and get back every email address, phone number and social profile on them. Each email comes with the exact page it was found on and a label telling you what kind of inbox it is.

Built for people who need to reach the right inbox at a company, like link builders, PR teams, partnership managers and sales teams. A plain list of addresses isn't enough for that.

What you get for each website

  • Emails, sorted so the most useful inboxes come first:
    • editorial_partnerships_ads: editor@, press@, partnerships@, advertise@, marketing@, writeforus@ …
    • general: info@, contact@, admin@
    • person: named people such as john@, john.smith@, j.smith@
    • support: support@
    • other: everything else (hello@, sales@, jobs@ …), returned only in "All emails" mode
  • The page each email was found on, so you can check it in one click
  • sameDomain flag, which separates the site's own inboxes from agency, parent-company or partner addresses shown on the same page
  • Phone numbers, validated with Google's libphonenumber and normalised to international format, so you don't get random digits from URLs or article IDs
  • Social profiles: LinkedIn, X/Twitter, Facebook, Instagram, YouTube, TikTok, GitHub, Bluesky, Threads and more
  • Tech stack (optional): CMS, analytics, CDN and other technologies detected on the homepage
  • Site title and meta description

Why it finds more than a homepage scan

  • It crawls the pages where inboxes live. It doesn't guess fixed URLs. It follows the site's real links and visits contact, imprint, advertise, write-for-us, press, media-kit, partners, about and team pages first.
  • It decodes hidden emails. It reads mailto: links, Cloudflare's email protection, and "name [at] domain [dot] com" style obfuscation.
  • It handles JavaScript sites and bot checks. When a site renders with JavaScript or shows a challenge page, it switches to a real Chrome browser for that site only. Simple sites stay on fast HTTP requests.
  • It cleans up glued-on text. Addresses like info@example.comContact are trimmed against the real domain.

Input

FieldWhat it doesDefault
Websites / DomainsURLs or bare domains (example.com). Duplicates are removed.n/a
Which emails to returnAll emails or Outreach inboxes only (drops jobs@, team@, noreply-style and unclassified addresses)All emails
Include emails on other domainsKeep addresses whose domain differs from the websiteOn
Phone numbers / Social profiles / Tech stackTurn each extractor on or offOn / On / Off
Max pages per websitePages crawled per site. Contact-type pages go first.20
Time limit per websiteHard time budget per site120 s
Use a real browser when neededChrome fallback for JavaScript sites and bot checksOn
Websites in parallelConcurrency5
ProxyApify Proxy for sites behind Cloudflare or other bot checks. Use the RESIDENTIAL group for those.Off

Example input:

{
"domains": ["example.com", "https://another-site.io"],
"emailFilter": "outreach",
"maxPagesPerWebsite": 15
}

Output

You get one dataset item per website. The Overview table shows the domain, the best email, the email count, all emails, phones and any error. Export to CSV, Excel or JSON from the dataset tab. emailsList and phonesList are plain text, so they stay readable in a spreadsheet.

{
"inputUrl": "https://acme-test.com",
"domain": "acme-test.com",
"title": "Acme",
"emailCount": 3,
"primaryEmail": "press@acme-test.com",
"emailsList": "press@acme-test.com; info@acme-test.com; john.smith@acme-test.com",
"emails": [
{
"email": "press@acme-test.com",
"category": "editorial_partnerships_ads",
"tier": 1,
"matchedKeyword": "press",
"sameDomain": true,
"isLikelyOfficial": true,
"sources": ["https://acme-test.com/contact"]
}
],
"phones": [{ "phone": "+14155550123", "isLikelyOfficial": true, "sources": ["https://acme-test.com/contact"] }],
"phonesList": "+14155550123",
"socials": { "linkedin": ["https://www.linkedin.com/company/acme-test"] },
"error": null,
"scrapedAt": "2026-10-08T10:18:34+00:00"
}

When a site can't be reached, its item is still returned with error set, for example dns: no such host. Your input list always lines up with the output.

Tips

  • For speed on large lists, turn off the browser fallback and set max pages to 10. Most small business sites list their inbox on the contact page or in the footer.
  • For publishers and media sites, keep the defaults. Advertise, write-for-us and press pages are often several clicks deep.
  • Blocked sites: collect the rows with a blocked by bot protection error and run just those again with Apify Proxy set to RESIDENTIAL.
  • Memory: 2 GB is enough without the browser. Use 4 GB when the browser fallback is on and you crawl 5 or more sites in parallel.

Limitations

  • It reports what is published on the website. It doesn't guess addresses or check that a mailbox is live.
  • Sites behind Cloudflare or a similar bot check return error: "blocked by bot protection" and are not charged. Run them again with a residential proxy; some sites block every automated visitor, even then.
  • Contact forms without a visible email address can't be turned into one.

Responsible use

Emails and phone numbers of named people are personal data under GDPR and similar laws. This tool only collects information that websites publish themselves. You are responsible for having a lawful basis to store and contact the people in your results, and for following each website's terms and the anti-spam rules where you operate (CAN-SPAM, PECR, etc.).

Support

Found a site where it misses an email that is clearly on the page? Open an issue with the URL and it will be checked.