Greenhouse ATS API / Harvest API avatar
Greenhouse ATS API / Harvest API

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Greenhouse ATS API / Harvest API

Greenhouse ATS API / Harvest API

Automate your Greenhouse recruiting with Harvest API. Manage candidates, jobs, applications, offers, interviews & scorecards. Perfect for HR automation, candidate pipeline management & recruiting analytics. Build automations, sync candidate data, manage applications, & integrate w/your HR systems.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

John Rippy

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Greenhouse ATS API

Built by John Rippy | johnrippy.link

🏆 2025 Zapier Automation Hero of the YearProject Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →

Recruiting Automation - Candidates, Jobs, Applications & Offers

Automate your Greenhouse recruiting with the Harvest API. Manage candidates, jobs, applications, offers, interviews, and scorecards. Perfect for HR automation, candidate pipeline management, and recruiting analytics.

What is the Greenhouse Harvest API?

The Greenhouse Harvest API provides full access to Greenhouse Recruiting data. Build advanced automation, sync candidate data, manage applications, and integrate with your HR systems.

Features

Candidates

  • List Candidates - Get all candidates with filtering
  • Get Candidate - Retrieve candidate details
  • Create Candidate - Add new candidate
  • Update Candidate - Modify candidate info

Applications

  • List Applications - Get all applications
  • Get Application - Retrieve application details
  • Move Application - Move to different stage
  • Reject Application - Reject with reason
  • Hire Application - Mark as hired

Jobs

  • List Jobs - Get all open jobs
  • Get Job - Retrieve job details
  • List Job Stages - Get hiring pipeline stages

Offers

  • List Offers - Get all offers
  • Get Offer - Retrieve offer details

Scorecards

  • List Scorecards - Get interview scorecards
  • Get Scorecard - Retrieve scorecard details

Interviews

  • List Scheduled Interviews - Get all scheduled interviews

Organization

  • List Departments - Get all departments
  • Get Department - Retrieve department details
  • List Offices - Get all offices
  • Get Office - Retrieve office details
  • List Users - Get all users
  • Get User - Retrieve user details
  • List Sources - Get candidate sources
  • List Rejection Reasons - Get rejection reasons

Use Cases

HR Automation

  • Sync candidates with HRIS
  • Auto-update candidate status
  • Generate hiring reports

Recruiting Operations

  • Track pipeline metrics
  • Monitor interview completion
  • Alert on stalled candidates

CRM Integration

  • Sync candidates to Salesforce
  • Track referral sources
  • Measure recruiting ROI

Analytics

  • Export candidate data
  • Analyze time-to-hire
  • Track source effectiveness

Input Parameters

ParameterTypeRequiredDescription
taskstringYesOperation to perform
apiKeystringYes*Harvest API key (*not needed for demoMode)
onBehalfOfstringNoUser ID for write operations
candidateIdstringNoCandidate ID
applicationIdstringNoApplication ID
jobIdstringNoJob ID
stageIdstringNoStage ID for moving applications
firstNamestringNoFirst name for new candidate
lastNamestringNoLast name for new candidate
emailstringNoEmail for candidate
statusstringNoFilter by status
createdAfterstringNoFilter by created date
maxResultsintegerNoMax results (default: 100)
webhookUrlstringNoURL to send results
demoModebooleanNoRun with sample data (default: true)

Available Tasks

TaskDescription
list_candidatesList all candidates with filtering
manage_candidateGet, create, or update candidate (use candidateId for get/update)
list_applicationsList all applications
manage_applicationGet, move, reject, or hire application (use applicationId + action)
list_jobsList all open jobs
get_jobGet job details
list_job_stagesGet hiring pipeline stages for a job
list_offersList all offers
list_scorecardsList interview scorecards
list_scheduled_interviewsList all scheduled interviews
list_departmentsList all departments
list_officesList all offices
list_usersList all users/recruiters
list_sourcesList candidate sources
list_rejection_reasonsList rejection reasons
get_hiring_metricsGet hiring analytics and metrics
search_candidatesSearch candidates by keyword
export_pipelineExport full pipeline data

Getting Your API Key

  1. Go to Greenhouse Settings > Dev Center > API Credentials
  2. Click Create New API Key
  3. Select Harvest as the API type
  4. Grant required permissions
  5. Copy the API key

Example Usage

List All Candidates

{
"task": "list_candidates",
"apiKey": "your-harvest-api-key",
"status": "active",
"maxResults": 100
}

Get Candidate Details

{
"task": "get_candidate",
"apiKey": "your-harvest-api-key",
"candidateId": "12345678"
}

Create Candidate

{
"task": "create_candidate",
"apiKey": "your-harvest-api-key",
"onBehalfOf": "987654",
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"phone": "555-123-4567",
"company": "Tech Corp",
"title": "Senior Engineer"
}

Move Application to Next Stage

{
"task": "move_application",
"apiKey": "your-harvest-api-key",
"onBehalfOf": "987654",
"applicationId": "11111111",
"stageId": "222222"
}

Reject Application

{
"task": "reject_application",
"apiKey": "your-harvest-api-key",
"onBehalfOf": "987654",
"applicationId": "11111111",
"rejectionReasonId": "333333"
}

Output

Results are saved to the default dataset:

Candidates List

{
"task": "list_candidates",
"success": true,
"candidates": [
{
"id": 12345678,
"first_name": "Jane",
"last_name": "Smith",
"company": "Tech Corp",
"title": "Senior Engineer",
"emails": [{ "value": "jane@example.com", "type": "personal" }],
"applications": [
{
"id": 11111111,
"job": "Software Engineer",
"status": "active",
"current_stage": { "name": "Technical Interview" }
}
]
}
],
"total": 156
}

Job Stages

{
"task": "list_job_stages",
"success": true,
"stages": [
{ "id": 1, "name": "Application Review", "priority": 0 },
{ "id": 2, "name": "Phone Screen", "priority": 1 },
{ "id": 3, "name": "Technical Interview", "priority": 2 },
{ "id": 4, "name": "Onsite Interview", "priority": 3 },
{ "id": 5, "name": "Offer", "priority": 4 }
]
}

Rate Limits

Greenhouse Harvest API uses 10-second rate limit windows.

The actor handles this automatically with built-in rate limiting.

Demo Mode

Test the actor without API credentials:

{
"task": "list_candidates",
"demoMode": true
}

Pricing

Pay-per-event pricing:

EventPrice
list_candidates$0.01
manage_candidate$0.02
list_applications$0.01
manage_application$0.02
list_jobs$0.01
get_job$0.01
list_job_stages$0.005
list_offers$0.01
list_scorecards$0.01
list_scheduled_interviews$0.01
list_departments$0.005
list_offices$0.005
list_users$0.01
list_sources$0.005
list_rejection_reasons$0.005
get_hiring_metrics$0.02
search_candidates$0.01
export_pipeline$0.02

Support