Hyreflow
Recipes

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.

On this page