Blog

How to Build a Cold Email List from Scratch (The Right Way)

Learn how to build a cold email list from scratch using Apollo, web scraping, and enrichment tools. Step-by-step guide with verification and data hygiene best practices.

How to Build a Cold Email List from Scratch (The Right Way)

Building a high-quality cold email list is the foundation of every successful outbound campaign. Bad data leads to bounces, bounces damage deliverability, and poor deliverability means your emails land in spam instead of inboxes. At Alchemail, we build lists for clients using three data sources (Apollo, web scraping, and Outscraper API), verify every email address, and maintain bounce rates under 2% across all campaigns. This guide walks through the entire list-building process, from defining your ICP to cleaning and segmenting your final list.

Step 1: Define Your Ideal Customer Profile (ICP)

Before touching any data tool, get crystal clear on who you are targeting. A vague ICP produces a vague list, which produces vague results.

Your ICP should specify:

  • Industry/vertical: SaaS, fintech, healthcare, professional services, etc.
  • Company size: Revenue range or employee count
  • Geography: Countries, states, metro areas
  • Funding stage (for startups): Seed, Series A, Series B+
  • Technology stack: Tools they use that signal fit
  • Job titles: The specific people you want to reach
  • Buying signals: Indicators that they need your solution now

ICP Example

Attribute Specification
Industry B2B SaaS
Company size 50-500 employees
Revenue $5M-$50M ARR
Geography United States
Funding Series A or B
Target titles VP of Sales, Head of Growth, CRO
Buying signals Hiring SDRs, no outbound infrastructure, using Salesforce

The tighter your ICP, the better your list quality, and the higher your reply rates. For a deep breakdown, read our complete cold email guide.

Step 2: Source Your Data

At Alchemail, we never rely on a single data source. Each source has strengths and gaps. Using multiple sources improves coverage and accuracy.

Source 1: Apollo (25-45% of contacts)

Apollo is the largest B2B contact database with over 200 million contacts. It is our primary starting point for most campaigns.

Strengths:

  • Massive database with good coverage of US companies
  • Strong filtering by industry, title, company size, and technology
  • Built-in email verification
  • Reasonably accurate job title and company data

Limitations:

  • Email accuracy varies (70-85% verified rate)
  • Data can be 6-12 months stale for fast-moving companies
  • Coverage gaps in smaller companies and non-US markets
  • Many contacts are also in competitors' lists (saturation risk)

How we use Apollo:

  1. Build the search using ICP criteria (industry, size, titles, geography)
  2. Export contacts with email addresses
  3. Run through external verification (more on this in Step 4)
  4. Remove contacts that fail verification

Source 2: Web Scraping (25-45% of contacts)

Web scraping fills the gaps that database tools miss. We use Apify and custom scrapers to pull data from specific sources.

What we scrape:

  • Company websites (team pages, about pages)
  • Industry directories and association member lists
  • Event attendee lists and speaker pages
  • Job boards (companies hiring for relevant roles as buying signals)
  • G2 and Capterra reviews (companies using specific tools)
  • LinkedIn (via approved tools and manual research)

Strengths:

  • Fresh data directly from the source
  • Access to niche lists that databases miss
  • Custom signals not available in standard databases
  • Better coverage for small companies and specific verticals

Limitations:

  • Requires technical setup (Apify actors, custom scripts)
  • Time-intensive for large campaigns
  • Email addresses often need to be found separately (you get names and companies, then find emails)
  • Legal considerations vary by source and jurisdiction

Tools we use:

  • Apify: Pre-built and custom web scrapers
  • Outscraper: Google Maps and business data
  • Clay: Data enrichment and email finding
  • Hunter.io / Snov.io: Email finding from name + company

Source 3: Outscraper API (10-20% of contacts)

Outscraper pulls data from Google Maps, which is especially valuable for:

  • Local businesses and service companies
  • Companies not well-represented in B2B databases
  • Businesses with physical locations
  • Niche verticals (dental practices, law firms, restaurants)

How we use it:

  1. Define search parameters (business type, location, rating)
  2. Pull business data including name, phone, website, and sometimes email
  3. Enrich with additional contact data using Clay
  4. Verify all email addresses

Source Allocation Strategy

Campaign Type Apollo Web Scraping Outscraper
B2B SaaS targeting 40% 50% 10%
Local service businesses 15% 30% 55%
Enterprise targeting 30% 60% 10%
Niche vertical 20% 60% 20%

Step 3: Enrich Your Data

Raw contact data from any source needs enrichment before it is campaign-ready. Enrichment adds missing fields and improves data quality.

What to Enrich

  • Email addresses: If you have name + company but no email, use email finding tools
  • Phone numbers: Useful for multi-channel outreach
  • Company data: Revenue, employee count, funding, technology stack
  • Personalization signals: Recent news, job postings, trigger events
  • LinkedIn profiles: For multi-channel sequences

Enrichment Tools

  • Clay: Our primary enrichment platform. Connects to 50+ data sources and runs AI-powered research
  • Claygent: AI agent within Clay that can research companies and generate custom data points
  • LeadMagic: Email finding and verification
  • Apollo: Enrichment of existing records
  • Clearbit / ZoomInfo: Enterprise enrichment (higher cost)

The Clay Workflow

  1. Import your base list (name, company, title, LinkedIn URL)
  2. Run email finding (Clay checks multiple providers)
  3. Enrich with company data (revenue, employee count, industry)
  4. Pull trigger signals (recent funding, job postings, news)
  5. Generate personalized first lines using AI
  6. Export the enriched list for verification

Step 4: Verify Every Email Address

This step is non-negotiable. Sending to unverified emails destroys deliverability.

Why Verification Matters

  • Bounce rate must stay under 2% to protect sender reputation
  • Hard bounces (invalid addresses) are the fastest way to get blacklisted
  • Email databases decay at 30% per year as people change jobs
  • Even "verified" addresses from data providers can be 15-25% inaccurate

Verification Process

  1. Run every email through a verification tool: MillionVerifier, ZeroBounce, NeverBounce, or Reoon
  2. Accept only "valid" results: Remove "invalid," "unknown," "risky," and "catch-all" addresses
  3. Re-verify before every campaign: Even lists verified 30 days ago can have new bounces
  4. Use multiple verification services for critical campaigns

Verification Result Categories

Result Action Typical % of List
Valid Send 60-75%
Invalid Remove 10-20%
Catch-all Remove or test cautiously 10-20%
Unknown Remove 5-10%
Risky Remove 2-5%

Yes, this means you may discard 25-40% of your raw list. That is the cost of clean data. It is always worth it.

Catch-All Domains: The Gray Area

Catch-all domains accept all emails regardless of whether the mailbox exists. Verification tools cannot confirm if a specific address is valid on a catch-all domain.

Our approach:

  • For campaigns where deliverability is critical (new domains, important clients): skip catch-all addresses
  • For established campaigns with strong domain reputation: test small batches of catch-all addresses and monitor bounce rates

Step 5: Clean and Deduplicate

After verification, clean your list further:

Remove Duplicates

  • Check for duplicate email addresses
  • Check for duplicate people (same person, different email)
  • Deduplicate across campaigns to avoid emailing the same person from multiple sequences

Apply Suppression Lists

Remove anyone on your suppression lists:

  • Previous opt-outs and unsubscribes
  • Existing customers (unless running expansion campaigns)
  • Competitors
  • Previous bounces
  • Do-not-contact requests

Data Hygiene Checks

  • Remove role-based emails (info@, sales@, support@)
  • Remove personal emails (gmail.com, yahoo.com) unless targeting solopreneurs
  • Verify job titles are current (people with "Former" in their LinkedIn title)
  • Remove contacts at companies that have been acquired or shut down

Step 6: Segment Your List

A segmented list outperforms a single blast list every time:

Segment by Persona

Group contacts by job title/role. Each persona gets different messaging:

  • VP of Sales gets pipeline-focused copy
  • CTO gets efficiency-focused copy
  • CEO gets growth-focused copy

Segment by Company Size

Messaging for a 50-person startup differs from a 5,000-person enterprise:

  • Startup: Speed, agility, quick wins
  • Mid-market: Scalability, process, ROI
  • Enterprise: Security, compliance, integration

Segment by Trigger

Contacts with active buying signals get priority:

  • Recently funded companies
  • Companies hiring for relevant roles
  • Companies using a competitor's product

List Size Guidelines

How many contacts do you need? It depends on your campaign goals:

Monthly Meeting Goal Required List Size Assumptions
5 meetings 1,500-2,500 contacts 3% reply rate, 25% meeting conversion
15 meetings 4,000-7,000 contacts 3% reply rate, 25% meeting conversion
30 meetings 8,000-15,000 contacts 3% reply rate, 25% meeting conversion

These are monthly numbers. You need fresh contacts each month, which means either a large addressable market or a way to generate new leads continuously.

Frequently Asked Questions

Q: Should I buy email lists? A: Buying pre-built lists from brokers is risky. The data is often stale, shared with dozens of other buyers, and may not match your ICP closely. Building your own list from primary sources (Apollo, web scraping, Outscraper) gives you fresher, more targeted data. The extra effort pays off in higher reply rates and lower bounces.

Q: How often should I refresh my email list? A: Re-verify your list before every campaign or at minimum every 30 days. Contact data decays at approximately 30% per year. A list that was 95% valid three months ago may be 85% valid today.

Q: What is the minimum list size for a cold email campaign? A: Start with at least 500-1,000 verified contacts to generate meaningful data. Smaller lists do not produce enough replies to identify what is working. For ongoing campaigns, plan for 1,500-3,000 new contacts per month per ICP segment.

Q: How do I handle contacts I cannot find email addresses for? A: If you have a name and company but no email, use email finding tools (Hunter.io, Snov.io, Clay's email finder). If those fail, try LinkedIn outreach as an alternative channel. Some contacts simply do not have findable emails, and that is fine. Focus your effort on the 60-75% of contacts where you can find and verify a valid address.

Q: Is it better to have a large unverified list or a small verified list? A: Small and verified, every time. Sending 1,000 emails with a 1% bounce rate is infinitely better than sending 5,000 emails with a 10% bounce rate. The larger list will damage your deliverability, which hurts every future campaign. Quality over quantity is the fundamental rule of list building.


Your cold email list is the foundation of your outbound engine. Invest the time to build it right: multiple sources, thorough enrichment, strict verification, and smart segmentation. The campaigns you run on clean data will outperform sloppy lists by 3-5x.

Need help building a list that books meetings? Book a free pipeline audit and we will show you how we build lists that generate 15-30 meetings per month for our clients.

Don't know your TAM? Find out in 5 minutes.

Score your ICP clarity, estimate your total addressable market, and get 20 real target accounts — free.

Estimate Your TAM & ICP →

Get your free pipeline audit

A call with Artur. We'll size your TAM, audit your outbound, and give you a realistic meeting forecast.

Book Your Audit