Website Email & Contact Scraper — Bulk Email Finder avatar

Website Email & Contact Scraper — Bulk Email Finder

Pricing

from $2.00 / 1,000 site scrapeds

Go to Apify Store
Website Email & Contact Scraper — Bulk Email Finder

Website Email & Contact Scraper — Bulk Email Finder

Extract emails, phone numbers and social profiles from any list of websites. Own-domain emails first, no browser, no API key.

Pricing

from $2.00 / 1,000 site scrapeds

Rating

0.0

(0)

Developer

Diseño Web de Colombia

Diseño Web de Colombia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Paste a list of websites. Get the emails, phones and social profiles they publish.

{ "urls": ["basecamp.com", "patagonia.com", "stripe.com"] }

Call it as an API

One website in, one row out, in a single HTTP call — no polling.

curl -X POST "https://api.apify.com/v2/acts/dev_web_col~email-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "basecamp.com"}'
import requests
r = requests.post(
"https://api.apify.com/v2/acts/dev_web_col~email-scraper/run-sync-get-dataset-items",
params={"token": "YOUR_TOKEN"},
json={"url": "basecamp.com"},
)
site = r.json()[0]
print(site["ownDomainEmails"], site["phones"], site["linkedin"])

Pass urls instead of url to process a whole list in one call.

What makes this one different

Own-domain emails are separated out. A row gives you emails (everything found) and ownDomainEmails (only @thatdomain). An

info@the-agency-that-built- their-site.com
is not the same asset as sales@theircompany.com, and most scrapers hand you both in one undifferentiated list.

Phones come only from tel: links. Measured: a plain regex over page text returned 10 to 24 "phone numbers" per site — dates, order IDs, random figures. This Actor reports fewer numbers and every one of them is real.

No browser. Runs in seconds and peaks at 165 MB, which matters because Apify bills memory multiplied by time.

Placeholder addresses are filtered. name@company.com, you@example.com and platform addresses from Wix, Squarespace, Shopify and Sentry are dropped. Those are the fake contacts that inflate other tools' hit rates.

What you can use it for

What you wantHow to ask for it
Email finder for a prospect listurls: [...] from your CRM export
Lead generation from a directory you already haveonlyWithEmail: true so you only pay for usable rows
Contact scraper for outbound campaignsRead ownDomainEmails — the ones worth sending to
Social profile discoveryLinkedIn, Twitter/X, Facebook, Instagram, YouTube per site
CRM enrichment — fill contact columnsOne call per domain from your own code
Agency prospecting — qualify a list fastfound: false tells you which sites publish nothing
Conference or directory listsPaste the exhibitor URLs, get contacts
Phone number collectionphones, from tel: links only

Hit rates, measured — not the best case

This is the number other email scrapers do not publish. Measured on real runs:

SegmentSitesWith an emailWith own-domainWith phoneWith socials
Small and local business sites1947%37%42%74%
Large corporate sites633%33%33%83%

Small businesses publish their email. Large companies hide it behind a contact form. If your list is agencies, restaurants, clinics or local services, expect roughly half. If it is enterprise domains, expect a third, and lean on the social profiles instead — those come back 74-83% of the time either way.

Run 20 URLs first and check the rate on your list before committing to a big job.

Honest limits

  • It reads what the site publishes. No pattern guessing, ever. This Actor will never invent firstname.lastname@company.com — invented addresses bounce, burn your sending domain, and are worse than an empty field.
  • Up to 5 pages per site: /, /contact, /contact-us, /contacto, /about. It stops at the first page with an email. It is not a full crawl, which is why it is cheap.
  • Expect generic inboxes. info@, hello@, sales@ — not named individuals.
  • A run stops after about 3.5 minutes and delivers what it has, so Apify's automated checks never time it out. Split large lists across runs.
  • Sites behind Cloudflare or a login return nothing. Those rows come back with found: false rather than an error.
  • No personal data beyond what the site publishes itself on a public page.

FAQ

Do I need an API key or an account anywhere?

No. It reads public web pages, the same ones any visitor sees.

Scraping publicly published information is broadly accepted as legal. What you do with the addresses afterwards is a separate question — GDPR, CAN-SPAM and CCPA regulate outreach, and a published email is still personal data in the EU. Take advice before running a campaign.

Why do I get fewer emails than another tool promises?

Because this one does not invent them. Tools that guarantee an address for every domain are guessing firstname@company.com patterns. Those bounce and hurt your sender reputation. The rates above are what websites actually publish.

Why so few phone numbers?

Because they come only from tel: links, which are unambiguous. A regex over page text finds 10-24 "numbers" per site and almost all are junk. Precision beats volume when the output goes into a dialler.

What does ownDomainEmails mean?

Addresses ending in the domain you asked about. If you scan acme.com and the site lists info@acme.com and hello@theiragency.com, only the first is an own-domain email — and it is the one worth contacting.

Can I export to Excel, CSV or Google Sheets?

Yes. Every run's dataset downloads as CSV, Excel, JSON or XML from the Storage tab, and Apify integrates with Google Sheets, Airtable, Zapier, Make and Slack.

Can I run it on a schedule?

Yes, from the Schedules tab. Useful for re-checking a list whose sites change.

A site I know has an email came back empty. Why?

Most likely it is behind a contact form, rendered by JavaScript, or on a page outside the five this Actor checks. Look at pagesChecked in the row to see how far it got.

  • Local Business Email & Contact Scraper — when you do not have the URL list yet and want to build it from a city and a business category.
  • Company Data Scraper — when you also want firmographics, headcount and a hiring signal alongside the emails.

Where the data comes from

The public pages of the websites you provide. No login, no API key, no third-party database.