Getting Started with Greenhouse API Integration: Developer's Guide to Integration

Thanks for joining our newsletter.
Oops! Something went wrong while submitting the form.
Getting Started with Greenhouse API Integration: Developer's Guide to IntegrationGetting Started with Greenhouse API Integration: Developer's Guide to Integration

In this article, we will discuss a quick overview of popular Greenhouse APIs, key API endpoints, common FAQs and a step-by-step guide on how to generate your Greenhouse API keys as well as steps to authenticate it. Plus, we will also share links to important documentation you will need to effectively integrate with Greenhouse.

Overview of Greenhouse API

Imagine having the ability to revolutionize your hiring processes, making them more efficient, data-driven, and tailored to your organization's unique needs. That's where the Greenhouse API can help you.

Greenhouse, an applicant tracking software (ATS) and hiring platform. It is a powerful tool that empowers organizations to foster fair and equitable hiring practices. 

With a proven track record of assisting over 7500 companies, Greenhouse offers a comprehensive recruitment tool suite, valuable resources, expert guidance, and robust support to help businesses scale and optimize their hiring processes.

Whether you're a developer looking to integrate Greenhouse into your company's tech stack or an HR professional seeking to streamline your hiring workflows, the Greenhouse API offers a world of possibilities.

Let's explore common Greenhouse APIs, popular endpoints, and how to generate your Greenhouse API keys. 

Common Greenhouse APIs

The Greenhouse API offers a wide range of endpoints to interact with various aspects of the Greenhouse platform. Here are 5 most commonly used Greenhouse APIs:

1. Harvest API

The Harvest API serves as a key gateway to your Greenhouse data, offering extensive accessibility. Initially designed for data export, this versatile API goes beyond its core function.
It empowers users to carry out a range of actions, including - 

  • updating candidate information
  • adding attachments to candidate profiles
  • merging candidate profiles
  • managing the application process (advancing, hiring, or rejecting them).

Some endpoints include:

  • GET: List applications to access candidate applications from Greenhouse Recruiting
  • DELETE: Delete application to delete candidate applications from the platform

Authentication: Basic Auth over HTTPS

Job Board API

Through the Greenhouse Job Board API, you gain effortless access to a user-friendly JSON representation of data about your company's offices, departments, and published job listings.
With direct access to this raw data, you can design career pages according to your specific needs, generate department-specific content, and unlock a multitude of other possibilities tailored to your preferences.
Additionally, they offer support for JSONP callbacks and provide a POST method, enabling you to construct customized online job application forms tailored to your specific needs.

Some endpoints include:

  • GET: List jobs to access job post information and display job posts on API-driven career site
  • POST: Submit application to enable potential candidates to submit their application for open positions

Authentication: Basic Auth

Click here for more information.

Assessment API

Primarily used for Greenhouse API to create and conduct customized tests across coding, interviews, personality tests, etc. to check the suitability of the candidate for a particular role. You can leverage tests from third party candidate testing platforms as well and update status for the same after the completion by candidate. 

Some endpoints include:

  • GET https://www.testing-partner.com/api/list_tests to see a list of available tests for the candidate
  • GET https://www.testing-partner.com/api/test_status?partner_interview_id=12345 to check the current status of a take home test

Authentication: HTTP Basic Authentication over HTTPS

Ingestion API

The Ingestion API offers the capability to acquire candidate leads from third-party platforms and also provides visibility into the current stages of applications within the system.
Through this API, you gain the ability to:

  • send candidates from their applications to Greenhouse.
  • fetch the current stage and status of candidates.
  • retrieve information about jobs on which the Greenhouse users have operational permissions.

Some endpoints include:

  • GET https://api.greenhouse.io/v1/partner/candidates to retrieve the data for a particular candidate
  • POST https://api.greenhouse.io/v1/partner/candidates to create one or more candidate
  • GET https://api.greenhouse.io/v1/partner/jobs to retrieve jobs visible to current use 

Authentication:  OAuth 2.0 and Basic Auth

Onboarding API

Greenhouse Onboarding API allows you to seamlessly retrieve and update employee data, as well as essential company information, for a smooth onboarding process.

This API only supports GraphQL and not the traditional REST API approach. The key endpoints are in GET, PUT, POST, PATCH, and DELETE.

Authentication: HTTP Basic Authentication over HTTPS

Integrate with Greenhouse API 10X faster. Learn more

How to get a Greenhouse API token?

To make requests to Greenhouse's API, you would need an API Key. Here are the steps for generating an API key in Greenhouse:

Step 1: Go to the Greenhouse website and log in to your Greenhouse account using your credentials.

Step 2: Click on the "Configure" tab at the top of the Greenhouse interface.


Step 3: From the sidebar menu under "Configure," select "Dev Center."

Step 4: In the Dev Center, find the "API Credential Management" section.

Step 5: Click on "Create New API Key."

Step 6: Configure your API Key

  1. Select the API type you want to use.
  2. Give your API key a description that helps you identify its purpose or the application it will be used for.
  3. Specify the permissions you want to grant to this API key by clicking on “Manage Permissions”. Greenhouse provides granular control over the data and functionality that can be accessed with this key. You can restrict access to specific parts of the Greenhouse API to enhance security.

Step 7: After configuring the API key, click "Create" or a similar button to generate the API token. The greenhouse will display the API token on the screen. This is a long string of characters and numbers.

Step 8: Copy the API token and store it securely. Treat it as sensitive information, and do not expose it in publicly accessible code or repositories.

Important: Be aware that you won't have the ability to copy this API Key again, so ensure you store it securely.

Once you have obtained the API token, you can use it in the headers of your HTTP requests to authenticate and interact with the Greenhouse API. Make sure to follow Greenhouse's API documentation and guidelines for using the API token, and use it according to your specific integration needs.

Always prioritize the security of your API token to protect your Greenhouse account and data. If the API token is compromised, revoke it and generate a new one through the same process. 

Now, let’s jump in on how to authenticate for using the Greenhouse API.

How to authenticate Greenhouse API?

To authenticate with the Greenhouse API, follow these steps:

Step 1: In your HTTP requests to the Greenhouse API, you need to include the API token in the headers. Use the "Authorization" header to pass your API token as follows - 

```

Authorization: Basic YOUR_API_TOKEN

```

Step 2: With the API token included in the headers, you can now make authenticated requests to the Greenhouse API. The token serves as your authentication credential, granting you access to the API endpoints and data according to the permissions associated with the token.

Remember to follow Greenhouse's API documentation and guidelines for best practices, and ensure that you protect your API token from unauthorized access to maintain the security of your Greenhouse account and data.

Common FAQs on Greenhouse API

Check out some of the top FAQs for Greenhouse API to scale your integration process:

1. Is there pagination support for large datasets?

Yes, many API endpoints that provide a collection of results support pagination.
When results are paginated, the response will include a Link response header (as per RFC-5988) containing the following details:

  • "next": This corresponds to the URL leading to the next page.
  • "prev": This corresponds to the URL leading to the previous page.
  • "last": This corresponds to the URL leading to the last page.

When this header is not present, it means there is only a single page of results, which is the first page.

2. Are there rate limits for API requests?

Yes, Greenhouse imposes rate limits on API requests to ensure fair usage, as indicated in the `X-RateLimit-Limit` header (per 10 seconds).
If this limit is exceeded, the API will respond with an HTTP 429 error. To monitor your remaining allowed requests before throttling occurs, examine the `X-RateLimit-Limit` and `X-RateLimit-Remaining` headers. 

3. Does Greenhouse have a sandbox?

Yes, Greenhouse provides a sandbox that enables you to conduct testing and simulations effectively.

The sandbox is created as a blank canvas where you can manually input fictitious data, such as mock job listings, candidate profiles, or organizational information.

Refer here for more info.

4. What are the challenges of building Greenhouse API integration?

Building Greenhouse API integration on your own can be challenging, especially for a team with limited engineering resources. For example,

  • It can take around 4 weeks to up to 3 months to fully plan, build and deploy Greenhouse integration. And ongoing maintenance and monitoring of the API can take ~10 hours each week — all the time that could be invested into improving your core product features. To calculate the cost yourself, click here
  • The data models of Greenhouse API may not match the data models from other ATS applications (if you are building multiple ATS integrations). In that case, you need to spend additional bandwidth decoding and understanding nuances of Greenhouse API which again is not very productive use of in-house engineering resources.
  • You need to design and implement workflows to serve specific use cases of your customers using Greenhouse APIs.
  • The API is updated frequently, so you need to always keep an eye out for the changes to make sure your user experience is not diminished.
  • Handle integration issues manually as and when they arise.

5. When should I consider integrating with Greenhouse API?

Here are some of the common Greenhouse API use cases that would help you evaluate your integration need:

  • Access job listings from 1000+ job boards with recommendations based on historical trends
  • Create scorecard of key attributes for fair and consistent evaluation
  • Automate surveys for candidate experience and enable candidate to self schedule interviews
  • Access 40+ reports and dashboard snapshots
  • Automated tasks and reminders for smooth onboarding
  • Structured process for paperwork
  • Easy reports to understand onboarding trends

Ready to build?

If you want to quickly implement your Greenhouse API integration but don’t want to deal with authentication, authorization, rate limiting or integration maintenance, consider choosing a unified API like Knit.

Knit helps you integrate with 30+ ATS and HR applications, including Greenhouse, with just a single unified API. It brings down your integration building time from 3 months to a few hours.

Plus, Knit takes care of all the authentication, monitoring, and error handling that comes with building Greenhouse integration, thus saving you an additional 10 hours each week.

Ready to scale? Book a quick call with one of our experts or get your Knit API keys today. (Getting started is completely free)