Prefer natural-language people search for products and agents. Use explicit taxonomy when you already hold codes from the nested taxonomy tree.

Sales Navigator (company + taxonomy)

Requires exactly one of stdFunction or stdFunctionRoot. Optional stdGrade. LinkedIn path is always Sales Navigator. Pick a dataSource:
dataSourceNotes
poolShared Unipile Sales Navigator pool (no accountId)
harvestHarvest SN lead-search (functionIds from the same map)
unipileRequires accountId
Pipeline: map std → Sales Nav function IDs + seniorities → search → batch reclassify titles → filter to requested taxonomy.
curl -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY_TOKEN' \
  -H 'Content-Type: application/json' \
  https://app.arxena.com/people-api/people/search-by-taxonomy \
  -d '{
    "website": "stayvista.com",
    "stdFunctionRoot": "corporate",
    "stdGrade": "leadership",
    "dataSource": "pool",
    "limit": 10
  }'
query.appliedFilters echoes the mapped Sales Nav facets used for the search.

Apollo

curl -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY_TOKEN' \
  -H 'Content-Type: application/json' \
  https://app.arxena.com/people-api/people/search \
  -d '{
    "dataSource": "apollo",
    "website": "stayvista.com",
    "stdFunctionRoot": "corporate",
    "stdGrade": "leadership",
    "limit": 10
  }'
Maps to Apollo person_department_or_subdepartments / person_seniorities, then post-filters.

Index path

  1. Confirm index is configured via data sources (auth)
  2. Optionally read public taxonomy constants
  3. POST /people-api/people/search with dataSource: "index" and std filters
curl -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY_TOKEN' \
  -H 'Content-Type: application/json' \
  https://app.arxena.com/people-api/people/search \
  -d '{
    "dataSource": "index",
    "companyName": "Stripe",
    "stdFunction": "software engineering",
    "stdGrade": "leadership",
    "limit": 20
  }'