How to create a B2B lead list for free

Create a B2B lead list for free: write one line that decides who fits, set up a 12-column Google Sheet, add 100 named buyers a day from public lists with one true dated fact and the source on each row, clean it before you send, and count replies by source every Sunday.

ByDinesh BypillaReviewed byMurali SidLast checked 16 min read

You are ready to send cold emails and LinkedIn messages, but you have nobody to send them to, and lead databases want $49 to $120 a month. Here is how to create a B2B lead list for free: one line that decides who fits, one Google Sheet, and 100 new named buyers a day from public lists, each with one true fact about them. A bought list of 5,000 contacts bounces, lands in spam and gives you nothing true to say to anyone on it.

Do these three things

About 1 hour 30 minutes a day once the routine is set, and about twice that in the first week. Judge each source after 2,800 messages.

Show the three actions in full
  1. Today: write one line that says which companies go on your list and who buys there. Set up a free Google Sheet with 12 columns, and add your first 100 rows.
  2. Every day: add 100 new rows from free public lists. Each row has a named buyer, one true fact about the company, and where you found it. AI suggests companies; you open every website before a row goes in.
  3. Every Sunday: count replies for every 100 people you contacted from each source. After 2,800 messages, drop the source with the fewest replies and give its rows to the best one.

Get help doing these

ChatGPT or Claude reads this guide and works through it with you.

1. Write one line that decides who goes on your lead list

Write one line that says which companies go on your list: the kind of company, its size, where it is, the job title of the person who buys, and one sign that they need you now. You will judge every row against this line, so it must let you say yes or no in under 10 seconds.

The line is a short ideal customer profile. Build it from the people who already paid you or talked to you. If you have none, use what you learned in your customer interviews. The "sign they need you now" matters most, because a company that just hired, launched, moved or complained is far more likely to answer this month.

Then add three "never" rules: the companies you will not add, even if they look close. They stop the list drifting. The same words go into your value proposition.

Put the people who already know you on the sheet first, with the source "People I know". That is warm outreach, and they answer far more often than strangers.

Who goes on your list
[Kind of company] with [size: people or revenue] in [place], where the [job title] decides, and that [sign they need you now: just hired for X / just launched / just opened a new site / complained about Y].Never: [1. too big or too small]. [2. a kind that never buys from you]. [3. anyone you or a partner already sells to].

If you run a D2C brand: your B2B buyers are shops. Write the line about shops: "independent [kind of shop] with 1 to 3 stores in [place], where the owner buys, that already stock brands like yours." That is the start of getting into retail stores.

If you run an agency: write the line about your niche, not about "businesses that need marketing". The same line shapes your agency cold email and how you win your first client.

  • Tool: a Google Doc.
  • Time: 30 minutes.
  • You will have: one line and three "never" rules.
  • It worked if: you can name 20 companies that fit in 10 minutes, and say yes or no to each in under 10 seconds.
  • Common mistake: "small businesses" or "SaaS companies". That is too wide: every row becomes a guess. If you cannot name 20 that fit, check the problem is real before you build a list.

See it done: Quillfox's line

Quillfox is a made-up one-person agency. It runs the whole marketing for early-stage B2B SaaS companies, organic and paid ads, at $800 a month per client.

Before

SaaS companies that need help with marketing.

After

B2B software companies with 2 to 15 people in the US or UK, where a founder still does the marketing, that launched, raised money or posted a job for a first marketer in the last 90 days.

Why it works: It has a size, a place, a buyer and a sign of need, so a row can be judged in seconds.

2. Set up your free lead list in Google Sheets

Make one Google Sheet with the 12 columns below, two drop-down lists and a "Do not contact" tab. A sheet is enough for your first few thousand rows. Move to a CRM when the sheet gets slow, not before.

Your lead list columns (A to L)
Company | Website | Buyer | Role | Email | LinkedIn | Phone | Why now (one fact, with date and link) | Source | Country | Status | Date added
  1. 1

    Add the columns

    Open a new Google Sheet, rename the first tab "List", and paste the 12 headers into row 1.

  2. 2

    Add two drop-down lists

    Select column I (Source). Click Insert, then Dropdown, and add "People I know" plus the 3 to 5 sources you pick in step 3. Then select column K (Status) and add: New, Contacted, Bounced, Replied, Call booked, Said no. Drop-downs keep the Sunday count in step 7 exact.

  3. 3

    Add a Do not contact tab

    Add a second tab called "Do not contact". Everyone who says no goes there, with the date, and is never added again.

The Source column has a second job. In the UK and the EU, you must tell people where you got their details, at the latest in your first message (step 6). The column means you always know.

  • Tool: Google Sheets, free with a Google account.
  • Time: 20 minutes, once.
  • You will have: an empty list that holds one buyer per row.
  • It worked if: one row fits on one screen line, and every Source and Status cell comes from a drop-down.
  • Common mistake: one "contact info" column with everything pasted in, and no Source column. You cannot count or clean what you cannot sort.

3. Find 100 companies a day from free public lists

Every day, add 100 companies that pass your line, from 3 to 5 free public lists where your buyers already show up. 100 personal messages a day use about 3,000 names a month, so this is a daily job, not a one-time one.

Pick 3 to 5 sources from the ones that fit you. Give each one its own value in the Source drop-down.

If you make or wholesale a product, or sell a service to local firms: industry association member directories, the exhibitor lists of your buyers' trade shows, and Google Maps searched by hand for the kind of business plus a town. Google's Maps terms forbid bulk downloads, so add businesses one at a time.

If your buyers are in the UK: the free Companies House advanced search filters by nature of business (the SIC code), registered address and date of incorporation. A new company is often a buyer that needs everything at once. You can download up to 5,000 results as a CSV file, free.

If you sell a service, such as consulting or IT: job posts for the work you do. A company hiring for it has the problem today, and may take a fixed-price project while it hires. It is also how many service firms win clients without referrals.

If you run a SaaS or an agency that sells to software companies: launch sites such as Product Hunt, where new software makers post every day; job posts for the role your product helps (search LinkedIn Jobs, which does not use up your free LinkedIn searches); and public reviews of your competitors that name a problem you fix. These are the teams to invite as you go after your first 100 users.

If you run a D2C brand selling to shops: open the "stockists" or "where to buy" page of 10 brands like yours. Each one lists shops that already buy products like yours. Then follow the distributors who supply them.

Questions in the communities where your buyers talk work for every reader: a person asking "how do I fix X?" in public is a company with a sign of need. Answer them there first, by the subreddit's or group's rules, before you add them to your list.

Let AI do the first search. ChatGPT's web search works on the free plan. Paste your line from step 1 and a place, and ask for 30 companies that fit, each with a link to its website. Some will be wrong, too big or closed. Open each website yourself, and add a row only if it passes your line.

Ask ChatGPT for companies
Search the web. List 30 companies that fit this line: [your line from step 1]. They are in [place]. For each one, give the company name, its website, and one sentence on why it fits, with the link that shows it. Leave out any company with more than [size] people. Do not include any of these: [paste company names already on your list].
  • Tool: Google, Google Maps, ChatGPT (free plan with search), LinkedIn Jobs, and the free lists above.
  • Time: about 40 minutes a day for 100 companies, once you know your sources, inside your daily marketing block. Expect twice that in the first week.
  • You will have: 100 new companies a day, each with a website and a source. About 3,000 a month.
  • It worked if: you add 100 a day, and 9 in 10 pass your line when you check them again a day later.
  • Common mistake: buying a list of 5,000 contacts, or letting AI fill the sheet unchecked. A bought list has old and wrong names, and bulk mail to it hurts your email deliverability.

4. Find the person who buys at each company

For every company, add the name and job title of the person who decides to buy, and at least one way to reach them. You cannot message a company. You can only message a person.

In a company of under 20 people, the decision-maker is usually a founder or owner. In a bigger one, it is the head of the team that has the problem: operations, buying, IT or marketing, and often several people decide together. Add each one as their own row. Look in this order:

  1. The company's own website. The About, Team or Contact page often names the founder and gives an email or phone number. This costs nothing and has no limit.
  2. The business register. In the UK, open the company on Companies House and click the People tab. It lists the directors, with their role and the date they were appointed.
  3. LinkedIn, by name. Once you have a name, type it into the search box at the top of LinkedIn. LinkedIn says name searches do not count toward its monthly limit for free accounts.
  4. LinkedIn People search. Only when steps 1 to 3 fail. Type a plain question into the search bar, such as "founder at [company]", click People, and use All filters for Current company and Locations. These searches do count toward the limit.

The LinkedIn limit. A free LinkedIn account has a monthly "commercial use limit" on profile searches. LinkedIn does not show how many you have left, will not lift it, and resets it on the 1st of each month. So do most of your 100 a day from websites and registers, and save People search for the rest. LinkedIn's User Agreement also forbids browser add-ons and bots that copy profiles or download contacts. Copy what you need by hand. Your account is worth more than the time an add-on saves, because you need it for LinkedIn outreach. The people you find will look you up too, so fix your LinkedIn profile before you write to them.

For the email address, find the work email of each named person, or use the email on their website. If you have a phone number, a cold call counts as one of your 100 messages too.

  • Tool: the company website, Companies House (UK), and LinkedIn's free search.
  • Time: about 30 minutes a day for 100 companies.
  • You will have: a named buyer, a role and at least one way to reach them on every row.
  • It worked if: every row has a person's name and an email, LinkedIn link or phone number, and LinkedIn has not warned you about the limit.
  • Common mistake: adding info@ or hello@ as the contact. Those reach whoever reads the shared inbox, often nobody who buys. The other mistake is a scraping add-on that gets your LinkedIn account restricted.

5. Write one true fact about every company on its row

In the "Why now" column, write one true, recent fact about each company, with its date and a link: something they launched, posted, hired for, opened or complained about. This fact is the first line of your message, so it makes every message personal.

Good facts are under 15 words, from the last 90 days, and something you could say to the person's face. You find most of them while you check the website in step 3: a news page, a launch post, a job ad, a new product. AI can read a page and give you one sentence; you check it against the page before it goes in.

A fact like thisTells you
A job post for the role your product helpsThey have the problem now and a budget for it
A launch, a new product or a new locationThey have new work and may need help with it
A public review or post that names a problem you fixThey feel the pain and said so
A question they asked in a communityThey are looking for an answer this week

Rows without a good fact still go on the list, with "none" in the column. Contact them after the rows that have one. For your 20 biggest targets, add three facts and two or three people each: that is account-based marketing on a small scale.

  • Tool: the company's website and news, LinkedIn Jobs, and ChatGPT to summarise a page you paste in.
  • Time: about 15 minutes a day, on top of step 3.
  • You will have: a "Why now" fact, a date and a link on most rows.
  • It worked if: at least 7 in 10 rows have a fact from the last 90 days, and each one would still be true if the person read it.
  • Common mistake: a fact that is not about them ("your industry is changing") or praise ("love what you're doing"). Neither gives a reason to reply. A fact is what makes cold emails get replies.

See it done: Three rows from Quillfox's list

Lead list, rows 1 to 3

CompanyBuyerRoleWhy nowSource
PlinthwiseMaya R.Co-founderPosted a job for its first marketing hire, 29 SepJob posts
BrindlepathTomás L.FounderLaunched on Product Hunt, 22 Sep; 6 people on its team pageLaunch sites
OttermarkJen O.Co-founderAsked in a founders' community how to get users without ads, 1 OctCommunities

Why it works: Each row has a named founder and a dated reason to write this week, so the first line of each message writes itself.

6. Clean the new rows before anyone gets a message

Every day, before the new rows get a message, remove duplicates, rows that fail your line, and anyone in "Do not contact". It takes 10 minutes and keeps you from writing to the wrong person, or to the same person twice.

  1. 1

    Remove duplicates

    Select the list, click Data, then Data cleanup, then Remove duplicates. Tick the Website and Buyer columns, so two people at one company both stay, and click Remove duplicates. Then delete any new row whose company or person is on the "Do not contact" tab.

  2. 2

    Read each new row against your line

    Delete any row that fails your line from step 1 or breaks a "never" rule. If more than 1 in 10 fail, the source is weak or the line is unclear. Fix that before tomorrow's 100.

  3. 3

    Mark who you may email

    In the UK, you may email people at companies without asking first, but not sole traders or some partnerships. Write "No email" in their Email cell, and give them a call or a LinkedIn message instead. In the EU, rules differ by country; check them before you email buyers there.

Say where you found them. Under UK and EU data law, when you collect someone's details from somewhere else, you must tell them where you got them, at the latest in your first message and within one month. The UK regulator also says that finding details in public does not mean the person agreed to be marketed to. So add one line to every first message to someone in the UK or EU, taken from your Source column:

The source line (UK and EU contacts)
I found your name on [your company's website / Companies House / the [event] exhibitor list]. If you'd rather not hear from me, reply "no" and I'll remove you.

When people start getting messages, mark every bounce as "Bounced" and every "no" as "Said no", and copy each "no" to the "Do not contact" tab the same day. If more than 2 in 100 emails bounce, stop and check how you find emails before you send more. A bounce rate above that harms the domain you send from, even after you warm it up.

  • Tool: Google Sheets.
  • Time: about 10 minutes a day.
  • You will have: 100 clean rows a day, ready for messages.
  • It worked if: there are 0 duplicates, nobody on "Do not contact" gets a message, and fewer than 2 in 100 emails bounce.
  • Common mistake: writing again to someone who already said no, because their name came back from a new source. Check "Do not contact" every day.

7. Count replies by source every Sunday and keep the sources that work

Every Sunday, count how many people from each source you contacted and how many replied. After 2,800 messages, drop the source with the fewest replies per 100 people, and fill its share of the 100 a day from the best one.

A reply is any answer from a person, including "no". Add a "Sunday" tab with the headers Source, Contacted, Replies and Per 100, put one source in each row of column A, and paste these formulas into row 2 of columns B, C and D. They read column I (Source) and column K (Status) on your List tab.

The Sunday formulas (one row per source)
Contacted (B2): =COUNTIFS(List!I:I,A2,List!K:K,"<>New")
Replies (C2): =COUNTIFS(List!I:I,A2,List!K:K,"Replied")+COUNTIFS(List!I:I,A2,List!K:K,"Call booked")+COUNTIFS(List!I:I,A2,List!K:K,"Said no")
Per 100 (D2): =IF(B2=0,0,C2/B2*100)

Write down the numbers each Sunday. At 100 a day, 2,800 messages is 4 weeks. Until then, keep every source going, because a few hundred messages from one source tell you little. Then:

  • Drop the source with the fewest replies per 100 if it is under half of your best, and move its rows to the best source.
  • If every source is under 1 reply per 100, the list is not the only problem. Rewrite your line in step 1 and the first line of your message, then send the next 1,000. If 2,800 messages still bring nothing, find out why no one is buying.
  • Ask every person who books a discovery call how they found you. Some will say a friend sent your message on. This is self-reported attribution, and it shows sources your sheet cannot.

When calls start, track which source brought each deal, not just each reply. Once a month, add the list to your monthly marketing review.

  • Tool: Google Sheets.
  • Time: 20 minutes every Sunday.
  • You will have: one row per source each week, and a clear answer on which source to fill your 100 a day from.
  • It worked if: you can name the source of every reply, and after 2,800 messages your best source brings at least 2 replies per 100 people.
  • Common mistake: judging a source after 50 messages, or counting rows added instead of replies.

See it done: Quillfox's Sunday count after 2,800 messages

Replies by source, weeks 1 to 4

SourceContactedRepliesPer 100Calls
Job posts980343.59
Communities420133.13
Launch sites840192.34
Google searches56040.70

The decision: Google searches brought 0.7 replies per 100, under half of the best source. Quillfox drops it and moves its 20 rows a day to job posts.

Why it works: It compares sources by replies per 100 people, not by how many rows each one gave, so the hours move to the source buyers answer.

Your B2B lead list checklist for the next 4 weeks

0 of 8 done

Work through this list with an AI assistant

It drafts the work and keeps track of what is done.

Step 1 · Write one line that decides who goes on your list

Step 2 · Set up your free lead list in Google Sheets

Step 3 · Find 100 companies a day from free public lists

Step 4 · Find the person who buys at each company

Step 5 · Write one true fact about every company

Step 6 · Clean the new rows before anyone gets a message

Step 7 · Count replies by source every Sunday

Frequently asked questions

Is it legal to build a B2B lead list from public information?

Yes, with care. In the UK and EU, data law covers work details too: tell each person where you found them, at the latest in your first message, and remove anyone who objects. Being public does not mean they agreed to marketing. Do not copy LinkedIn profiles with bots or add-ons: LinkedIn's User Agreement forbids it. Then follow the cold email rules where you send.

How many leads do I need?

As many as your messages need. At 100 messages a day you use about 3,000 names a month, so add 100 rows every day. A list of 200 lasts two days. Start sending the day you have your first 100 rows; do not wait for a full list. The full B2B marketing routine shows where the list fits.

Should I buy a lead list or pay for Sales Navigator instead?

Not at the start. A bought list has old names and no reason to write to anyone, and its bounces hurt your sending domain. Sales Navigator Core costs US$119.99 a month. A free LinkedIn account, company websites and public lists are enough for your first 3,000 names. Pay for a tool once one source works and the free limit is what slows you down. Leave LinkedIn ads until later too.

Can ChatGPT build a lead list for me?

It can suggest companies, with links, when you give it your line and a place, and it can summarise a page into one fact. It also gets companies wrong, out of date or too big. Open every website yourself before a row goes in. Never let it guess an email address; find the real one instead.

What if my buyers are not on LinkedIn?

Many owners of shops, workshops, clinics and trade firms are not. Use the sources they do show up in: Google Maps, association directories, trade show exhibitor lists and business registers. Their website or listing usually gives a phone number, so a phone call can be one of your 100 messages. Networking events reach them too.

Sources

  1. 1.Commercial use limit — LinkedIn Help, checked 4 October 2026
  2. 2.Search for people on LinkedIn — LinkedIn Help, checked 4 October 2026
  3. 3.User Agreement (effective 3 November 2025), section 8.2 — LinkedIn, checked 4 October 2026
  4. 4.Compare Sales Navigator plans — LinkedIn, checked 4 October 2026
  5. 5.Advanced company search — Companies House, checked 4 October 2026
  6. 6.Google Maps/Google Earth Additional Terms of Service (last modified 27 January 2026) — Google, checked 4 October 2026
  7. 7.Searching the web with ChatGPT — OpenAI Help Center, checked 4 October 2026
  8. 8.Create an in-cell dropdown list — Google Docs Editors Help, checked 4 October 2026
  9. 9.Split text, remove duplicates, or trim whitespace — Google Docs Editors Help, checked 4 October 2026
  10. 10.Business-to-business marketing — Information Commissioner's Office, checked 4 October 2026
  11. 11.Right to be informed — Information Commissioner's Office, checked 4 October 2026
  12. 12.Art. 14 GDPR: Information to be provided where personal data have not been obtained from the data subject — gdpr-info.eu, checked 4 October 2026
  13. 13.Cold Email Benchmark Report 2026 — Instantly, data from 2025, checked 4 October 2026
  14. 14.Pricing — Hunter, checked 4 October 2026

Next article to read

How to warm up an email domain for cold emailSet up a separate domain before you send, so your emails land in inboxes.Read it next

Guides that link here

Cite this page

Dinesh Bypilla (2026). How to create a B2B lead list for free. Scout7 Academy. https://scout7.ai/academy/cold-outreach/how-to-create-a-b2b-lead-list-for-free

Written by Dinesh Bypilla, Agentic systems engineer at Scout7. Reviewed by Murali Sid. Last checked 4 October 2026.

Quote any part of this guide with a link back to this page. © 2026 Scout7.

Markdown version of this page: https://scout7.ai/academy/cold-outreach/how-to-create-a-b2b-lead-list-for-free.md