Company Contact Finder: Name to Website, Emails and Phones on the Apify Store →

How to find the email to write to from a list of company names

Tutorial for the Apify blog guest program, dev.to, Medium and Hashnode. When cross-posting, set the canonical URL to the Store page: https://apify.com/rich_minds/company-contact-finder-ai — and disclose that you built the Actor.

The problem: you have names, not websites

Most B2B lists start as names. 200 importers from a customs export. The exhibitor list of a trade fair. The distributors a partner recommended over coffee. For each one you search Google, decide which result is really the company — not a directory, not a namesake in another country — open the contact page and the imprint, copy the addresses, and guess which one a purchasing team actually reads.

That is about 4 minutes per company (timed on 5 sample companies) — roughly 7 hours for 100. And the addresses you copy were never checked: a typo in the domain, a domain that takes no mail, a disposable address on a reseller page.

The Apify Store solves this in halves. Contact scrapers such as Contact Details Scraper (vdrmota/contact-info-scraper) are excellent once you have the website — but they need the website first. Company website finders stop at the domain. So you run two or three tools, pay two or three bills, and still choose the address by hand.

The company website finder and the email finder in one row

Company Contact Finder runs the whole chain per company:

  1. Company name to domain — one Google results page per company; directories, marketplaces and social sites dropped; the candidates scored on the name in the domain, the country's TLD and the legal name or VAT number the imprint prints. A namesake abroad loses.
  2. Contacts on the company's own pages — the home page plus the contact, imprint, about, team and sales pages: e-mails (also obfuscated ones like name [at] firm [dot] de), phones, the contact form, LinkedIn.
  3. Verify company email — every address checked for syntax, an MX record over DNS, disposable domains, role accounts and typos: ok, risky or invalid.
  4. The one to write to — purchasing, export, sales or general, in the order you choose, with the reason.

Step by step

  1. Open the Store page and click Try it. The form opens on a free demo of 4 labelled sample companies. Press Start: the Shortlist shows the address to write to for each one, nothing charged.
  2. Type your companies in Companies to find, one per line: Hamburg Textil Import GmbH, DE. If you have the website, add it — Salzgitter AG, DE, salzgitter-ag.com — and the Google step is skipped.
  3. No list yet? Type a keyword and a country instead (textile importers, DE), or paste the URL of an exhibitor or member directory page. The companies it finds become the list.
  4. Keep "AI contact check" on if you want the named people from the team page and a first line for your e-mail, then press Start.

Shortlist — the address to write to, best first

What a real run returned

On Apify, 2026-10-23, five real steel makers (Tata Steel, Salzgitter, voestalpine, Outokumpu, Acerinox):

Each row carries the website and the evidence for it, every address with its check status, the phones, the contact page, the best address with its role (purchasing, sales, general …) and the reason it was picked. The Outreach view leads with the contact route: the e-mail, else a phone, the contact form or LinkedIn.

Outreach — contact route, address, first line

With the AI check on, the same row gains the people the team page names and a first line in the company's language. From the sample run in the README (a fictional company, a real model run):

{"name": "Nordhafen Textilhandel GmbH", "bestEmail": "einkauf@nordhafen-textilhandel.de",
 "people": [{"name": "Markus Brandt", "title": "Leitung Einkauf", "email": "m.brandt@nordhafen-textilhandel.de"}],
 "fitScore": 97, "assessedBy": "ai"}

What a run costs

You pay only for companies where a website and a checked e-mail were found:

Companies with nothing found, duplicates and companies you already received are free, and the first 25 company contacts on your account are free too. The steel-maker run above cost $0.03 with the rules and ≈ $0.10 with the AI — both inside the free 25. For 100 companies that is $0.75 with the rules, against roughly 7 hours by hand.

Automate it: a weekly run into your CRM

Put your address in E-mail me the new company contacts, then open the saved task the first real run links and click Schedule. Feed it the week's new names — a keyword search, a Google Sheet, or the dataset of a buyer-finder Actor — and the cross-run memory skips every company you already received, before any search, so a repeated list costs $0. A HubSpot private-app token pushes each new company straight into HubSpot, upserted by domain.

From code:

from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("rich_minds/company-contact-finder-ai").call(run_input={
    "sourceMode": "live",
    "companies": ["Salzgitter AG, DE", "Tata Steel Limited, IN, tatasteel.com"],
    "enableAi": True, "maxQualified": 100, "maxDiscoveryChargeUsd": 0.5, "failOnSourceError": True,
}, timeout_secs=3240)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["name"], item["bestEmail"], item["bestEmailRole"], item["website"])

Or from an AI agent over MCP: add https://mcp.apify.com/?actors=rich_minds/company-contact-finder-ai as a server and ask "Who should I email at Salzgitter AG?"

Write responsibly

The addresses are the ones each company publishes on its own website. Write from your own mailbox, a few dozen a day; say who you are and why you write, give every recipient an easy opt-out, and keep a legitimate-interest note for GDPR — a named person's address is personal data.

Try it with the free demo: https://apify.com/rich_minds/company-contact-finder-ai

Company Contact Finder: Name to Website, Emails and Phones on the Apify Store →