---
title: "Search people"
method: POST
path: "/enrichment/people/search"
tags: ["crm"]
---

# Search people

`POST /enrichment/people/search`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/enrichment/people/search`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Search for people through the enrichment gateway. `companyDomains` takes up to 1000 domains (e.g. a resolved company list; `dench leads find --company-list <id|view>` resolves one for you) — the gateway fans large lists out as sequential vendor-safe chunks behind one `nextPageToken` stream.

## Request body

- object
  - `linkedinUrl` string
  - `fullName` string
  - `firstName` string
  - `lastName` string
  - `keywords` string: Current-title text only. For profile or work descriptions, use profileKeywords. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
  - `companyDomain` string
  - `companyName` string
  - `titles` union[]: Current job titles (free text). Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `pastTitles` union[]: Past job titles (free text).
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `personNames` union[]
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `pastSeniorities` union[]: Seniority in any past role, independent of pastCompanyNames/pastTitles. Current seniority vocabulary plus Founding Team. Founder includes Co-Founder; C-level and Founding Team do not imply founder. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `profileKeywords` union[]: Text in headline/about or any current/past work description. OR includes, global exclusions. Always loose text matching; missing evidence does not match.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `companyKeywords` union[]: Current employer business focus/model (e.g. SaaS, B2B, Cloud), from description/tagline/business tags; distinct from legal companyTypes. Same employer as other current-job filters. Always loose text matching. May need another filter to retrieve candidates.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `seniorities` union[]: Exact enum: Owner, Founder, C-level, Partner, VP, Head, Director, Manager, Senior.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `jobFunctions` union[]: Exact enum, e.g. Sales, Marketing, Software. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `subFunctions` union[]: Exact enum, e.g. SDR/BDR, Demand Generation. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `industries` union[]: Exact enum, e.g. Software Development. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `locations` union[]: Person locations — cities, states, countries, or metros (free text). Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `headcountRanges` union[]: Exact buckets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `companyNames` union[]
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `pastCompanyNames` union[]
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `companyDomains` union[]
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `companyHeadquarters` union[]: Company HQ locations — cities, states, countries, or metros (free text). Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `companyTypes` union[]: Exact enum: Partnership, Nonprofit, Educational, Privately Held, Public Company, Self-Owned, Self-Employed, Government Agency.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `universities` union[]: Universities attended (free text). Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `skills` union[]: Profile skills (free text). Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `languages` union[]: Spoken languages, e.g. English, German. Accepted values: see `dench leads filters` or https://dench.com/references/find-filter-options.json.
    - union
      - string
      - object
        - `value` string, required
        - `exclude` boolean
        - `exactMatch` boolean
  - `yearsInRole` object
    - `min` integer
    - `max` integer
  - `yearsAtCompany` object
    - `min` integer
    - `max` integer
  - `daysSinceJobChange` object
    - `min` integer
    - `max` integer
  - `foundedYears` object: Company founded-year range, e.g. {min: 2015, max: 2024}.
    - `min` integer
    - `max` integer
  - `exactMatch` boolean: Match free-text filters as whole strings. Default false: titles ['Founder'] also returns 'Co-Founder' and 'Founder & CEO'. Set true to narrow. Domains, LinkedIn URLs, enum filters and numeric ranges are always exact; keywords is always a loose text probe.
  - `limit` integer
  - `offset` integer
  - `pageToken` string: Opaque token from a previous response's metadata.nextPageToken.
  - `preferCache` boolean

## Response `200`

Successful response

- object
  - `source` 'live' | 'cache', required
  - `people` object[], required: Search results normalized to the CRM upsert shape.
    - `fullName` string
    - `firstName` string
    - `lastName` string
    - `headline` string
    - `seniority` string
    - `jobFunctions` string[]
    - `currentCompanyName` string
    - `currentCompanyWebsite` string
    - `linkedinID` string
    - `emails` object[]
    - `phones` object[]
  - `resolvedPersonIds` string[], required
  - `creditsCharged` number, required
  - `billing` object
    - `estimatedCents` integer, required: Search cost ceiling authorized by Dench billing, in cents.
    - `chargedCents` integer, required: Actual workspace search charge reported by Dench billing, in cents.
  - `metadata` object
    - `total` number: Total matches for the search. Stable across pages; absent when only an estimate exists.
    - `totalIsEstimate` boolean: True when the total is a lower bound rather than exact.
    - `offset` number
    - `nextPageToken` string: Opaque token for the next page. Pass it back as pageToken; absent on the last page.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
