Platform
Sourcing
One source: LinkedIn's own search, run through your connected account. No scrape vendor, no per-lead cost, and the search sees what your account sees.
The trade runs both ways. Classic LinkedIn search returns a name, a headline, a location string and a profile URL — no structured company field, no job title field, no country code. Everything downstream that used to arrive as data has to be inferred, which makes two AI passes load-bearing rather than decorative.
Four instruments, not one search
Sales Navigator’s pitch is a single people search with rich filters. Classic has no such thing, but it has four narrower searches, and picking the right one per signal beats running a generic one. The signal kind picks the instrument.
| Signal kind | Instrument | What it returns |
|---|---|---|
keyword_engagement | Posts, then their reactions and comments | The audience of a matching post, not its author |
news_mention | Posts, keeping the authors | People who published on the topic |
hiring | Job postings, then people at the posting companies | A dated buying trigger, plus a real company domain |
everything else | People search | Profiles matching the ICP filters |
Two of those are what make a free account viable. Engagement beats authorship: a post has one author and often hundreds of engagers, so one reactions call returns dozens of identities where a people search returns rows that each still need enriching — and a reaction says what a person responded to and when. Job postings are the only route to a company domain: job search is the one search returning a numeric company id, and the company profile route is the one place a real website exists.
The ICP gate
A sweep pulls up to about 120 candidates per signal on a fifteen-minute cadence and expects to reject the large majority. The gate returns two judgements in one pass: a binary ICP membership decision, and a 1–5 intent score for those who pass. Rejects never become contacts — ICP is the floor, not a score. Soft maybes are rejects.
Budgeted, not greedy
The binding constraint is not money — LinkedIn allows roughly 100 calls a day per account and restricts your account when that is exceeded. So discovery is cheap and per-person enrichment is scarce: fan-out per sweep is a fixed constant, company lookups are cached including their failures, and paths returning many people per call are preferred over paths returning one.
Suppression is checked twice
Only the hiring path knows a company domain at sourcing time. On every other path the enrichment callback is the first moment an email or domain exists, and therefore the first moment a suppressed company or address can be recognised. The second check runs before the queue fill, so a suppressed contact is never queueable rather than unqueued afterwards.