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

8 days ago

Last modified

Share

Greenhouse ATS API - Recruiting Automation

Automate Greenhouse recruiting workflows. Manage candidates, jobs, applications, offers, interviews, and scorecards. Perfect for HR automation, candidate pipeline management, and recruiting analytics.

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

Quick Start

{
"input": "your input here"
}

Demo Mode

Set demoMode: true to test with sample data (no charges). When you're ready for real results, set demoMode: false or omit it.

{
"demoMode": true,
...
}

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)

Output Format

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 }
]
}

Pricing

This actor uses pay-per-event billing: 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

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

Common Problems & Solutions

"Invalid API key" error

Cause: Your API key is wrong, expired, or doesn't have the right permissions. Fix: Double-check your API key. Make sure you copied it exactly without extra spaces.

"Rate limit exceeded" error

Cause: You've hit the API's rate limits. Fix: Wait a few minutes, then try again. Consider reducing the number of concurrent requests.

Empty or incomplete results

Cause: The target may have anti-scraping protection or the data doesn't exist. Fix:

  • Check if the URL/search query is correct
  • Try with different parameters
  • Some sites may block automated access

Demo data showing instead of real results

Cause: demoMode is still set to true. Fix: Set demoMode: false and provide your API key(s).


Built by John Rippy | Actor Arsenal