Skip to main content
POST
Search for people

Authorizations

Authorization
string
header
required

Account API key passed in the Authorization header

Body

application/json
canonical_job_titles_excludes_ids
string[] | null

Canonical job title IDs to exclude

canonical_job_titles_includes_ids
string[] | null

Canonical job title IDs to include

company_headcounts
string[] | null

Company headcount band codes (single letter). A=self-employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1000, G=1001-5000, H=5001-10000, I=10001+.

Example:
company_hq_countries
string[] | null

Company HQ country codes

Example:
company_linkedin_ids
string[] | null

LinkedIn company IDs to filter by

Example:
countries
string[] | null

Country codes to filter by

Example:
country_excludes
string[] | null

Country codes to exclude. Narrows a search rather than describing one, so it cannot be the only filter sent.

Example:
cursor
string

Deprecated. Ignored by the server. Use next_cursor.

first_name
string

Filter by first name

Example:

"Elliot"

industry_excludes_ids
string[] | null

Industry IDs to exclude.

Resolve via Search industries and pass the returned id.

Example:
industry_includes_ids
string[] | null

Industry IDs to include.

Resolve via Search industries and pass the returned id.

Example:
job_titles_excludes
string[] | null

Job titles to exclude

Example:
job_titles_includes
string[] | null

Job titles to include

Example:
keywords
string

Free-text refinement hint forwarded to the underlying provider. Best-effort — not all providers honor this field, and matches that ignore it may still be returned.

Example:

"AI sales"

last_name
string

Filter by last name

Example:

"Alderson"

next_cursor
string

Opaque pagination token returned by the previous response's next_cursor. Pass it back unchanged to fetch the next page. Omit on first-page calls. Invalid or expired cursors return 400.

persona_id
string

Search using one of your saved personas, which supplies the job titles, countries and seniority bands behind it. List them via Get personas.

Any filter you also send explicitly overrides the persona's value for that field; combine it with company_linkedin_ids to search a persona within specific companies. Mutually exclusive with prompt. One persona per call — to search several, call once per persona.

Example:

"b3c6f5e2-1234-4abc-9def-0123456789ab"

prompt
string

Free-text search prompt (e.g. 'CTOs at fintech startups in France'). Mutually exclusive with filter fields.

Example:

"Head of Sales at AI startups in France"

recently_changed_jobs
boolean

Only include people who recently changed jobs

Example:

true

seniority_excludes
string[] | null
deprecated

Deprecated and IGNORED. There is no exclude form: the filter keeps the bands you ask for plus everyone it cannot classify, which an exclude list cannot express. Use seniority_includes.

seniority_includes
string[] | null

Seniority bands to keep, derived from each person's job title. Allowed values: 'Owner / Partner', 'CXO', 'Vice President', 'Director', 'Experienced Manager', 'Senior', 'Entry Level', 'In Training'. A person whose title carries no seniority signal is kept rather than dropped, so this narrows results without discarding the unlabelled. 'Entry Level Manager' is accepted and behaves as 'Experienced Manager'; 'Strategic' is accepted and has no effect.

Example:
years_of_experience
string[] | null

Refinement hint forwarded to the underlying provider. Allowed values: 'Less than 1 year', '1 to 2 years', '3 to 5 years', '6 to 10 years', 'More than 10'. Best-effort — not all providers honor this field, and matches that ignore it may still be returned.

Example:

Response

OK

dropped_by_seniority
integer<int64>
required

How many people this page's seniority_includes filter removed. Always 0 when seniority_includes is not sent.

Example:

7

has_more
boolean
required

True when more pages can be fetched by passing next_cursor back.

results
object[] | null
required

Search results for this page (up to 25)

cursor
string

Deprecated. Mirrors next_cursor. Use next_cursor instead.

filter_reasoning
string

When Prompt is used, explains how the AI interpreted the prompt into filters. Returned on the first page only.

Example:

"Interpreted as Head of Sales, country FR"

next_cursor
string

Opaque pagination token. Pass it back unchanged to fetch the next page. Null when there are no more results.

total_count
integer<int64>

Total number of matching results. Returned on the first page only.

Example:

132