Skip to main content
POST
Run a people search

Authorizations

Authorization
string
header
required

Your API token (af_…) as the Basic-auth username, with an empty password.

Body

application/json

Exactly one filter source — filters, savedSearchId, savedSearchName or query — plus optional paging. With filters, at least one non-empty filter value, a linkedinUrl or a scrollToken is required, and enum-backed values must come from GET /prospects/filter-options (422 otherwise, before anything is billed).

filters
object

Literal filters, one of the four filter sources. People filters in the search vocabulary: include/exclude fields take [{ status, value }] entries, term fields a string or an array of strings, rangeInputs { min, max } ranges — every field and its accepted values are listed by GET /prospects/filter-options. On this endpoint a value outside a field's listed vocabulary is refused with 422 VALIDATION_FAILED, naming the field and the value, before anything is billed.

savedSearchId
string

Id of one of your PEOPLE saved searches to take the filters from instead of filters (a company saved search answers 422 SAVED_SEARCH_TYPE_MISMATCH).

savedSearchName
string

Exact title of one of your people saved searches to take the filters from instead of filters; two searches sharing the title answer 409 SAVED_SEARCH_NAME_AMBIGUOUS.

Required string length: 1 - 255
query
string

Natural-language description of who to find (max 2000 chars), converted into filters server-side instead of filters; criteria that could not be mapped come back as unresolvedCriteria, and a query yielding no filter answers 422 QUERY_FILTERS_INVALID.

Required string length: 1 - 2000
size
integer
default:10

Profiles per page (1-100, default 10); the search pre-checks 2 credits per requested profile and debits 2 credits per profile returned.

Required range: 1 <= x <= 100
scrollToken
string

The scrollToken returned by the previous page, sent together with the same filter source, to fetch the next page.

linkedinUrl
string

A LinkedIn profile URL to look up one person (normalised before matching); counts as search criteria on its own.

Response

Success

profiles
object[]
required
scrollToken
string | null
required

Send back as scrollToken with the same filter source to fetch the next page; null when the provider returned no continuation.

total
integer
required

Total number of people matching the filters, not the page size.

filters
object
required

The RESOLVED filters the search actually ran, in the POST /prospects/search vocabulary.

ignoredFilterKeys
string[]

Only when the source was a saved search: stored keys with no equivalent search field, which were dropped.

unresolvedCriteria
string[]

Only when the source was query: criteria in the prose that could not be turned into a filter.