QuickBooks Online Accounting API
Pricing
from $0.01 / 1,000 results
QuickBooks Online Accounting API
Automate your QuickBooks Online accounting with the official API. Manage invoices, customers, payments, vendors, bills, and items. Perfect for invoice automation, payment tracking, financial reporting, and CRM/ERP integration.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

John Rippy
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Greenhouse ATS API
Built by John Rippy | johnrippy.link
๐ 2025 Zapier Automation Hero of the Year โ Project 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| task | string | Yes | Operation to perform |
| apiKey | string | Yes* | Harvest API key (*not needed for demoMode) |
| onBehalfOf | string | No | User ID for write operations |
| candidateId | string | No | Candidate ID |
| applicationId | string | No | Application ID |
| jobId | string | No | Job ID |
| stageId | string | No | Stage ID for moving applications |
| firstName | string | No | First name for new candidate |
| lastName | string | No | Last name for new candidate |
| string | No | Email for candidate | |
| status | string | No | Filter by status |
| createdAfter | string | No | Filter by created date |
| maxResults | integer | No | Max results (default: 100) |
| webhookUrl | string | No | URL to send results |
| demoMode | boolean | No | Run with sample data (default: true) |
Available Tasks
| Task | Description |
|---|---|
list_candidates | List all candidates with filtering |
manage_candidate | Get, create, or update candidate (use candidateId for get/update) |
list_applications | List all applications |
manage_application | Get, move, reject, or hire application (use applicationId + action) |
list_jobs | List all open jobs |
get_job | Get job details |
list_job_stages | Get hiring pipeline stages for a job |
list_offers | List all offers |
list_scorecards | List interview scorecards |
list_scheduled_interviews | List all scheduled interviews |
list_departments | List all departments |
list_offices | List all offices |
list_users | List all users/recruiters |
list_sources | List candidate sources |
list_rejection_reasons | List rejection reasons |
get_hiring_metrics | Get hiring analytics and metrics |
search_candidates | Search candidates by keyword |
export_pipeline | Export full pipeline data |
Getting Your API Key
- Go to Greenhouse Settings > Dev Center > API Credentials
- Click Create New API Key
- Select Harvest as the API type
- Grant required permissions
- 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:
| Event | Price |
|---|---|
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 |
Related Actors
- Lever ATS - Alternative ATS integration
- LinkedIn Scraper - Candidate sourcing
Support
- Greenhouse API Docs: developers.greenhouse.io/harvest.html
- Issues: Report on Apify