Skip to main content
You already have the account (domain from CRM, ABM list, or inbound). Find the right people and enrich contacts without building a full ICP search.

When to use it

  • ABM: one target account, multiple personas
  • Inbound lead → find the economic buyer at the same company
  • SDR workflow: “who owns security buying at acme.com?”

Endpoint sequence

StepEndpointCost
PreviewPOST /person-search-countFree
PeoplePOST /person-searchPer person returned
EmailPOST /person-emailWhen email found
ProfilePOST /person-linkedinWhen profile returned

Step 1 — Preview matches (free)

curl --request POST \
  --url "${HUNTR_BASE_URL}/person-search-count" \
  --header 'content-type: application/json' \
  --header "x-api-key: ${HUNTR_API_KEY}" \
  --data '{
    "query": {
      "currentJobTitle": { "include": ["CISO", "Chief Information Security Officer", "VP Security"] },
      "currentCompanyWebsite": { "include": ["stripe.com"] }
    }
  }'

Step 2 — Search people

curl --request POST \
  --url "${HUNTR_BASE_URL}/person-search" \
  --header 'content-type: application/json' \
  --header "x-api-key: ${HUNTR_API_KEY}" \
  --data '{
    "query": {
      "currentJobTitle": { "include": ["CISO", "Chief Information Security Officer", "VP Security", "Head of Security"] },
      "currentCompanyWebsite": { "include": ["stripe.com"] },
      "location": { "include": ["US"] }
    },
    "pagination": { "size": 50 }
  }'

Scope with currentCompanyWebsite

This is the reliable way to mean people at company X:
{ "currentCompanyWebsite": { "include": ["stripe.com"] } }
Do not use linkedin.com as a company website.

Title variants

currentJobTitle is contains-match. Spray synonyms:
{ "include": ["CTO", "Chief Technology Officer", "Chief Technical Officer", "VP Engineering"] }

Step 3 — Enrich selected people

curl --request POST \
  --url "${HUNTR_BASE_URL}/person-email" \
  --header 'content-type: application/json' \
  --header "x-api-key: ${HUNTR_API_KEY}" \
  --data '{
    "first_name": "Patrick",
    "last_name": "Collison",
    "company_domain": "stripe.com"
  }'
If you have a LinkedIn URL from search results:
curl --request POST \
  --url "${HUNTR_BASE_URL}/person-linkedin" \
  --header 'content-type: application/json' \
  --header "x-api-key: ${HUNTR_API_KEY}" \
  --data '{ "linkedin_url": "https://www.linkedin.com/in/patrickcollison" }'

Multi-persona at one account

Run separate person-search queries per persona tier:
TierExample titles
Economic buyerCISO, VP Security, CTO
ChampionDirector Security, Head of Platform
EntrySecurity Engineer, IT Manager
Merge and dedupe by LinkedIn URL in your code.

Research vs enrichment

NeedUse
Names, titles, emails for sequencingThis workflow
Narrative brief on one buyer/research tier deep
Do not call /research for each person in the search results.

Engineering notes

  • Paginate person search with pagination.token if one page is not enough
  • Rate limit: 5 req/s — serialize or queue email enrichment
  • Resolve company LinkedIn URL with company-linkedin-url if you only have domain and need firmographics first

Next step