---
title: "Count people (Sales Navigator)"
method: POST
path: "/v1/actions/count_people_sales_navigator"
tags: ["Search"]
---

# Count people (Sales Navigator)

`POST /v1/actions/count_people_sales_navigator`

## Request

- Base URL: `https://api.heyreagent.com`
- URL: `https://api.heyreagent.com/v1/actions/count_people_sales_navigator`
- Auth: HTTP bearer

Count how many people match a Sales Navigator search, without returning them.

Free, and the same filters as search_people_sales_navigator: use it to size a search before paying for one.

Docs: https://heyreagent.com/docs/actions/count_people_sales_navigator

## Request body

- object
  - `keywords` string: Free-text keywords searched across all profile fields (title, headline, about, company).
  - `titles` string[]: Job titles, e.g. ["Chief Technology Officer","VP of Engineering"]. Matched as OR'd keywords — pass variants to go broad.
  - `locations` string[]: Person locations in plain English, e.g. ["United States","London"]. Resolved to LinkedIn regions automatically.
  - `industries` string[]: Company industries in plain English, e.g. ["Software","Financial Services"].
  - `companies` string[]: Current companies by name, e.g. ["Google","Stripe"]. Each name is looked up and the top match used — when you already have LinkedIn company ids (search_companies / list_funding_signals return companyId), pass companyIds instead.
  - `companyIds` unknown[]: Current companies by LinkedIn company id — the companyId values search_companies / list_funding_signals return (up to 100). Exact: no name lookup, so no same-name mix-ups. Combine with seniorities and changedJobs / postedOnLinkedIn to get the decision-makers at signal companies who just moved / are posting.
    - unknown
  - `functions` string[]: Job functions/departments, e.g. ["Engineering","Sales","Marketing"].
  - `seniorities` string[]: Seniority levels, e.g. ["CXO","VP","Director","Manager"] (owner/partner, cxo, vice_president, director, experienced_manager, entry_level_manager, strategic, senior, entry_level, in_training).
  - `companyHeadcounts` string[]: Company size bands. Valid: self-employed, 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.
  - `changedJobs` boolean: Only people who recently changed jobs (buying signal).
  - `postedOnLinkedIn` boolean: Only people who recently posted on LinkedIn (active/reachable signal).
  - `companyMinRevenueMillions` number: Only people at companies with at least this annual revenue, in millions (e.g. 10 = $10M+) — use it to target companies that can afford the user's price. LinkedIn uses fixed brackets (0, 0.2, 1, 2.5, 5, 10, 20, 50, 100, 500, 1000); other values widen to the nearest one. The companies are matched on the same industries / companyHeadcounts / locations (as HQ location). Revenue is LinkedIn's estimate — companies without one are left out.
  - `companyMaxRevenueMillions` number: Only people at companies with at most this annual revenue, in millions (e.g. 100 = up to $100M). Same brackets as companyMinRevenueMillions.
  - `revenueCurrency` string: ISO currency of the revenue band, e.g. "USD" (default), "EUR", "GBP".

## Response `200`

It worked. Inside result: total, source, note.

- Worked
  - `ok` true, required
  - `result` object, required: What was asked for. A field that does not apply is left out, or is null.

## Other responses

- `default`: It did not work. The message says why, in plain English.

---

[API](https://skmtc.dev/heyreagent/apis/heyreagent-api.md) · [All operations](https://skmtc.dev/heyreagent/apis/heyreagent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/heyreagent/apis/heyreagent-api/revisions/917360c5f841?raw)
