Website Contact & Lead Enricher - owner email, phones, tech
Pricing
Pay per event
Website Contact & Lead Enricher - owner email, phones, tech
Give it company domains, get one lead row each: the published email most likely to reach the owner (not just info@), every email, phone and social link on the site, its CMS and tech stack, and its email provider, SPF and DMARC. Dead mail domains are dropped. No login, no key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stephen Psaradellis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Website Contact & Lead Enricher
Paste a list of company domains. Get back one lead row per company:
- the email most likely to reach the owner, not whichever address the page listed first
- every email, phone number and social profile the site publishes, with the page each was found on
- what the site is built with: CMS, ecommerce platform, analytics and ad pixels, chat widget, payments, hosting and CDN
- who runs the domain's email (Google Workspace, Microsoft 365, ...), which services send as it, and its SPF and DMARC setup
Why the "best email" is better than a list
Most contact scrapers hand you every address on the page. On a small-business
site that list is full of addresses that will never reach a decision maker:
the web designer's address in the footer, careers@, a ticket desk, a
template placeholder like contact@mysite.com, a font author's credit hidden
in a stylesheet, or a mailbox on a domain that no longer receives mail.
This Actor's ranking rules come from sending real outreach to small businesses and fixing every case where an email went to the wrong inbox or bounced. In order, it prefers:
- a named person on the company's own domain (
melissa@company.com) - a Gmail address the owner published (these bounce least)
- a general box on the company's domain (
info@,hello@,office@) - sales and other boxes
- support, events, jobs and similar desks
- old ISP addresses (AOL, Yahoo, Comcast), which are the most often abandoned
It never picks an address on a third party's domain (your web agency, a
franchisor, a booking platform's relay), and it drops any address whose
domain has no working mail server - checked live in DNS, so you do not pay
to bounce. Every address is still in emails, labelled, if you want them all.
What you get
| field | meaning |
|---|---|
domain | the domain, www. removed |
best_email | the address most likely to reach the owner (or null) |
best_email_type | person, general, freemail, sales, other or support |
owner_emails | every address that reaches the business, best first |
emails | every address found: page, type, reaches_business, domain_takes_mail |
phones | phone numbers from tel: links and page text, with the page |
socials | Facebook, Instagram, LinkedIn, X, YouTube, TikTok, Pinterest, Yelp |
contact_page | the contact page it found |
tech_names, technologies | ~140 technologies, each with the evidence it was detected from |
cms, ecommerce, analytics | the same, grouped |
email_provider | Google Workspace, Microsoft 365, Zoho, ... from MX (or SPF behind a gateway) |
email_gateway | Mimecast, Proofpoint, Barracuda, ... when one sits in front |
email_senders | services the SPF record authorises: SendGrid, Mailchimp, HubSpot, Klaviyo, ... |
spf, dmarc, dmarc_policy, email_issues | the records, and plain-English problems with them |
dns_host | Cloudflare, Route 53, GoDaddy, ... from the nameservers |
title, final_url, http_status, https, ssl_error | the site itself |
website_error | why the site could not be read, if it could not |
The key-value store also gets a RUN_SUMMARY with counts for the run.
Sample row (illustrative)
{"domain": "acmebakery.com","best_email": "maria@acmebakery.com","best_email_type": "person","owner_emails": ["maria@acmebakery.com", "info@acmebakery.com"],"phones": [{ "phone": "(555) 201-3344", "source": "tel-link", "page": "https://acmebakery.com/contact" }],"socials": { "facebook": "https://www.facebook.com/acmebakery", "instagram": "https://www.instagram.com/acmebakery" },"cms": ["WordPress"],"ecommerce": ["WooCommerce"],"analytics": ["Google Analytics", "Meta Pixel"],"email_provider": "Google Workspace","email_senders": ["Google Workspace", "Mailchimp / Mandrill"],"dmarc_policy": "none","email_issues": ["DMARC policy is p=none (monitoring only)"]}
Use cases
- Cold outreach lists: turn a list of company websites (from Google Maps exports, directories, your CRM) into an owner email per company.
- Lead qualification: find every Shopify store, every WordPress site without analytics, every company still on GoDaddy email.
- Agency prospecting: sites with no DMARC, an expired certificate or an old CMS are sites that need you.
- CRM enrichment: add tech stack, email provider and socials to accounts you already have.
Pricing
Pay per event. No charge to start, no platform usage charge:
| event | price | when |
|---|---|---|
domain-analysed | $0.004 | every domain: homepage + contact pages + tech stack + DNS |
lead-with-email | $0.006 | only when the row has a best_email |
So $0.01 per lead with an owner email, and $0.004 for a domain without one. 1,000 domains where 450 have an owner email cost about $6.70. Set Max domains to cap a run.
Input
- domains - domains or URLs, one per line.
- maxContactPages - contact/about pages to read besides the homepage (default 2, included in the price).
- checkWebsite / checkEmail - turn either half off; DNS only is fast.
- includeEvidence - keep the "detected from" evidence per technology.
- maxDomains, concurrency, timeoutSecs.
How it reads sites
It identifies itself honestly (LeadEnricherBot), reads robots.txt first
and skips any page it disallows, reads only the homepage and contact/about
pages the site links to, and never submits a form or signs in. A site that
blocks bots or disallows crawling comes back with the reason in
website_error and the DNS half still filled in. It does not query WHOIS.
Use it from code, Claude or ChatGPT
The API tab has snippets for Node.js, Python and curl, including
run-sync-get-dataset-items. As an MCP tool:
https://mcp.apify.com?tools=vital_tuxedo/website-contact-lead-enricher
FAQ
Does it verify mailboxes over SMTP? No. It checks that the address's domain has a working mail server, which removes dead domains, the most common bounce on small-business lists. A deleted mailbox on a live domain cannot be seen from DNS.
Where do the emails come from? Only from pages the company itself publishes. Nothing is bought, guessed or pulled from a third-party database.
Your responsibility. Contact details on a business website are published to be used, but laws on emailing them differ (CAN-SPAM, GDPR, CASL). Use the data lawfully, identify yourself and honour opt-outs.
What does "Own mail server (often the web host)" mean? The MX points at
the domain itself (for example mail.company.com), which usually means the
web hosting company's bundled email.
More from this developer
- Google Ads Transparency Scraper - every ad a competitor runs on Google (text, image and YouTube), with ad copy, landing URLs, dates and countries. No login.