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:
| Field | Description | Job Board Usage |
|---|---|---|
| id | Unique identifier for the job | Used internally to track listings |
| name | Job title | Displayed as the primary listing title |
| description | Full job description | Rendered on the job details page |
| status | Job state (open, closed, etc.) | Filter to show only active roles |
| public_job_urls | Public apply URLs | Used for 'Apply' buttons |
| addresses | Job location information | Display city or region |
| employment_type | Employment classification | Show full-time, part-time, contract |
| departments | Department or team | Enable filtering by department |
| remote | Indicates if job is remote | Power remote-only filters |
| number_of_openings | Number of available positions | Show number of roles available |
| created_at | Job creation timestamp | Sort listings by newest jobs |
| updated_at | Last update timestamp | Detect 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:
- Your application launches the Unified Connect authorization component.
- The user selects their ATS platform, such as Greenhouse or Lever.
- The user authorizes the integration.
- 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 returnedoffset– pagination offsetupdated_gte– return jobs updated after a given timestampquery– search jobs by keyword or titleuser_id– filter jobs owned by a recruiter or hiring managerorderand 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
nameas the listing title - Show the
employment_typeanddepartmentas tags or filters - Display
addressesorremotestatus for location filtering - Render the
descriptionon 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 createdjob.updated– fired when job fields changejob.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
statuschanges 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.