The guide
How to Build a B2B Prospect List Without Buying Bad Data
First Person Outbound, explained by SimplyB2B
Most outbound fails before a single message is sent. The list is wrong: stale titles, recycled emails, contacts three jobs removed from the role you need. Building a prospect list the right way means defining who you actually want, sourcing contacts you can verify, and connecting through a channel where sender credibility is visible. This guide covers each step without the shortcuts that waste your time.
Key takeaways
- A tight ICP definition is the only filter that keeps unqualified contacts off your list before you spend time on them.
- LinkedIn is the only channel where a contact's current role, tenure, and mutual connections are publicly self-maintained in real time.
- Bought lists decay fast: people change jobs, get promoted, or leave the market, so the moment you buy a list it is already losing accuracy.
- Sender credibility (profile age, post history, mutual connections) moves reply rates in ways copy alone cannot, because it is visible before a message is opened.
- A prospect list is not a set-and-forget asset: re-verification on a rolling cadence is the only way to keep contact-to-meeting conversion honest.
What should a B2B prospect list actually contain?
A B2B prospect list needs four verifiable fields at minimum: current job title, current company, a working contact point, and evidence the person fits your ICP. Everything else is optional until you need it for personalisation. Lists without a verified 'current' signal are lead databases, not prospect lists, and they convert accordingly.
The word 'current' is doing a lot of work here. A contact's title from six months ago may be accurate or may reflect a promotion, a layoff, or a complete pivot. LinkedIn is the one channel where contacts self-maintain their own record, which is why it remains the highest-signal source for B2B prospecting. A role change shows up in the feed. A new company shows in the profile. You are working from a living document, not a snapshot.
Resist the temptation to maximise column count. Lists with thirty fields per contact almost always have fifteen fields that are guessed or scraped from outdated sources. Start narrow: title, company, seniority, geography, and one ICP-qualifying signal (company size, industry, or a trigger event like a new hire or funding round). You can enrich later. You cannot un-waste the time you spent on contacts that never matched.
Define ICP filters
Binary signals: title, size, industry, trigger events
Source live contacts
Sales Navigator, Apollo, or Clay against your filters
Verify current role
LinkedIn as the self-maintained source of truth
Sequence in your voice
Per-account voiceprint, approve before it sends
Re-verify on a cadence
Flag job changes before a misaddressed message goes out
How do I define my ICP before I start building the list?
An ICP is not a persona document. It is a set of binary filters: company size, industry, geography, tech stack, or trigger events that make a buyer likely to need what you sell right now. Every filter you add shrinks the list and raises the quality. The goal is a list where every contact has a plausible reason to talk to you today, not eventually.
The most common ICP mistake is describing the buyer you wish you had rather than the buyer who has already bought. If you have closed deals, look at the titles, company sizes, and industries that converted fastest and with the least friction. Those are your filters. If you are pre-revenue, talk to ten people in your target segment before you build anything. Their language will tell you which signals actually predict intent.
Trigger events are underused as ICP filters. A company that just raised a Series A, just posted three new sales roles, or just promoted someone into a VP-level position is in a different buying posture than an identical company that did none of those things. Building trigger-based filters into your ICP from the start means your list is always weighted toward the contacts most likely to be in motion, not just the contacts who technically fit a demographic profile.
Where do I source B2B contacts without buying a list?
LinkedIn Sales Navigator, Apollo, and Clay are the three tools most practitioners use to build lists without buying pre-packaged data. Each lets you filter by current role and company in real time. The critical difference from buying a list is that you are pulling contacts against your own ICP filters rather than accepting someone else's export from an unknown scrape date.
LinkedIn is the primary source for title and company because contacts update their own profiles. Apollo and similar tools layer in contact data (email, phone) enriched from multiple sources, which means accuracy varies by field. Treat email and phone as supplementary signals to verify, not ground truth. For the LinkedIn channel specifically, the profile itself is the contact record: you can see tenure, activity, mutual connections, and shared context before you send a single word.
Clay is worth calling out separately because it lets you build waterfall enrichment: try one source, fall back to another, then flag gaps rather than fill them with guesses. That matters when you are trying to keep a list clean rather than just large. A list of 400 high-confidence contacts will outperform a list of 4,000 contacts where one field in three is uncertain, because your personalisation and your routing both depend on the data being right.
How do I stop my prospect list going stale?
B2B contacts decay continuously: people change jobs, get promoted, or go quiet. The only defence is a rolling re-verification cadence tied to your contact's LinkedIn activity. SimplyB2B surfaces job-change signals per account as part of its active outreach loop, so contacts who have moved roles are flagged before a misaddressed message goes out, not after a bounce report tells you.
The mechanism that makes this different from a quarterly CSV refresh is that verification happens at the per-account level during active outreach. When SimplyB2B is running connection and follow-up sequences on your behalf, it is operating against live LinkedIn profile data, not a static export. A contact who changed jobs last week shows a different current-company signal than the one you originally imported. That flag reaches you before the message goes, not after a reply tells you the person left the company.
For contacts you are not yet actively working, build a re-verification trigger into your workflow: any contact untouched for 90 days gets a LinkedIn profile check before it re-enters an active sequence. This is not glamorous, but it is the difference between a list that converts and a list that inflates your pipeline with contacts who have no reason or authority to buy from you in their current role.
How does sender credibility affect how many replies I get?
Before a contact reads your message, they read you. Profile age, post history, shared connections, and the consistency of your voice are visible signals that a borrowed-face robot cannot replicate. Those signals determine whether a cold message reads as a real conversation or a template blast, and that distinction moves reply rates in a way that no amount of copy optimisation can compensate for.
This is the compounding factor that bought-list vendors and generic outreach tools do not surface in their pitch. You can have a perfect ICP filter, a verified contact, and a well-written message, and still get ignored because the sender profile has no history, no mutual connections, and posts that read like they were written by a committee. The contact's brain pattern-matches 'cold pitch' in under two seconds and moves on. The message never had a chance.
The mechanism SimplyB2B uses is per-account voiceprint seeding: the system reads the actual sent messages and posts from your own LinkedIn account to build a voice model that belongs to you and only you. It is not a questionnaire and not a shared template library. When outreach goes out in your name, it is written from the pattern of how you already write. That coherence is one of the trust signals a recipient unconsciously checks before they decide whether to reply. We run our own outreach on SimplyB2B, on the founders' own LinkedIn accounts. In our best month, up to 51% of connection invites were accepted (8 to 31 July 2026, 315 people invited) and up to 27% of comments drew a reply (August 2026, 99 comments). One account ran up to 1,900 outreach actions in a month (August 2026) and started up to 129 real conversations in a month (August 2026). Figures as of 7 October 2026. That is not a product wide promise: sender credibility is the principle at work, and it compounds differently for every account depending on profile history and audience fit.
How do I run outbound from my list without becoming a full-time salesperson?
The grind is not the prospecting: it is the daily sending, following up, tracking who replied, and deciding what to say next. That part can run on your account, in your voice, while you stay focused on the work you are actually good at. The condition is that the system writes from your real voice pattern, not a persona it invented, and that you stay in control of what goes out.
SimplyB2B's autonomy model starts with you approving everything. The system drafts, you edit or approve. As your edits shrink because the voice is getting closer to yours, the system earns more autonomy on that account. It is not a setting you flip. It is a curve that reflects whether the output actually sounds like you. Your edits feed back only into your own voiceprint, never a shared model, so you are not training something that will write the same way for someone in your market.
The structural limits matter too. A fixed daily activity ceiling that cannot be raised, per-account behavioural timing variance so your account never acts in lockstep with another, and a warm-up ramp for new accounts are all built in. You connect your account with a permissioned link, no password stored, revocable at any time. You stay the expert. The outreach runs itself. That is not a slogan: it is what the product is actually built to do, because founder Brendan Levin runs his own outbound on the same engine.
Common questions
How many contacts should be on a B2B prospect list?
There is no universal number. The right size is however many contacts genuinely fit your ICP filters with a current, verified role. A list of 300 high-confidence contacts will almost always outperform 3,000 loosely matched ones, because personalisation quality and delivery trust both degrade as list accuracy falls.
Is it worth paying for a data provider like Apollo or ZoomInfo?
For title and company, LinkedIn remains the most current source because contacts self-update. Paid data providers add contact details (email, phone) and can speed up sourcing at volume. The risk is treating enriched fields as verified rather than probable. Cross-reference against the live LinkedIn profile before any contact enters an active sequence.
Can I use a bought list for LinkedIn outreach?
You can use a bought list to identify LinkedIn profiles to visit and connect with, but you are still subject to LinkedIn's connection and messaging limits regardless of where the names came from. The bought list tells you who to find, LinkedIn is where the actual interaction happens, and the limits there are per-account and fixed.
What is the difference between a prospect list and a lead list?
A prospect list is pre-outreach: people who fit your ICP but have not yet engaged. A lead list typically means someone who has shown inbound intent (downloaded something, visited a pricing page, replied to a message). Prospects require outbound to warm them up. Leads are already warm. Both need current-role verification before you contact them.
Related: Why outbound at scale fails · How to do LinkedIn outreach · AI SDR vs founder-led outreach · The graduation model for autonomous outreach · LinkedIn outreach for agencies
See what your outreach sounds like in your own voice
Start with the free Voiceprint read, no account connection required, or go live from $59 a month with a 30-day money-back guarantee.
Free to set up · pay only when you connect · 30 day money back guarantee