← Builds
Tooling

Find contacts at companies with 2 to 10 staff

An agency's client had 1,593 target companies with 2 to 10 staff and fewer than two reachable contacts each. Reachable meant a work email or a LinkedIn profile. We fetched evidence per company first, had Claude subagents judge it, then looked people up anchored to the company and ran a still-at-company check. The handback held 2,145 people and 1,128 verified emails.

Works ifYour buyers work at companies too small for contact databases to cover.

Built for · GTM agency · Europe
PythonLinkedInSerperClaudeApolloIcypeasClayBounceBan
Get the prompt for your coding agent

The system

~/builds/evidence-first-people-search
01Input

Target list

Companies with 2 to 10 staff

Fewer than two reachable contacts each.

1,593 companies
Health checkdead and parked domains out
02Evidence

LinkedIn

Company page

Named employees, free, no quota.

LinkedIn
55-70% of companies

Website

Site crawl

Team and about pages.

Python

Search

Two queries per company

Serper
Claude subagents judge each bundlereal, current, senior, in scopeClaude
03Enrich

Company-anchored

Company, then people, then reveal

email domain = company domain
Apollo

Gap fill

Email finder + company register

Icypeas

Clay

People search + email waterfall

Clay

Tail

Catch-all and unknown emails

BounceBan
Still at the company?114 moved on, 615 titles correctedClay
04Deliver

Handback

One row per person, with source

2,145 people

Emails

Verified only

1,128
A contact file with a source on every row.

What it solves

A named person on the company's own LinkedIn page, website, search results or company register filing.

Why it matters

At this size a contact database rarely has the people, and a name plus domain lookup often returns someone who works somewhere else. The company's own pages name the team directly.

How it works

01

Fetch evidence before any lookup

A health check removes dead and parked domains. Then plain code collects the public LinkedIn company page, a crawl of the site and two web searches into one evidence bundle per company.

02

Let the model judge, not fetch

Claude subagents read each bundle, reject fakes and decide: is this a real person, is this their current employer, are they senior, is the company in scope. Splitting deterministic fetching from model judgment moved precision from 60% to 87%.

03

Anchor every lookup to the company

Apollo runs company first, then people inside that company, then a reveal by id, and an email only ships when its domain matches the company. Icypeas, the national company register for directors, Clay people search and an email waterfall fill the rest, with BounceBan on the catch-all and unknown tail.

04

Check they still work there

A Clay verifier ran on all 1,273 people with a LinkedIn profile. It dropped 114 who had moved on and corrected 615 titles. The merge was deduped on LinkedIn slug, then email, then name plus domain.

Build notes

  • A first version, website plus database lookup, topped out at about 15% of companies with two contacts.
  • Apollo's person match treats the domain as a current or previous employer. On firms this small it returned someone at a different company 42% of the time (31 of 73).
  • Against the full list, 35% of the companies that had nobody now have two reachable contacts, and 73% of those that had one got their second. An earlier count dropped suspected misfits from the denominator and read about 9 points higher. A re-check found 74 of 106 were real targets. The remaining flags went to the client to confirm.
  • The public LinkedIn company page, not the people tab, lists named employees. It was free, had no quota and was the biggest single source of names.

Questions

Why not start with a contact database?

At 2 to 10 staff the databases barely know these people. Two email finders returned about 1% and 17% on this list. The company's own LinkedIn page named employees at 55 to 70% of companies, for free.

Why is coverage not higher?

Many of these firms are one person, so a second contact does not exist. About 47 more had dead domains and no findable person anywhere.

More builds

All builds →
Tooling

Build lead lists with checks before shipping

Your lead lists go straight into email campaigns and cold calls, and one wrong name costs you trust.

Open→
Public data

Detect 163 B2B tools from a company's website and DNS

Your product replaces, integrates with or sells to users of specific tools.

Open→
Your own data

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.

Open→

The next step

Let's get started.