/company/{id}/candidates/search

Free-text search across every candidate in the company, served by the same search index that powers in-app candidate search. This verb always returns the paginated envelope below - one request contract, one response contract.

email_address is not accepted here and returns 400. Exact email lookup is the GET form of this path: it is served from the primary store and is immediately consistent, whereas this search is index-backed and eventually consistent, so a candidate created moments ago may not appear yet.

Access: results follow the caller. A company admin searches the whole company; any other token owner is limited to the positions they are a member of - the same scope in-app search applies to that user.

Query grammar: bare terms, quoted phrases ("product manager"), the boolean operators AND, OR and NOT, and a trailing * for prefix matching. With match: prefix (the default) the trailing wildcard is added for you, which is what the in-app search box does. Anything else that carries query-syntax meaning - field:value, regex delimiters, grouping, +, -, &, | - is searched as literal text, so a URL or a term like C++ matches as typed. A leading wildcard, an unbalanced quote, or a query starting or ending with a boolean operator returns 400.

Coverage: the index spans candidate name, email address, phone number, headline, tags, free-text and choice questionnaire responses, work history, education, and the position location. It does not cover uploaded resume or CV file contents, and it does not cover social profiles.

Results are position-scoped: a candidate record is a person on a position, so the same person appears once per matching position and total counts records, not people. meta_id is the stable person identifier if you need to group them yourself.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Body Params
Responses

400

Missing or malformed query, an unknown parameter, email_address supplied, a non-integer or out-of-range page, a leading wildcard, an unbalanced quote, or a dangling boolean operator

403

Company is not on a plan with API access

429

Rate limit exceeded

503

Candidate search is temporarily unavailable

504

The search did not complete within the server-side time limit

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json