The worst list I ever paid for had a hard bounce rate around 31%. Not soft bounces — hard ones, addresses that did not exist. We caught it on the second send, after the first had already done the damage: the sending domain's reputation dropped far enough that legitimate mail to existing customers started landing in spam. Six weeks of careful low-volume sending to climb back out.
That is why I now find B2B leads without buying a list — and it is not a budget decision, it is a data-freshness decision. The vendor was not a scam, which is the part worth sitting with. They sold exactly what they advertised, and roughly a third of it was dead on arrival, because B2B contact data decays constantly and nobody in that supply chain is paid to notice.
The nine sources below are free or near-free, and they share one property: each is generated as a side effect of something a company just did, which makes them current by construction.
Quick answer: how do you find B2B leads without buying a list?
Build the list from public signals that companies emit while operating: job postings, funding announcements, government contract awards, patent and trademark filings, review-site activity, GitHub and tech-stack footprints, Google Maps listings, and LinkedIn activity. Each of those tells you a company exists, is spending, and has a specific problem right now. You then resolve the company to a named person and a verified email using a finder tool, and verify every address before sending. The result is smaller than a purchased list, an order of magnitude fresher, and it carries a reason to reach out that you can say out loud.
Why purchased lists fail, mechanically
It is not that the data was never true. It is that it was true a while ago.
B2B contact data decays fast — people change jobs, companies restructure, domains get consolidated after acquisitions. A database assembled eighteen months ago and resold ever since will contain a substantial share of addresses that no longer route anywhere. Nobody in the chain re-verifies, because verification costs money and the buyer does not discover the problem until after payment.
Three consequences follow, and only the first is obvious:
- You pay for records you cannot use. Annoying, survivable.
- You damage your sending domain. This is the real cost. Mailbox providers read a high hard-bounce rate as the signature of a purchased list, and the reputation hit applies to all your mail, including transactional and existing-customer email. I wrote about how that measurement side works in what a good average email open rate actually tells you.
- You have nothing to say. A purchased record tells you a job title. It does not tell you why this company, this week. Every message you write from it opens with a generic value proposition, because that is all the data supports.
That third point is the one that quietly caps your reply rate. A list built from signals comes with the opening line attached.
The nine sources, and what each one actually tells you
| Source | Signal it carries | Freshness | Effort | Best for |
|---|---|---|---|---|
| Job postings | Budget approved, team growing, stack named in the JD | Days | Low | Almost every B2B segment |
| Funding announcements | Money just landed, mandate to spend it | Days | Low | Tools with clear ROI |
| Government contract data | Verified entity, known contract value, renewal dates | Weeks | Medium | Anyone selling to public sector |
| Patent / trademark filings | Investing in something new, launching a product | Weeks | Medium | Long-cycle, technical products |
| Review sites (G2, Capterra) | Actively evaluating or complaining about a competitor | Days | Low | Displacement plays |
| GitHub / tech-stack footprints | Confirmed technology in use, engineering headcount | Days | Medium | Developer and infra tools |
| Google Maps / local directories | Verified existence, category, review volume, whether they even have a site | Weeks | Low | SMB and local services |
| LinkedIn activity | Person is real, active, and has posted about the problem | Hours | Medium | Anything relationship-led |
| Domain WHOIS / DNS | New domains, infrastructure changes, MX provider | Days | Medium | Infra, security, email tooling |
A few of these deserve more than a table row.
Job postings are the single highest-yield free source, and they are underused because people treat them as a recruiting artifact. A job description is a company telling you, in public and in detail, what they are about to spend money on, which tools they already run, and which team is under-resourced. If a company posts for a "Lifecycle Marketing Manager, experience with Braze or Iterable required", you now know their stack, their gap, and their budget cycle — three things a purchased record will never give you.
Government contract data is the most overlooked, at least in the US. SAM.gov lists every entity registered to do business with the federal government, and USASpending publishes what was actually awarded and when. That gives you verified company identity, real contract values, and — because contracts have end dates — a genuinely predictable window in which someone is obliged to be shopping again.
Review sites are where displacement lives. Somebody writing a three-star review of your competitor has told you their problem, their current vendor, and their willingness to talk about it publicly. That is a warmer opening than any intent-data score.
Google Maps is unglamorous and works. For SMB-facing products you can filter by category, location, review count, and — the useful one — whether the business has a website at all. "You have 200 reviews and no booking system" is a complete pitch.
From signal to a person you can actually email
A signal identifies a company. Outreach needs a human. That gap is where most self-built list projects stall, so be systematic about it:
- Pick the role, not the person, first. Decide which title owns this problem. Guessing at names before you know the role produces lists of whoever was easiest to find.
- Resolve the name from the company site, LinkedIn, GitHub commits, conference talks, or the byline on their engineering blog.
-
Find the address with an email-finder tool rather than guessing patterns. Pattern-guessing (
first.last@) produces bounces at exactly the rate that damages you. - Verify every address before sending. Non-negotiable. Verification costs fractions of a cent; a hard bounce costs reputation.
- Record the signal alongside the contact. The reason you added them is your first line. If you do not store it, you will be writing generic email again in three weeks.
That last step is the one people skip and later regret. A list where every row carries "posted a Braze role on Jan 14" is a fundamentally different asset from a list of names.
Doing this at scale without it becoming a second job
Everything above is free and entirely manual. For twenty prospects that is a pleasant afternoon. For four hundred it is a full-time job that produces a stale spreadsheet, because by the time you finish enriching row 400, row 1 has changed employer.
The practical problem is that the sources do not share a schema. Job boards, WHOIS, Maps, GitHub and review sites each return a different shape, none of them include an email address, and deduplicating across them — the same company appearing as three records with three name spellings — is genuinely fiddly work.
This is the specific job MisarReach's lead finder does: it queries roughly two dozen sources (Hunter, Apollo, Snov, People Data Labs, GitHub, Google Maps, LinkedIn, domain WHOIS and others) behind one search, enriches and deduplicates the results, and scores them for intent, so what comes out is a contact record with the originating signal still attached. Because it sits in the same product as the outreach sequencing and pipeline, the signal is still there when you write the first message rather than lost in an export. The free tier gives you a handful of searches a month, which is enough to judge whether the data holds up on your own segment before paying anything.
I would still rather you build the first list by hand. Doing it manually once teaches you which sources your segment actually rewards, and that judgement is not something tooling supplies — it just makes the repetition cheaper afterwards.
Prioritising: not all signals are equal
A common failure is treating a self-built list as a flat queue. Signals have half-lives, and working them in the wrong order wastes the good ones.
- Hours to days: LinkedIn posts, review-site complaints, funding news. These decay fast. Reach out within the week or the relevance is gone.
- Weeks: job postings, new domains, product launches. The budget conversation is still live.
- Months: patents, contract awards with distant renewal dates. Worth a nurture sequence, not a call today.
Sort by decay, not by company size. A 40-person company that posted a relevant role yesterday is a better use of the next hour than a 4,000-person company you have no reason to contact today.
And once the list exists, the sending discipline matters as much as the sourcing: a great list burned through an aggressive, single-channel blast performs worse than a modest one worked properly. I laid out the spacing rules in multi-channel outreach sequences.
What I would do this week
If you are currently buying lists, do not rip that up on Monday. Run this in parallel for one segment and compare:
- Pick one signal, ideally job postings, and one narrow ICP.
- Build 50 contacts by hand. Yes, 50. Small enough to finish, large enough to read a result.
- Verify all 50 before a single send.
- Write the first line from the signal in every message. If you cannot, the signal was too weak — drop that row.
- Compare reply rate against your purchased-list baseline on the same offer. Not open rate; replies.
In my experience the self-built list wins on reply rate by a wide margin and loses on volume by a wider one, and that trade is almost always worth taking — because the constraint on a B2B pipeline is rarely how many people you contacted. It is how many of them had a reason to answer.
FAQ
Is it legal to build your own B2B lead list?
Building a list from public sources is generally lawful for B2B outreach, but the rules depend on where your recipients are, not where you are. GDPR requires a lawful basis (legitimate interest is commonly used for B2B, with a balancing test and easy opt-out), CAN-SPAM requires accurate headers, a physical address, and a working unsubscribe, and CASL in Canada is stricter than both. Verify the specifics for your target geography — this is a genuine compliance question, not a formality.
How many leads do I need before outreach is worth running?
Fifty well-qualified contacts with a real signal will teach you more than five thousand purchased ones. At fifty you can read reply-rate direction and judge whether the offer lands; below about twenty, results are pure noise. Scale the sourcing only after a segment shows a reply rate you would be happy to multiply.
Do I still need an email-finder tool if I am not buying lists?
Yes, and this is the distinction that matters: a finder resolves and verifies an address for a person you have already decided to contact, whereas a purchased list hands you thousands of unverified records you never selected. You are paying for verification on demand rather than for volume — different economics, and much better deliverability.
Which free lead source should I start with?
Job postings, for almost every B2B product. They are updated constantly, they state budget and stack explicitly, and they give you an opening line that is specific and provably current. Add review sites next if you sell against named competitors, or Google Maps if your buyers are small local businesses.











