Company Contact Finder: Emails, Phones & Socials avatar

Company Contact Finder: Emails, Phones & Socials

Pricing

from $10.00 / 1,000 domain with contacts founds

Go to Apify Store
Company Contact Finder: Emails, Phones & Socials

Company Contact Finder: Emails, Phones & Socials

Enter company domains and get the emails, phone numbers and social profiles (LinkedIn, X, Facebook, Instagram, YouTube, GitHub) published on their own website, plus company name, description and tech. Pay only for domains where contacts are found.

Pricing

from $10.00 / 1,000 domain with contacts founds

Rating

0.0

(0)

Developer

Offera Studio

Offera Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

What does Company Contact Finder do?

Company Contact Finder turns a list of company domains into contact details. For each domain it reads the company's own website (home page plus the contact, imprint and about pages it links to) and returns:

  • 📧 emails, each flagged as on the company's domain or not, and as a role inbox (info@, sales@) or not
  • 📞 phone numbers in international format, validated
  • 🔗 social profiles: LinkedIn, X (Twitter), Facebook, Instagram, YouTube, GitHub and TikTok
  • 🏢 company name, description and postal address (when the site publishes it)
  • 🧩 detected tech: CMS, shop platform, analytics, chat and marketing tools
  • 📄 pages checked, with the HTTP status of each

You only pay for domains where at least one contact was found. Domains with no emails, phones or social profiles, and domains that fail to load, cost $0.

Paste domains, click Start, and export the results to CSV, Excel or JSON, or push them to Google Sheets, HubSpot, Make, Zapier or your own code through the Apify API.

Why use this email finder for websites?

  • Lead generation and sales prospecting: enrich a list of company websites with emails, phone numbers and LinkedIn pages.
  • CRM enrichment and cleanup: fill in missing contact fields and social links for accounts you already have.
  • Partnership and PR outreach: find the press, partner or sales inbox a company publishes.
  • Market research: see which tools (Shopify, WordPress, HubSpot, Intercom …) a list of companies uses.

Contacts are found, never guessed

Many "email finders" generate addresses like firstname.lastname@company.com and "verify" them. This Actor doesn't. Every email in the output is written on the company's website, and each one comes with the page where it was found (foundOn). It reads:

  • mailto: links
  • addresses hidden by Cloudflare email protection
  • schema.org / JSON-LD Organization data (email, telephone, sameAs, address)
  • page text, including common obfuscation such as info [at] company (dot) com, kontakt(ät)firma.de and HTML-entity-encoded addresses

Addresses are validated and de-duplicated. Image file names (logo@2x.png), placeholders (name@example.com, your.name@company.com) and error-tracking keys are dropped. Phone numbers come from tel: links, structured data and labelled text ("Tel.:", "Phone:", "Telefon:"), and are validated with Google's libphonenumber rules. Fax numbers are skipped.

How to find contacts from a list of domains

  1. Click Try for free and sign in to Apify.
  2. Paste domains or URLs into Domains or URLs, one per line (up to 1,000 per run).
  3. Optional: change Pages to check per domain (default 5).
  4. Click Start. The Contacts tab shows one row per company; All emails shows one row per address.

Input example

{
"domains": ["acme.com", "https://www.globex.example/de/", "initech.example"],
"maxPagesPerDomain": 5
}

Output example

One item per domain (shortened, with made-up data):

{
"domain": "acme.com",
"url": "https://www.acme.com/",
"companyName": "Acme Widgets Ltd",
"description": "Widgets for every workshop.",
"primaryEmail": "info@acme.com",
"primaryPhone": "+44 20 7946 0018",
"emails": [
{ "email": "info@acme.com", "sameDomain": true, "generic": true, "source": "structured-data", "foundOn": "https://www.acme.com/" },
{ "email": "sales@acme.com", "sameDomain": true, "generic": true, "source": "mailto", "foundOn": "https://www.acme.com/contact" }
],
"phones": ["+44 20 7946 0018", "+44 20 7946 0991"],
"socials": {
"linkedin": "https://www.linkedin.com/company/acme-widgets",
"x": "https://x.com/acmewidgets",
"facebook": "https://www.facebook.com/acmewidgets",
"instagram": null,
"youtube": "https://www.youtube.com/@acmewidgets",
"github": null,
"tiktok": null
},
"address": "1 Example Street, EX1 1EX Exampleton, GB",
"tech": ["WordPress", "HubSpot", "Cloudflare"],
"pagesChecked": [
{ "url": "https://www.acme.com/", "type": "home", "httpStatus": 200, "note": null },
{ "url": "https://www.acme.com/contact", "type": "contact", "httpStatus": 200, "note": null }
],
"contactsFound": true,
"error": null
}

How much does it cost to find company emails?

This Actor uses pay per event:

EventPrice
Domain processed with at least one email, phone number or social profile$0.01 per domain
Domain with no contacts foundfree
Domain that failed, was blocked by robots.txt or returned an errorfree
  • 100 domains where contacts are found cost $1; 1,000 cost $10.
  • The price per domain is the same whether we check 1 page or 10.
  • Apify also charges a tiny standard start fee per run ($0.00005 for a normal 1 GB run).
  • Apify's free plan includes $5 of monthly usage, enough for about 500 domains with contacts a month.
  • Set Maximum cost per run in the run options and the Actor stops when it is reached.

Tips

  • Paste the exact site you want, e.g. https://www.company.com/en/, if the home page redirects by language.
  • Filter on sameDomain = true to keep only the company's own addresses, and on generic = true for shared inboxes such as info@ or sales@.
  • pagesChecked shows which pages were read, so you can see why a contact was or wasn't found.

Limitations

  • Only the company's own website is read. No search engines, LinkedIn scraping or third-party databases.
  • Contacts that appear only in images, PDFs, contact forms or text built by JavaScript are not found.
  • The Actor respects robots.txt and waits at least one second between requests to the same site. Sites that block automated visitors return an error row (free).
  • Up to 10 pages per domain: the home page plus contact, imprint (legal notice) and about pages linked from it. If none are linked, it tries /contact, /about and, for German-speaking sites, /impressum.

This Actor only reads information that companies publish on their own public websites, and it respects robots.txt. Whether you may use that data depends on where you and the contacts are, and on what you do with it. In the EU and UK, data about identifiable people (such as jane.doe@company.com) is personal data under the GDPR, and email marketing is also covered by ePrivacy rules. The generic flag helps you separate role inboxes from named people. Check your legal basis before contacting anyone. This is not legal advice.

FAQ

Why is a domain marked "no contacts found"?

The pages we could read didn't contain any email, phone number or social profile link, or the contacts are only in images, forms or JavaScript. You aren't charged for that domain.

Do you verify that the emails can receive mail?

No. We report addresses exactly as the company publishes them. We don't send test emails or query mail servers.

Can I run it from my code or on a schedule?

Yes. Use the Apify API, the JavaScript or Python client, or integrations such as Make, Zapier, n8n and Google Sheets. Schedules are set up in Apify Console.

Why did I get blocked-by-robots-txt or http-403?

The site's robots.txt disallows crawlers, or the site blocks automated visitors. These rows are free. For 403 errors you can try the Apify datacenter proxy in Advanced options.

More tools from the same developer

All pay-per-result, no proxy or login needed, built and maintained by the same developer:

Website audits

Company data and compliance

Market signals

Feedback

Missing a contact that is clearly on the page? Open an issue on the Issues tab with the domain, and we'll look at it.