Playbook
Dropleads Playbook
Use Dropleads as a two-phase flow: low-cost contact discovery first, paid enrichment second. Do not use Dropleads people search as the first step for account discovery.1) Start with low-cost discovery
- Use
dropleads_get_lead_countto size the audience before any paid call. - Use
dropleads_search_peopleto inspect masked contacts and validate ICP filters (free). - Use
dropleads_search_peopleafter you already have target account domains, by passingfilters.companyDomains. It is a contact search primitive, not a dependable way to discover target accounts. - Do not build joins or account-discovery flows that depend on every returned lead having
companyDomain. Treat returnedcompanyDomainas optional; if you need account domains as the source of truth, use a company-native search/enrichment tool first. - Tighten filters until sample rows clearly match role, industry, and geo expectations.
- Key filter fields:
filters.jobTitles,filters.seniority(VP/Director/Manager/Senior/Entry/Intern),filters.industries,filters.departments,filters.companyDomains,filters.employeeRanges,filters.personalCountries,filters.personalStates,filters.personalCities,filters.organizationCountries,filters.organizationStates,filters.organizationCities,pagination.page,pagination.limit. Usepersonal*for the contact’s location andorganization*for company HQ; a person’s location is not necessarily their employer’s HQ. Use title terms likeCEO,CTO, orFounderfor C-level searches; do not passC-Levelas a Dropleads seniority value — Dropleads’ own API docs list it, but live validation rejects it.filters.seniorityExcludeandfilters.departmentsExcludetake the same exact values as their include twins.
Filter best practices
All Dropleads filters nest under thefilters object. Pagination nests under pagination. The canonical payload shape:
Exclude filters use the same vocabulary as their include twin
seniorityExclude and departmentsExclude take the exact same values as seniority and departments. Prime-DB itself silently ignores an unrecognized value in either exclude list: the exclusion you asked for never happens, the call still returns 200, and the result set still shifts because the filter key is present. Deepline rejects unknown values with a 422 instead of letting a wrong answer look like a valid one.
Also note that sending seniorityExclude at all drops leads that carry no seniority in Prime-DB, so it narrows results beyond the levels you name. On a sephora.com sample: 1514 leads with no seniority filter, 1058 with all six levels included, 94 with all six excluded.
Geo filters are best-effort, not verified
Dropleads geo filters (personalCountries / personalStates / personalCities and organizationCountries / organizationStates / organizationCities) match against self-reported, LinkedIn-sourced location text — they are not verified against the contact’s actual location. Treat them accordingly:
- City-level is the loosest match and leaks.
personalCitiescan return contacts whose stated city loosely matches even when their real location differs, and non-US contacts can appear under a US-city filter (e.g. a Bulgarian contact surfacing underpersonalCities: San Francisco+personalCountries: United States). Country/state are more reliable. - Person vs. company location are different fields.
personal*filters the contact’s own location;organization*filters the company HQ. Don’t conflate them — filtering a remote employee by company HQ city (or vice versa) drops or leaks legitimate matches. - Verify geo when precision matters. Combine
personalCountries/personalStateswithpersonalCities, then post-filter the returned leads on theircountry/state/city(and exclude obvious mismatches) before trusting the result or spending on enrichment. Do not assume the filter alone guarantees the geo.
2) Escalate paid calls only for shortlisted targets
- Run
dropleads_email_finderfor contacts that passed the discovery pass. - Run
dropleads_mobile_finderonly when phone is required for the workflow. - Keep pilots small first, then scale after quality checks pass.
3) Gate outbound with verifier status
- Treat
invalid,catch_all, andunknownas non-send by default. - Treat
validas the only status that passes automatic send gates. - Respect
credits_chargedin responses for post-execution billing accuracy.
4) Practical sequencing
- Count segment (
dropleads_get_lead_count). - Sample segment (
dropleads_search_people). - Pre-score titles with
run_javascriptif looking for a specific profile (e.g. founders, GTM engineers). - Retrieve LinkedIn profiles with
harvestapi_get_profilefor structured work history and signals. Use Apify only when native HarvestAPI does not expose the required LinkedIn shape. - Extract signals with
run_javascriptfrom the structured HarvestAPI output (e.g. founder detection, hiring signals). - Enrich emails via waterfall (
dropleads_email_finderfirst, then other providers). - Verify candidate emails (
dropleads_email_verifierorleadmagic_email_validation). - Expand only after pilot quality is confirmed.
5) Account discovery boundary
For account-based pipelines, start with a company-native source that returns account domains as first-class results. Feed those domains into Dropleads viafilters.companyDomains to find contacts at known accounts. Dropleads may include companyDomain on returned people, but it is not guaranteed enough to be the join key that creates the account universe.