Search candidates

Search candidates through Greenhouse's full-text candidate search index, returning the same candidate shape as GET /v3/candidates with richer pipeline filters (job, stage, recruiter, coordinator, source, candidate tag, prospect pool, etc.). Use this when you need to slice across many filter dimensions at once or combine free-text matching with structured filters; for simple lookups by id or foreign key, prefer the list endpoint.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string

Cursor link for pagination from previous page response header. Do not use any other parameters when using this.

integer
1 to 100
Defaults to 10

Number of results per page

ids
array of integers
length ≤ 50

Return only candidates with these person ids.

ids
fields
array of strings
length ≤ 50

Comma separated list of fields to return

fields

Free-text search term.

string

Filter by candidate tag name. Resolved to tag ids in the caller's organization; unknown tag returns no results. Use candidate_tag_id if you already have the id.

integer

Return only candidates with an application on this job.

string
enum

Restrict to candidates, prospects, or both. all returns both. Defaults to all.

Allowed:
string
enum

Filter by the lifecycle status of the candidate's job(s). all returns every status.

Allowed:
integer

Return only candidates whose job is in this department.

integer

Return only candidates whose job is in this office.

integer

Return only candidates attributed to this source.

integer

Return only candidates whose job has this recruiter.

integer

Return only candidates whose job has this coordinator.

integer

Return only candidates whose job has this hiring manager.

integer

Return only candidates currently in this interview stage (matches the stage on their active application).

stage_name
array of strings
length ≤ 50

Return only candidates currently in one of these interview stage names (exact match, case sensitive). Use alongside stage_id when you want name-based filtering without an extra id lookup.

stage_name
string
enum

Filter by the candidate's current stage outcome (e.g. still in process, hired, rejected).

Allowed:
integer

Filter by a specific candidate tag id. Prefer this over tag when the id is known to skip the name lookup.

integer

Return only candidates who applied via this job post.

integer

Return only prospects in this prospect pool.

boolean

Include private candidates the caller has access to. Defaults to true; set false to exclude private candidates.

last_activity_at
object

Filter by last-activity timestamp. Pass any combination of gte, lte, gt, lt as ISO-8601 date-times (e.g. last_activity_at[gte]=2026-01-01T00:00:00Z&last_activity_at[lte]=2026-04-01T00:00:00Z). Bounds are applied at day-level granularity in UTC; sub-day precision in the supplied timestamp is ignored. The range is always inclusive; gt/lt are accepted but applied identically to gte/lte.

Response

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