When to use it
- Outbound campaigns from an ICP definition
- Nightly jobs that refresh prospect lists
- Internal tools that replace manual list building
Endpoint sequence
| Step | Endpoint | Cost |
|---|---|---|
| Preview companies | POST /company-search-count | Free |
| Companies | POST /company-search | Per company returned |
| Preview people | POST /person-search-count | Free |
| People | POST /person-search | Per person returned |
POST /person-email | When email found — see GET /pricing |
Step 1 — Build the company list
Follow ICP list build through pagination. Each company row should include a domain you can pass to person search. Prefer domains from search results over company names.Step 2 — Find people per company
Scope to one employer withcurrentCompanyWebsite:
Title matching
currentJobTitle uses contains match. List variants explicitly:
Never use linkedin.com as employer
currentCompanyWebsite: ["linkedin.com"] matches broadly — always use the target company’s domain.
Step 3 — Enrich emails
For each selected person:company_domain over company name. You are charged when an email is found.
Engineering notes
Cost control
company-search-countandperson-search-countbefore paid calls- Cap companies per run (e.g. top 500 by fit score)
- Limit people per company (e.g. 3–5 by title priority)
- Call
person-emailonly for rows passing your scoring rules
Concurrency
Stay under 5 req/s. For production, use a queue with:- Max concurrency 3–4
- 200–500ms between Huntr calls
- Exponential backoff on
429
Do not loop /research
“Find 200 CTOs and their emails” must use this pipeline. /research returns 422 BULK_ENRICHMENT_REQUIRED — not charged. See Errors.
Buyer brief vs email only
| Need | Use |
|---|---|
| Email for sequencing | person-email |
| Role, angles, risks on one buyer | /research tier deep |
Output shape (typical)
Next step
- Person search guide
- Contact enrichment
- Skill:
huntr-outbound-pipeline— install