Rémi KokabiNovember 4, 20269 min read
How to build a B2B lead list that is ready to email
You export a list in an afternoon. 500 contacts, pulled from a quick filter, dropped straight into a sequence. Two days later, half the emails bounce, the decision makers are missing, and three different buyer personas are getting the exact same pitch. Your sender reputation takes the hit, and you’re back to square one.
This happens because most teams treat list building as an export, not a process. A real b2b lead list is built in steps: define your ICP, pull accounts before contacts, find verified emails and phone numbers, check every status before you send, then segment so each group gets a message built for them.
In this article, I’ll walk you through that process end to end. You’ll see what fields a list needs, how to decide between building and buying, and how to keep the data fresh once it’s live. I’ll also show where this breaks down in practice, and what changes when you run the same workflow inside lemlist. By the end, you’ll have a repeatable build you can run before every campaign, not just a file you hope works.
What a B2B lead list should contain
A B2B lead list is a structured file of companies and contacts that match your ideal customer profile, with enough detail to reach them and personalize the first message. At minimum, it needs verified contact data and enough context to write something relevant.
Here is what belongs in every list, whether you plan to send emails only or run a multichannel sequence.
Field | Why it matters | Required |
|---|---|---|
First name, last name | Personalization tokens and human tone | Yes |
Job title, seniority, department | Decides your message angle and pain point | Yes |
Company name, domain | Groups contacts by account so you avoid overlap | Yes |
Verified email and status | Protects deliverability and sender reputation | Yes |
LinkedIn URL | Powers LinkedIn steps in the same sequence | Recommended |
Phone number | Adds a call step for high-priority accounts | Optional |
Segment tag and signal | Drives personalization and send timing | Recommended |
The “required” columns are the floor for any email campaign. LinkedIn URLs and phone numbers turn the same list into a multichannel asset. If you plan to add call steps, you can structure the file to double as a cold calling list without rebuilding from scratch.
Segment tags deserve their own column from the start. Adding them later means re-sorting the entire file, and most teams never get around to it.
Build or buy a B2B lead list
You have three paths: build from a live database, buy a static file from a vendor, or scrape contacts yourself. Each has real trade-offs.
Building from a database gives you the most control. You set the filters, you own the output, and the data reflects what the provider has today. The downside is time. You need to learn the tool, define filters carefully, and still verify what comes out.
Buying a pre-built list is fast. A vendor hands you a CSV and you import it. But you rarely know when the data was collected, how it was sourced, or whether anyone verified it. Compliance risk is higher because you cannot trace consent or origin. Bounce rates on purchased files tend to be painful.
Scraping (pulling data from websites, directories, or LinkedIn) can fill gaps, but it carries legal risk depending on jurisdiction and source. Scraped data also degrades quickly because there is no provider refreshing it behind the scenes.
The short version: building from a live database costs more effort upfront and saves you from cleaning up a mess later. If you do buy or scrape, treat verification as mandatory before any send.
1. Start from your ICP and a list size target
List building is one step inside a larger prospecting workflow. Before you pull a single contact, you need two inputs: your ICP definition and your team’s outreach capacity.
Your ICP tells you which companies and roles to include. Industry, company size, geography, tech stack, funding stage. The tighter these filters, the smaller and more relevant the output.
Your capacity tells you how many leads you can actually work. If two reps each run 50 new leads per week, you need 400 leads per month, not 4,000. Pulling more than your team can personalize and follow up on just creates a backlog of stale contacts.
Set a target per segment, per month. That number keeps your list focused and your campaigns fresh.
2. Pull accounts first, then contacts
Most reps search for people first. They type a job title into a database, export 500 names, and end up with contacts scattered across companies that have nothing in common. Personalization becomes impossible because there is no shared thread.
Flip the order. Start with accounts, then pick contacts inside each one.
Filter companies using attributes that match your ICP:
Industry and sub-industry
Employee count and headcount growth
Annual revenue
Technologies used
Last funding date and round size
Geography
Once you have a clean company list, go inside each account and pull the roles you want to reach. Filter by job title, seniority level, and department. For most B2B sales motions, you want two to three contacts per account so you are not dependent on a single thread.
A lead generation database with both company and contact filters makes this workflow possible in one place. Without it, you end up stitching together company lists from one tool and contact lookups from another.
3. Find emails and phone numbers
Having a name and a company is not enough. You need a verified way to reach each person.
Single-source email finders query one provider’s database. They are simple, but coverage varies. If that provider does not have the email, you get nothing.
Waterfall enrichment solves this by querying multiple providers in sequence. The system tries provider A, then B, then C, and returns the first verified match. This approach raises find rates significantly because no single provider covers every contact.
Phone numbers follow the same logic. The quality gap between verified and unverified numbers is real. Verified phone numbers connect around 20%, while scraped lists connect around 10% (lemlist internal data). If you are adding a call step, the source of the number matters as much as having one.
4. Verify every email before the first send
Verification is where most lists either hold up or fall apart. Every email on your list should carry a status before you press send.
Here is what each status means and what to do with it:
Deliverable means the mailbox exists and accepts mail. Send normally.
Risky means the address might work but the provider cannot fully confirm it. Send in small batches and monitor bounces.
Undeliverable means the mailbox does not exist or is closed. Remove it. Sending here is a direct hit to your sender reputation.
Unknown means the verification tool could not reach the mail server. Treat these like risky and test carefully.
A special case is catch-all emails. These are domains configured to accept mail to any address, so verification tools cannot confirm whether a specific mailbox is real. They will not bounce at the server level, but the person may never see the message. Segment catch-all contacts separately and watch reply rates.
Why does this matter so much? Every bounce tells inbox providers that you are sending to bad addresses. Enough bounces and your domain lands in spam. Understanding the difference between soft and hard bounces helps you diagnose problems before they snowball.
5. Segment the list for relevant messaging
One list should never equal one campaign. If every contact gets the same email regardless of role, industry, or timing, your reply rates will reflect that.
Segment so each group gets a message written for their situation. Here are three examples:
By role. VPs of Sales care about pipeline velocity. Marketing directors care about lead quality. Same company, different opener, different pain point, different CTA.
By trigger. A company that just raised a Series B has different priorities than one that announced layoffs. The trigger changes your timing angle and your first line.
By tech stack. If a prospect uses a competitor’s tool, your message can reference a specific limitation or migration path. If they use a complementary tool, you lead with integration value.
Create a segment tag column in your list from the start. When you import into your outreach tool, each segment becomes its own campaign with its own copy. That is how personalization scales without writing every email by hand.
6. Keep the list fresh
B2B contact data decays constantly. People change jobs, companies get acquired, domains go offline. A list that was accurate three months ago will have gaps today.
Here is a maintenance routine that works:
Re-verify emails before launching each new campaign. Addresses that were deliverable last quarter may not be today.
Remove hard bounces and unsubscribes immediately. Keeping them in the file risks sending to them again by accident.
Watch for job changes. A contact who left their company is no longer the right person. Replace them with whoever took the role.
Deduplicate across campaigns. If the same person appears in two active sequences, you are doubling touches and annoying them.
Treat your list as a living asset. The teams that re-verify and prune regularly get better deliverability and higher reply rates than teams that build once and blast forever.
Common lead list mistakes
Mixing segments in one campaign. When a VP of Engineering and a Head of HR get the same email, neither feels like it was written for them. Segment first, then build the campaign.
Skipping verification. Importing an unverified list and hoping for the best is the fastest way to damage your sender reputation. Verification takes minutes. Rebuilding domain trust takes months.
Targeting only C-level contacts. CEOs and CIOs rarely respond to cold outreach. Directors and senior managers are often closer to the problem and more likely to engage. Build your list with multiple seniority levels per account.
No exclusions for existing customers. Prospecting someone who already pays you is embarrassing and wastes a touch. Exclude current customers and active opportunities before every send.
Buying lists with unknown sources. If you cannot trace where the data came from, you cannot assess compliance risk or data quality. Verify everything, and if the vendor will not explain their sourcing, walk away.
How to build a B2B lead list in lemlist
lemlist brings the entire workflow into one platform so you do not need to stitch together separate tools for search, enrichment, verification, and outreach.
Start by searching the lead database, which includes 650M+ contacts across 65M+ companies (lemlist internal data). Apply ICP filters like industry, company size, revenue, technologies, seniority, and department to narrow the results. Use the “not already in CRM” filter to exclude accounts your team is already working.
Once you have your list, find emails and phone numbers with waterfall enrichment across 14+ providers (lemlist internal data). The system queries each provider in sequence and returns the first verified result. lemlist claims a 77%+ phone number find rate through this method.
Before you launch, check the verification status on every contact. lemlist shows whether each email is deliverable, risky, or undeliverable so you can remove bad addresses before they hurt your domain.
You can also add leads directly from LinkedIn using the lemlist Chrome extension, which pulls profile data and enriches it in one step.
Two safety nets protect your sending reputation. Bounce protection alerts you when your bounce rate hits 10% and automatically pauses the campaign at 50% once at least 100 leads have been contacted. The team-level unsubscribe list ensures that anyone who opts out is excluded across every campaign, for every sender on your team.
Final takeaway
A B2B lead list that performs starts with your ICP, follows an account-first build process, and goes through verification and segmentation before a single email is sent. Skip any of those steps and you are sending into the dark. The maintenance never stops because the data never stops changing.
Find data about your leads
Discover prospects and enrich their data to launch targeted campaigns.