Buy leads vs build a list: what costs less per meeting
Buy leads vs build a list is a cost per meeting question, not a pride question. In the worked example below, a bought 1,000-contact list lands near $10 per meeting and the same list built by hand lands near $290. Those figures rest on assumed inputs, so swap in your own. Building still wins in a few cases, and the end of this post gives a rule by team size.
What does "buy leads" mean in this post?
It means buying B2B contacts: named people at businesses, with title, company and work email. It does not cover consumer leads, homeowner leads or exclusive inbound leads that a broker routes to you. If you sell to companies and plan to email or call the people who run them, this post is for you.
"Build" means finding the same people yourself. You search company sites and professional profiles, look up or guess emails, and check them in a spreadsheet. Both paths end at a CSV. The difference is who does the work and how many hours it takes.
How do you compare the two paths per meeting?
Add up everything you pay to get 1,000 contacts, including your own time at a rate you pick. Send the same email to both lists. Divide total cost by meetings booked. List price alone misleads, because a free list that took 30 hours is not free.
The formula is short: (list cost + hours x hourly value) divided by meetings. Sending costs are the same on both paths, so leave them out. You need four inputs: list cost, hours spent, bounce rate and reply rate.
What does the 1,000-contact example look like?
Under the example inputs below, buying costs about $62 all in and books about 6 meetings, so roughly $10 each. Building by hand costs about $1,667 in time and books about 5.75 meetings, so roughly $290 each. Every input is hypothetical. Time per contact does almost all the work.
| Input (hypothetical example) | Buy with cheapleads.io | Build by hand |
|---|---|---|
| Contacts emailed | 1,000 | 1,000 |
| Bounce rate (assumed) | 4% | 8% |
| Delivered | 960 | 920 |
| Reply rate on delivered (assumed, same for both) | 2.5% | 2.5% |
| Replies | 24 | 23 |
| Meetings (1 in 4 replies, assumed) | 6 | 5.75 |
| List cost | $12 (1,000 credits at $0.012) | $0 |
| Your time (assumed $50 an hour) | 1 hour, $50 | 33.3 hours at 2 minutes per contact, $1,667 |
| Total cost | $62 | $1,667 |
| Cost per meeting | about $10 | about $290 |
Why the different bounce rates? We assumed the hand-built list bounces more because every address is one you checked yourself with whatever tools you have. That is a guess. Your own process may do better, and you will only know after a first send.
The reply rate is the same on both because it depends on your offer, your targeting and your copy, not on where the list came from. If you want help sizing the send itself, read how many leads a cold email campaign needs.
Where do the example numbers break?
Mostly at time per contact. Cut it to 30 seconds and building still costs about $72 per meeting. Give the built list zero bounces and the bought list ten percent, and the gap barely moves. It closes only when you value your time near zero or need a handful of contacts.
Run the bounce flip yourself. Built list: 1,000 delivered, 25 replies, 6.25 meetings, $1,667 divided by 6.25 is about $267. Bought list: 900 delivered, 22.5 replies, 5.625 meetings, $62 divided by 5.625 is about $11. Bounce rate matters for your sender reputation, but it is not what decides this comparison.
One honest limit on the buy side. Before delivery, every email is checked for syntax, disposable domains, unread inboxes like noreply@, and whether the domain can receive mail. Failing rows are dropped and replaced. That is a screening step, not a delivery promise, so measure your own bounce rate on the first send. If you send to catch-all addresses, send them separately and carefully.
Neither path changes the rules for the email you send. In the US, the FTC says CAN-SPAM covers commercial email, including B2B email. See the FTC CAN-SPAM compliance guide. Other countries have their own rules. This is not legal advice.
What do 1,000 real contacts look like in the database?
Take US sales leaders at software companies with 51 to 500 employees. The live count on 2026-11-04 shows 12,009 matches, and 5,712 of them have an email marked valid. Add one state and you get 671 in California or 426 in Texas. Together that is just over 1,000 contacts.
These counts were measured with the cheapleads.io live count on 2026-11-04. Counts change as the data refreshes each month.
| Segment (measured 2026-11-04) | Matches | What it means for your list |
|---|---|---|
| US VP and Director sales leaders, software, 51 to 500 employees | 12,009 | The full pool before any email filter. |
| Same, with an email marked valid | 5,712 | A little under half. This is the sendable pool. |
| Same, California only, valid email | 671 | Too small for 1,000 alone. Good for a regional test. |
| Same, Texas only, valid email | 426 | Pair with another state to reach 1,000. |
| US founders and CEOs, software, 11 to 50 employees, valid email | 17,542 | A bigger pool if your buyer is the owner. |
Three things follow. First, requiring a valid email cuts the pool from 12,009 to 5,712, which is still enough for several separate 1,000-contact tests. Second, state filters shrink the count fast, so a one-state list may cap out below the size you wanted. Third, the price per lead does not change when you tighten filters. A narrow list costs the same per lead as a broad one. It just holds fewer rows. For tier prices, see what B2B leads cost per contact.
If your buyer is not a sales leader, the title list is the first thing to rework. Choosing job titles for a B2B lead list covers include and exclude terms and whole-word matching.
How do you build this list in cheapleads.io?
Describe the buyer in plain words, check the filters it fills in, switch on the email toggles, and read the live count. Then pick 1,000 contacts, look at the masked sample, and download the CSV. Credits cost $0.012 each at this size, so 1,000 leads is $12.
- Open the list builder and type: "VP or director of sales at US software companies with 51 to 500 employees." Or set the filters by hand with the steps below.
- Job titles: VP of Sales, Vice President of Sales, Director of Sales, Head of Sales, Sales Director.
- Seniority: VP and director.
- Industry: Software Development. Company size: 51 to 200 and 201 to 500. Country: United States.
- Turn on "has a work email" and "email marked valid." The live count should read 5,712 on the date above, give or take a monthly refresh.
- For a regional test, add the state: California gives 671, Texas gives 426.
- Set max contacts per company to 1 or 2 so one account does not get five emails.
- Check the masked sample of real matches, choose 1,000 as the quantity, and buy. The CSV is available to download for 24 hours and is also emailed to you.
New accounts get 1,500 free leads, no card. Run your first send on those before you spend the $12.
When should you build by hand instead?
Build when you can name the accounts and need a fact about each one that no filter holds. Examples: a list of 40 target companies, or a reason to write that comes from a recent post or a new hire. In those cases the research is the product, and the time is worth spending.
You do not have to pick one path. Build the account list by hand, then paste those domains into the domains to include filter and set max contacts per company. You choose the companies, and the tool finds the people and their emails. You skip the slowest part of building, which is the contact lookup, and keep the part that needs your judgment.
Building also makes sense when the targeting is something filters cannot describe, such as "companies that just changed their pricing page." Be honest with yourself about volume. If the idea needs 5,000 contacts, hand research will not scale to it.
Which path fits your team size?
Solo founders and one-person teams should buy and spend research time only on the top accounts. Small teams should buy by segment and test. Larger teams should buy by segment, cap contacts per company, and keep hand research for named accounts.
- Solo founder or one SDR. Your hour is the scarcest input. Buy the base list, then hand-research your best 25 to 50 accounts for personal first lines.
- Two to five people. Buy one list per segment, such as one state or one company size band, so you can compare replies between them. Split research by account tier.
- An agency or a larger SDR team. Buy per client and per segment, cap contacts per company, and keep a shared suppression list. Hand-build only for named-account plays.
If a filter can describe the buyer, buy. If you have to read about the buyer first, build. To test the buy side with no card, build your first list from the 1,500 free leads and compare it to your hand-built numbers.
Is it legal to buy a B2B lead list?
Buying a list is generally allowed, but how you email or call the people on it is regulated. In the US, CAN-SPAM applies to commercial email, including B2B, and covers things like accurate sender details and an opt-out. Other countries, including those under GDPR or CASL, have different rules. This is not legal advice.
What if my first bought list performs badly?
Check the offer, the job titles and the sending setup before blaming the list. Read your bounce rate separately from your reply rate, because they point to different problems. Then run a second small list with tighter filters and compare.
How many contacts should I buy for a first test?
A list of 1,000 is enough to get a first read on your own bounce and reply rates. The minimum purchase is 1,000 credits, which is $12 at the entry price. Your first 1,500 leads are on us, so you can test before paying.
Does a tighter filter make each lead cost more?
No. Price per lead depends on how many credits you buy, not on how narrow your filters are. Tighter filters only reduce how many contacts match.
Can I use both approaches on one campaign?
Yes. Pick the target companies yourself, add their domains to the domains to include filter, and buy the matching contacts. You keep the research judgment and skip the manual contact lookup.