Multi-source Candidate Search
Search several people-DBs, dedupe, and qualify on required skills.
Find candidates for a role across several people-DBs (AI Ark · Lemlist · Prospeo, plus external), dedupe, and qualify on required skills — using profile data only, no contact info until the shortlist. The gotchas below are hard-won from real runs.
Flow
Define titles — gendered + stem-vs-substring
Many titles are gendered: include both forms (Steuerfachwirt and
Steuerfachwirtin).
A bare stem only works as a true CONTAINS substring. "Steuerfachangestellt" (no ending)
matches under Prospeo match_mode:"CONTAINS" but returned 0 on AI Ark SMART
and Lemlist currentTitle until given full gendered words.
→ For AI Ark / Lemlist pass the full forms; for Prospeo a stem + CONTAINS is fine.
Define location — superset for exact-string providers
AI Ark contact.location and Lemlist location are exact-string (no radius). Pass a
superset: metro labels (Munich, München, Greater Munich Metropolitan Area) + EN
and DE variants + the ~50km town list.
Most people list the metro, not their suburb — a narrow town-only list under-matches
badly. Superset beats narrow. AI Ark geoLocation is an account (company-HQ) filter,
not contact — under contact it's silently ignored. Prospeo location must be canonical
from search_suggestions (free); a ZONE suggestion covers a metro radius in one value.
Count-peek before paying
All three return a total — AI Ark totalElements, Lemlist total, Prospeo's count — so
check the size before spending on the pull.
Dedup, enrich the work history, then qualify
Merge across sources and dedup by LinkedIn URL. A search row carries the CURRENT title,
employer and location only — run the linkedin_profile waterfall over the deduped pool so each
candidate has a dated experience[], then qualify on that history plus the required skills.
hyreflow qualify refuses a batch in which no row carries work history — pass
--allow-thin-profiles for a pool that will never have one (an ATS export, a referral list) to rank
it on the sourcing fields instead. Contact enrichment stays last, on the shortlist only.
Searches and count-peeks are free. The profile lookup is charged per hit (and costs nothing when a provider has no employment history), so cap it to the pool you intend to shortlist; the bigger spend is the contact reveal, which happens last on the qualified shortlist.