Build lists from data you already own
The brief was a list of companies in one industry, with the people in one function. The plan was an 8-script scrape of a company register and an industry directory. Then we checked the client's own database: 1,490 of those companies were already there, 381 of them already scored. The contact search took 38 minutes.
Works ifYou have a CRM or database you have never fully worked.
The system
Own database
Already there
A directory scrape already in the DB.
People search
Target roles, batched
Batches of five, no retries.
Column
Role 1
Column
Role 2
Column
Role 3
The signal
Companies the client already had and had already scored.
Why it predicts a purchase
Before buying or scraping anything, the question is what is already sitting in your database. Here it was 1,490 companies, with domains for almost all of them.
How it works
Look before you scrape
The daily sync question was simple: do we already have this? The client's database held 1,490 companies in the segment, 1,419 with a domain. Three of the eight planned scripts were no longer needed.
Spend credits on the likeliest buyers
381 companies already had a maturity score. Contact search ran on those only. Smaller companies rarely have a dedicated role for that function anyway.
Batch, do not retry
A batch that returns zero usually means the companies are not on LinkedIn. Retrying one by one would have taken 8+ hours. Batches of five without retries took 38 minutes.
Deliver in the shape they use
Contacts land in one column per role instead of Contact 1, 2, 3, because which roles are filled is itself the signal.
Build notes
- One enrichment endpoint was dead mid-run (404 for every domain). Employee counts were dropped rather than blocking the delivery.
- The contact provider is blocked from local machines by its CDN, so calls went through a small server-side proxy.
- The remaining 1,109 unscored companies were left as a documented expansion: 3 to 4 hours and 100 to 150 credits if the client wants more volume.
Questions
What should I check before buying or scraping a list?
Count what is already in your CRM and warehouse, and what you already know about each account. Here 1,490 companies were already there, 381 of them scored.
How do you keep enrichment costs down?
Only pay for contacts at the accounts most likely to buy, and only for hits: 94 emails for 94 credits.
More builds
All builds →Turn a vertical database into a 3-touch outbound engine
A vertical database already lists your buyers with contacts, and a founder will make the closing calls.
Turn website visitors into qualified leads
You already identify companies visiting your site.
Put every signal in one table
You run more than one signal source and want one view per account.
The next step