How to build a B2B lead list that's worth emailing.
A good lead list starts long before you scrape anything. This guide walks through the whole process: defining who you sell to, picking the right sources, collecting leads, finding and verifying emails, cleaning the data, splitting it into groups and exporting it to the tool you send from.
On this page1. Define your ideal customer profile
A B2B lead list is only as good as the description it was built from. Before you open any tool, write down your ideal customer profile (ICP): the kind of company that gets the most value from what you sell, and the people inside it who decide to buy.
Split it into two parts. The company part describes the account. The person part describes who you will actually write to.
Company attributes
- Industry or category: “B2B SaaS”, “dental clinics”, “commercial roofing contractors”.
- Size: headcount range, or number of locations for local businesses.
- Geography: the countries, states or cities you can actually serve, and the time zones you can sell in.
- Trigger or signal: something that makes now a good time, such as a recent product launch, a new location or a hiring push.
Person attributes
- Job titles and seniority: “Head of Sales”, “VP Marketing”, “Founder”, “Practice owner”.
- Function: sales, marketing, operations, engineering.
- Who signs, who uses: the buyer and the day-to-day user are often different people. Decide which one you're writing to first.
Worked example. “US-based B2B SaaS companies with 11–50 employees, selling to mid-market teams. Contact: the founder or the first sales leader (Head of Sales, VP Sales). Signal: launched a new product in the last 60 days.” That single paragraph already tells you which source to use, which filters to set and what to say in the first line of your email.
2. Pick your sources
Different ICPs live in different places. Pick the source where your buyers are already listed with the details you need, instead of forcing one source to do everything.
| Source | Best for | What you get |
|---|---|---|
| LinkedIn Sales Navigator | Named decision makers by title, seniority, industry, region and company size | Name, job title, company, company website and domain, profile link, photo, logo, company email |
| Google Maps | Local and service businesses: clinics, trades, agencies, restaurants, shops | Business name, website, domain, phone, address, category, rating, Maps link, company email |
| Product Hunt | Startups and founders who just launched something | Product, tagline, topics, launch date, makers and hunter with their LinkedIn and X links, website email or the maker's public email |
| Websites and directories | Lists you already have: association member pages, conference exhibitors, partner directories | One row per domain with the best email found on the site |
Sales Navigator gives you people. Google Maps and directories give you businesses. Product Hunt gives you both: a company and the makers behind it. If your offer needs a named person, start from a people source. If any decision maker at a small business will do, a business source plus its company inbox is often enough.
3. Collect the leads
You can copy leads into a spreadsheet by hand, and for a list of 20 that's fine. Past that, a scraper saves hours and keeps the fields consistent. QuickExtract is a Chrome extension that collects leads from all four sources above into one dashboard, and extraction is free from every source.
Sales Navigator
Build your search with filters that match your ICP, copy the results page URL and paste it into QuickExtract. Choose how many records to collect, from 1 to 2,500 per scrape, and which group to store them in. It reads the search through your own signed-in Sales Navigator session, so you need your own subscription. See how to export leads from Sales Navigator for the full walkthrough.
Google Maps
Type searches in plain English, one per line, each with its own number from 1 to 120:
find 100 plumber emails in Austin80 dentists in Denver60 roofing contractors in Tampa
Each line runs in a background tab. More in how to get emails from Google Maps listings.
Product Hunt
Pick a date range of up to 62 days, or a preset such as Last 7 days, and how many launches to take from each day (1 to 200). See how to find Product Hunt founder emails.
Websites and directories
If you already have a list of company websites, from a directory, an event exhibitor page or an old spreadsheet, paste up to 1,000 URLs and QuickExtract visits each one looking for an email. While you browse a directory you can also right-click and choose “Crawl this page's links for emails”.
4. Find email addresses
There are two kinds of email you'll collect, and they behave differently.
- Company emails such as
hello@,contact@,info@orsales@. These are published on the company's own website. They are fine for small businesses, where the owner often reads the shared inbox. - Person emails such as
[email protected]. These reach one named person and are usually what you want for larger companies, where a shared inbox is triaged by someone else.
QuickExtract finds company emails automatically for every lead with a website. It checks the homepage and up to 8 likely pages (contact, about, team, support, impressum and similar), decodes obfuscated addresses like name [at] domain [dot] com, and ranks the results so a founder or hello@ address beats a legal@ or privacy@ one. Company emails and any publicly available email are always free.
For a named person whose email isn't published, QuickExtract's email finder looks up their work email at their company's domain. It costs $29 for 2,000 credits, about 1.45¢ each, and a credit is only used when a valid email is found. For the manual version of this step, see how to find someone's work email from their name and company.
5. Verify before you send
Unverified addresses bounce, and bounces hurt the sending reputation of your domain. Verification checks an address before you send to it. A thorough check has three layers:
- Format and domain: the address is well formed and the domain is set up to receive mail.
- Mailbox: the mail server confirms that this exact mailbox exists.
- Catch-all: some domains accept mail for every address, real or not, so the mailbox check can't tell. These need a separate check. Read catch-all emails explained for why.
Every person email QuickExtract delivers has passed all three checks, and verification is included in the same credit. If you have emails from somewhere else, you can run them through the verifier with the same credits.
6. Clean the list
Raw scraped data always needs a pass before it goes into a sequence. Work through these in order:
- Remove duplicates. The same person can show up in two searches. QuickExtract matches Sales Navigator leads by LinkedIn ID and updates them in place, and website rows are one per domain, but dedupe again once you combine lists from several sources.
- Drop rows without an email if this list is for email outreach. The dashboard's With email tab does this for you.
- Check first names. Personalization breaks on “Hi info,”. When a first name is derived from an email, a shared address like info@ gets no first name, so use a fallback such as
{{firstName|there}}, which turns into “Hi there”. - Remove existing customers and open deals by comparing domains against your CRM export.
- Remove anyone who has opted out of your emails before.
7. Segment into groups
One list of 2,000 mixed leads gets one generic email. Ten groups of 200 get ten specific ones. Segment by whatever changes your message:
- Role: founders care about different things from heads of sales.
- Industry: dentists and plumbers need different examples.
- Region: for time zones, language and local references.
- Email type: person emails and company inboxes deserve different openers.
QuickExtract puts every run into a group, named automatically after the search, and you can rename groups or create your own. A naming scheme like VP Sales · SaaS · US or Dentists · Denver · Oct keeps months of lists readable.
8. Export and send
Export the group you're about to contact, not the whole database. QuickExtract exports:
- CSV with 37 columns, saved as UTF-8 with a BOM so Excel shows accented names correctly. Import it into HubSpot, Salesforce, Pipedrive or any other CRM.
- TXT with one email per line, for tools that only want addresses.
- Copy emails to your clipboard.
If you send cold email with Quickprosp, connect it with your API key and save leads straight into a Quickprosp list, add them to a campaign, or enroll them in an automation. Leads you've already sent to are skipped. See integrations and how to import leads into your CRM. Before your first send from a new domain, read how to warm up a cold email domain.
The B2B lead list checklist
| Step | Done when |
|---|---|
| ICP written | You have one paragraph covering company type, size, region, contact titles and a timing signal. |
| Source chosen | You know whether you need people (Sales Navigator), local businesses (Google Maps), startups (Product Hunt) or a list you already have (websites). |
| Leads collected | Each run sits in its own named group. |
| Emails found | Company emails are filled in, and person emails are found for the leads that need them. |
| Emails verified | Every address has passed format, mailbox and catch-all checks. |
| List cleaned | No duplicates, no customers, no opt-outs, and a first-name fallback is set. |
| Segmented | Each group gets its own message. |
| Exported | The group is in your CRM or sending tool, with its source recorded. |
Collecting data about people comes with responsibilities. Follow the anti-spam and data protection laws where your recipients live, include a clear way to opt out, and honour removal requests. This is general information, not legal advice.
Lead list questions.
How many leads should a B2B lead list have?
Enough to test one message on one segment. Start with a group of a few hundred leads that match your ICP closely, learn what gets replies, then build the next group. A small, accurate list beats a large, mixed one.
Is it free to build a lead list with QuickExtract?
Extraction from every source is free, and so are company emails and any publicly available email. You only pay for verified person emails: $29 for 2,000 credits, with no charge when no valid email is found.
Should I use company emails or person emails?
For small and local businesses, the company inbox is often read by the owner, so it works well. For larger companies, write to the person who owns the problem, which usually means a verified person email.
Can I combine leads from several sources?
Yes. Leads from every source live in the same dashboard, each in its own group, and export to the same CSV format. Dedupe by email or domain once you merge them.
Build your first list today.
Extraction and company emails are free. Verified person emails cost $29 for 2,000, and you pay only when a valid one is found.