DEV Community

Mozi Mohidien
Mozi Mohidien

Posted on

How to Find Company Emails and Contacts with AI (No Code Required)

How to Find Company Emails and Contacts with AI (No Code Required)

Tags: webdev, tutorial, ai, productivity
Canonical URL: https://apify.com/mozimohidien/company-contact-ai-enricher


If you do any B2B sales or outreach, you know the bottleneck: you have a list of target companies but you spend half your time just finding who to contact and what to say.

Tools like Apollo and Hunter help, but they're expensive, they only cover companies already in their database, and they give you raw contacts — not the intelligence you need to make your message land.

This tutorial shows you how to go from a list of company URLs to enriched, ICP-scored leads with personalised outreach openers — using an AI-powered Apify actor, no code, no subscription required.


What You'll Build

A pipeline that takes company website URLs as input and returns:

  • Publicly available emails, phone numbers, LinkedIn, and Twitter profiles
  • AI enrichment: industry, estimated team size, tech stack signals, ICP fit score (1–10)
  • A personalised outreach opener written specifically for each company

Total cost for a 20-company run: under $1. Time: about 3 minutes.


Why Not Just Use a Contact Database?

Contact databases (Apollo, ZoomInfo, Hunter) are great — but they have real gaps:

  1. Coverage: smaller or newer companies often aren't indexed
  2. Freshness: emails go stale; people change roles
  3. Intelligence: they give you a contact, not a reason to reach out
  4. Cost: enterprise plans cost hundreds per month

The actor in this tutorial scrapes directly from company websites, so coverage is whoever has a public web presence — and it adds an AI layer that scores the lead against your specific ICP and writes a first-line that doesn't sound like a template.


What You Need

  • An Apify account (free tier works)
  • An Anthropic API key (free to create; Claude Haiku costs ~$0.25 per million tokens — fractions of a cent per company)
  • A list of company website URLs

That's it. No code, no local setup.


Step 1: Get Your Anthropic API Key

Go to console.anthropic.com, create an account, and generate an API key. It looks like sk-ant-api03-....

The actor uses Claude Haiku — the fastest and cheapest model in the Claude family — for the enrichment step. For a 20-company run, expect to spend $0.01–$0.05 on the AI calls.


Step 2: Open the Actor

Go to: Company Contact Scraper & AI Lead Enricher on Apify

Click Try for free. You don't need a paid plan — Apify gives you $5 of free compute credit when you sign up, which is enough for hundreds of test runs.


Step 3: Configure Your Run

You'll see a simple input form. Here's what each field does:

Company URLs
Paste your target company URLs, one per line. These are the websites you want to scrape and enrich. Example:

https://stripe.com
https://notion.so
https://linear.app
https://figma.com
Enter fullscreen mode Exit fullscreen mode

You can also upload a text file with URLs if you have a long list.

Anthropic API Key
Paste your sk-ant-... key here. It's stored as a secret — never logged or exposed.

Max Companies
How many companies to process in this run. Default is 10; max is 50 per run. For bigger lists, run multiple batches.

Proxy Configuration (optional)
Leave this empty for most websites. If you're targeting companies that have aggressive bot protection, enable Apify Residential Proxy here.


Step 4: Run It

Click Start. The actor will:

  1. Visit each company URL
  2. Extract publicly visible emails, phone numbers, and social links
  3. Send the scraped content to Claude AI for enrichment
  4. Store results in a structured dataset

A 10-company run typically finishes in 60–90 seconds.


Step 5: Review Your Results

When the run completes, click the Dataset tab. You'll see one row per company.

Here's what a single output record looks like:

{
  "url": "https://linear.app",
  "emails": ["hello@linear.app"],
  "phones": [],
  "socials": {
    "linkedin": "https://linkedin.com/company/linear",
    "twitter": "https://twitter.com/linear"
  },
  "enrichment": {
    "industry": "B2B SaaS / Project Management",
    "teamSizeEstimate": "50-200",
    "icpFitScore": 9,
    "techStackHints": ["React", "TypeScript", "Electron"],
    "primaryProduct": "Issue tracking and project management for software teams",
    "decisionMakerTitle": "Head of Engineering / VP Product",
    "outreachHook": "Linear is doing impressive work on keyboard-driven UX — wanted to reach out about how similar dev-tool companies have cut their SDR research time by 60%."
  }
}
Enter fullscreen mode Exit fullscreen mode

The icpFitScore is on a 1–10 scale. Sort your results by score and start with the 8+ leads.


Step 6: Export to Your CRM

Click ExportCSV. The column headers map directly to standard CRM fields. Import into HubSpot, Salesforce, or Apollo with their standard CSV import flow.

If you want to automate this — e.g., run the actor on a schedule and push results straight to your CRM via webhook — Apify has built-in integrations with Zapier, Make, and its own API.


Real-World Use: Cold Email Sequence

Here's how I'd use this for a cold email campaign targeting B2B SaaS tools:

  1. Build a list of 50 company URLs from LinkedIn search, ProductHunt, or a VC portfolio page
  2. Run the actor — 3 minutes, under $2
  3. Filter results: icpFitScore >= 8
  4. Use the outreachHook as the first line of your cold email
  5. Add the lead to Instantly or Apollo with the extracted email
  6. Send

The personalized opener is the part that moves reply rates. Generic openers ("I came across your company and thought...") get ignored. An opener that references what the company actually does ("Linear is doing impressive work on keyboard-driven UX...") gets opened.


Tips

URL quality matters. The actor visits the homepage. If a company's contact info is only on their /contact page, you might miss it. For best results, pass the /contact URL directly when you know it.

Don't over-batch. 20–30 URLs per run gives you fast results and easy debugging if something goes wrong. Scale up once you've validated the output quality.

Combine with job posting signals. Pair this actor with the Job Posting AI Analyzer to time your outreach: companies actively hiring are actively spending. Hit them when their budget is open.

Reddit for warm leads. Use the Reddit Lead AI Finder to surface companies posting about pain your product solves, then run those domains through this actor for contact info.


Pricing Summary

Component Cost
Apify compute ~$0.01–$0.05 per company
Anthropic (Claude Haiku) ~$0.001–$0.003 per company
Total per company ~$0.02–$0.08

A 50-company run costs $1–$4. Compare that to Apollo Pro at $99/month or ZoomInfo at $15,000/year.


Wrapping Up

You now have a repeatable, code-free pipeline to:

  • Find publicly available contact details on any company website
  • Score leads against your ICP automatically
  • Generate personalised outreach openers at scale

The actor is live on Apify: Company Contact Scraper & AI Lead Enricher

Try it free. The first $5 of Apify compute is on them.


Have questions or want to suggest improvements to the actor? Drop a comment below.

Top comments (1)

Collapse
 
topstar_ai profile image
Luis Cruz

I found the approach of using an AI-powered Apify actor to enrich company contacts particularly interesting, as it addresses the common issue of outdated or incomplete contact databases. The fact that the actor can scrape company websites directly to extract publicly available emails, phone numbers, and social links, and then use Claude Haiku for AI enrichment, provides a more comprehensive and up-to-date view of potential leads. One potential trade-off to consider is the potential impact on the companies being scraped, and whether this approach could be seen as invasive or disruptive to their operations. Have you considered any strategies for ensuring that this approach is used responsibly and with respect for the companies being targeted?