Applications

Search applications

Search applications through Greenhouse's full-text candidate search index, returning the same application shape as GET /v3/applications with richer pipeline filters (job status, department, office, hiring team, candidate tag, stage outcome, 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.

get/v3/applications/search

Request

  • Base URL
    https://harvest.greenhouse.io
  • URL
    https://harvest.greenhouse.io/v3/applications/search
  • Auth
    • OAuth 2
      Authorization code: https://auth.greenhouse.io/authorize
      Client credentials
      Token URL: https://auth.greenhouse.io/token scopes: harvest:applications:list
    • or HTTP bearer

Query parameters

cursorstring

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

per_pageinteger

Number of results per page

candidate_idsinteger[]

Return only applications belonging to these candidate (person) ids.

job_idsinteger[]

Return only applications on these job ids.

source_idsinteger[]

Return only applications attributed to these source ids.

referrer_idsinteger[]

Return only applications attributed to these referrer (user) ids.

stage_idsinteger[]

Return only applications currently in these interview stage ids.

job_post_idsinteger[]

Return only applications submitted through these job post ids.

fieldsstring[]

Comma separated list of fields to return

searchstring

Free-text search term.

prospectboolean

When true, return only prospect applications; when false, only non-prospect applications. Omit to include both.

job_status'all' | 'open' | 'closed' | 'draft'

Filter by the lifecycle status of the application's job. all returns every status.

department_idinteger

Return only applications on jobs in this department.

office_idinteger

Return only applications on jobs in this office.

recruiter_idinteger

Return only applications whose job has this recruiter.

coordinator_idinteger

Return only applications whose job has this coordinator.

hiring_manager_idinteger

Return only applications whose job has this hiring manager.

stage_status'rejected' | 'paused' | 'completed' | 'hired' | 'in_process'

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

candidate_tag_idinteger

Return only applications whose candidate has this tag id.

prospect_pool_idinteger

Return only prospect applications in this prospect pool.

stage_namestring[]

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

Response

Successful

idinteger
created_atstring date-time
updated_atstring date-time

Timestamp the application was last updated, in ISO 8601. Changes to candidate-level data (name, title, company, or last activity) also update it, so activity on one application usually moves this on all of the candidate's applications.

agency_note_idinteger nullable

Id of the note created when the candidate was submitted by an agency, or null if the application did not come through an agency.

candidate_idinteger

Id of the candidate (person) this application belongs to.

coordinator_idinteger nullable

Id of the user assigned as coordinator on the application's job, or null when unassigned.

job_idinteger nullable

Id of the job this application is on. null for jobless prospect applications.

job_post_idinteger nullable

Id of the job post the candidate applied through, or null if the application was created internally rather than from a posted role.

recruiter_idinteger nullable

Id of the user assigned as recruiter on the application's job, or null when unassigned.

referrer_idinteger nullable

Id of the referrer who credited this application, or null if there was no referral. References a referrer, not a Greenhouse user.

rejection_reason_idinteger nullable

Id of the rejection reason selected for the application. References a /v3/rejection_reasons row scoped to the organization. null when the application was rejected without a reason, or has not been rejected.

source_idinteger nullable

Id of the source the application is attributed to (e.g. a job board, an event, an employee referral source). null if no source is set.

stage_idinteger nullable

Id of the interview stage the candidate is currently in for this application. null for prospect applications and applications in a terminal state.

job_interview_stage_idinteger nullable

Id of the job interview stage definition (see GET /v3/job_interview_stages) the candidate is currently in for this application. null for prospect applications and applications in a terminal state.

stage_namestring nullable

Display name of the candidate's current interview stage on this application.

status'rejected' | 'hired' | 'converted' | 'in_process'

Lifecycle status of the application. in_process for active candidates, rejected for rejected applications, hired once an offer is closed and the hire endpoint has fired, and converted for prospect applications that have been promoted to a candidate application via convert_to_candidate.

needs_decisionboolean nullable

true when the application is waiting on a hiring-team decision (scorecard completion, advance/reject, etc.) in its current stage.

prospectboolean

true for prospect applications (sourced candidates not yet attached to a single job), false for candidate applications on a specific job.

rejected_atstring date-time nullable

Timestamp the application was rejected, in ISO 8601. null for applications that have not been rejected.

last_activity_atstring date-time nullable

Timestamp of recent activity for this application's candidate, in ISO 8601. Most activity (notes, emails, stage changes, etc.) on any of the candidate's applications updates this value on all of them, so it usually matches the candidate's last_activity_at rather than reflecting this application alone.

location_addressstring nullable

Free-form location string captured on the application (typically from the job post's location question).

prospective_job_idsinteger[]

For prospect applications, the ids of jobs the prospect is being considered for. Empty for non-prospect applications and for jobless prospects.

custom_fieldsobject nullable

Changes

No recorded changes to this operation across all 1 revision of this API.