Unified.to
All articles

How to Build a Job Board Integrating Greenhouse, Lever, and 73+ ATS Platforms with an ATS API


March 10, 2026

Many SaaS products build job board features so their customers can display open roles directly from their applicant tracking systems (ATS). Recruiting marketplaces, talent platforms, and hiring analytics tools often need to aggregate jobs from systems like Greenhouse or Lever and render them in their own product experience.

The challenge is that every ATS exposes different APIs, schemas, and authentication models. Pulling job listings from Greenhouse, Workday, iCIMS, SmartRecruiters, or other systems typically requires building and maintaining separate integrations.

Unified simplifies this process by providing a normalized ATS API that supports dozens of hiring platforms. Instead of building per-provider connectors, developers can retrieve job postings from many ATS systems through a consistent endpoint and schema. This allows SaaS products to build job boards that automatically display customer job listings and stay synchronized with their ATS.

Why SaaS Products Build Job Board Integrations

Many B2B SaaS products build job board functionality for their customers.

Examples include:

  • Recruiting marketplaces
  • Talent sourcing platforms
  • Hiring analytics tools
  • Employer branding platforms
  • Candidate matching platforms

These products allow customers to connect their ATS so the platform can retrieve job openings and display them to candidates.

Typical features include:

  • Aggregated job listings across companies
  • Custom career pages embedded in SaaS products
  • Talent marketplaces displaying open roles
  • Hiring dashboards that track job availability

By integrating with customer ATS systems, SaaS platforms can automatically keep job listings updated without manual uploads.

Unified ATS Category

Unified's ATS API normalizes job data across 73+ ATS integrations, including platforms such as:

  • Greenhouse
  • Lever
  • Workday
  • iCIMS
  • SmartRecruiters
  • Ashby
  • Jobvite
  • BambooHR
  • Workable
  • Zoho Recruit

These integrations allow SaaS products to support many hiring platforms with a single implementation.

The primary object used for job boards is the job object, which represents a job posting or requisition in an ATS.

Unified Job Object and Key Fields

Unified standardizes job records across ATS providers.

Important job fields include:

FieldDescriptionJob Board Usage
idUnique identifier for the jobUsed internally to track listings
nameJob titleDisplayed as the primary listing title
descriptionFull job descriptionRendered on the job details page
statusJob state (open, closed, etc.)Filter to show only active roles
public_job_urlsPublic apply URLsUsed for 'Apply' buttons
addressesJob location informationDisplay city or region
employment_typeEmployment classificationShow full-time, part-time, contract
departmentsDepartment or teamEnable filtering by department
remoteIndicates if job is remotePower remote-only filters
number_of_openingsNumber of available positionsShow number of roles available
created_atJob creation timestampSort listings by newest jobs
updated_atLast update timestampDetect updates for incremental sync

Additional fields may be available depending on the provider, including:

  • compensation ranges
  • recruiter or hiring manager IDs
  • screening questions
  • metadata fields
  • language locale information

These normalized fields allow SaaS platforms to display job listings consistently across many ATS systems.

Connecting Customer ATS Platforms

Customers authorize their ATS integrations using Unified Connect.

Typical process:

  1. Your application launches the Unified Connect authorization component.
  2. The user selects their ATS platform, such as Greenhouse or Lever.
  3. The user authorizes the integration.
  4. Unified redirects back to your application with a connection_id.

Your application stores the mapping:

user_id → connection_id

All subsequent API calls reference this connection identifier to retrieve jobs from the customer's ATS.

Retrieving Job Listings

Job listings are retrieved using the ATS job endpoint.

GET /ats/{connection_id}/job

This endpoint returns a normalized list of AtsJob objects across supported providers.

Several filters help retrieve and synchronize job data.

Common filters include:

  • limit – number of jobs returned
  • offsetpagination offset
  • updated_gte – return jobs updated after a given timestamp
  • query – search jobs by keyword or title
  • user_id – filter jobs owned by a recruiter or hiring manager
  • order and sorting options – control ordering of results

Using these filters allows job boards to implement pagination, keyword search, and incremental updates.

Rendering Job Listings

Once jobs are retrieved, your application can render them in a job board interface.

Typical rendering logic includes:

  • Display the job name as the listing title
  • Show the employment_type and department as tags or filters
  • Display addresses or remote status for location filtering
  • Render the description on the job detail page
  • Provide an Apply button using public_job_urls

Example job listing elements:

  • Job title
  • Location
  • Department
  • Employment type
  • Compensation (if available)
  • Apply link

This allows your SaaS product to provide a complete job board experience using ATS data.

Keeping Job Listings Updated

To keep job listings synchronized with the underlying ATS, applications can use both incremental queries and webhooks.

Unified supports webhook events for job records, including:

  • job.created – fired when a new job is created
  • job.updated – fired when job fields change
  • job.deleted – fired when a job is removed

Some ATS platforms also provide job closure events. In unified APIs, job closures typically appear as job.updated events where the status field changes to 'closed' or 'filled'.

Job boards typically handle updates by:

  • creating listings on job.created
  • updating listings on job.updated
  • removing listings on job.deleted
  • hiding listings when status changes to closed

Combined with the updated_gte filter, this ensures listings remain synchronized with the ATS.

Supported ATS Platforms

Unified supports 73+ ATS integrations, allowing SaaS products to connect to a wide range of hiring platforms.

Examples include:

  • Greenhouse
  • Lever
  • Ashby
  • SmartRecruiters
  • iCIMS
  • Workday
  • Jobvite
  • BambooHR
  • Workable
  • Zoho Recruit

Because Unified normalizes job data across providers, SaaS platforms can support many ATS environments with a single integration.

Why Product Teams Choose Unified

Building job board integrations directly with multiple ATS platforms requires maintaining separate connectors and adapting to different APIs.

Unified simplifies this by providing:

  • normalized job objects across 73+ ATS integrations
  • consistent API endpoints for retrieving job listings
  • unified authorization through Unified Connect
  • webhook events to keep listings synchronized

Instead of maintaining dozens of ATS integrations, product teams can focus on building recruiting features such as job boards, candidate marketplaces, and hiring analytics.

Start building job boards that integrate with Greenhouse, Lever, and dozens of other ATS platforms today.

→ Start your 30-day free trial

→ Book a demo

All articles