Editor's note: This is a series on API-based integrations. Check out Merge if you're looking to add 40+ recruiting integrations with one ATS API.
The recruiting market has never been hotter. The war for talent is driving innovation and new market entrants in the recruiting tech market, from AI-based candidate sourcing to job placement solutions for market verticals. In just the past year Gem, SmartRecruiters, Jobandtalent, Workrise, SeekOut, and Handshake have all raised more than $100M.
The demand for new recruiting solutions makes integrations with existing applicant tracking systems (ATS), designed to follow candidate progress through the recruiting process, ever more important. Integrating with ATS systems and powering the boom in recruiting tech software are ATS APIs.
Read on for a guide on everything you need to know about ATS APIs:
- Top APIs - Which ATS’s matter most
- Key concepts - How an ATS works
- Data schemas - How various providers organize candidate and job data
- Use cases - Common ways ATS data is used in product integrations
- Getting started - Approaching ATS integrations to your product
What are the Top ATS APIs?
The applicant tracking system (ATS) landscape is broad, with nearly 10 different ATS’s representing 80% of the market share for mid-market and enterprise recruiting. ATS systems focused on SMBs make up an even larger, more fragmented market. Longstanding ATS systems - IBM, UKG (Ultimate), and Ceridian - have been joined in the 2000s by SaaS-first products such as Taleo, SuccessFactors, Workday, Jobvite, and Cornerstone. The latest crop of ATS systems from the 2010s include Greenhouse, Lever, and SmartRecruiters.
Key Applicant Tracking Concepts
While most ATS concepts are relatively straightforward, there are a few key dimensions along which ATS APIs vary. You’ll want to keep these in mind as you access ATS APIs across the various vendors.
Requisitions, jobs, and postings
Most ATS’s have multiple concepts related to what we think of an ‘open position’.
Typically a requisition is a job template, containing information about the job requirements and hiring process (scorecards, interviews, etc.).
Each requisition may have multiple jobs concurrently or over time, typically one for each person to be hired. In some ATS’s like Lever, a job can be assigned to multiple requisitions when unique requisition IDs are required. Other ATS’s like Greenhouse accomplish this with a single requisition but multiple ‘opening IDs’. Greenhouse calls a requisition a ‘job’ and each opening a ‘job opening’.
For each job, there may be none, one, or multiple job postings that we’d typically expect to see listed on a company’s careers page.
Sourcing leads and prospects
Some ATS systems include sourcing capabilities, where a recruiter will reach out to prospective candidates to inform them of the job opening and encourage them to apply. These prospects are often treated separately in the API. For example, in Greenhouse ‘prospects’ are accessed using the same GET endpoint as ‘candidates’, where they aren’t associated with an application (unlike ‘candidates’). However, ‘prospects’ are created using a distinct POST endpoint from ‘candidates’. Some platforms such as Lever refer to prospects as ‘leads’.
Mapping candidates to their applications
Candidates form the primary data object in an ATS (they are applicants being tracked). Many APIs have distinct concepts for the candidate (demographic info, contact info) and the instance of a candidate applying for a specific job. In the case of Greenhouse these concepts are called ‘candidates’ and ‘applications’, respectively. Lever approaches it differently; it has a ‘contact’ that is associated with multiple ‘opportunities’ (instances of the contact applying).
One further difference, when an ATS is part of a broader HRIS package, is how they treat the workflow from candidate to employee. Workday and SAP, for example, can associate a job requisition (and hence a candidate) with an employee that was hired.
Active and archived candidates
Over time an ATS has a lot, in some cases millions, of applicants that have applied to jobs over time. Which candidates are active, typically the ones you’re interested in, is an important dimension to understand for each API.
ATS API Data Schemas
Candidates represent individuals who apply or are referred for jobs (or in some cases may be recruiting prospects). This object includes contact information: location, phone numbers, emails, and social profile URLs.
Sensitive demographic information for each candidate is typically stored in an EEOC (named after types of discrimination prohibited by the US Equal Employment Opportunity Commission) object or field, with data about race, gender, veteran status, and disability status. Each candidate may also have a set of Attachments such as resumes, cover letters, or portfolios.
Each candidate is typically associated with one or several Applications for jobs they have applied to. The application object includes the application date/time, rejection date/time and reason, source, and the current stage.
Each application is associated with a Job (aka requisition) that represents an open position a company is looking to fill. The job will typically include the departments it is part of, the Offices where the job will be performed, the hiring manager, recruiters, job description, job code, and the status of the job (open, closed, filled).
Each application also has a set of Interviews that correspond to Job Interview Stages. The Interviews object commonly contains information about interviewers, location of the interview, start and end time, and the status of the interview. Each interview typically contains Scorecards per interviewer with timestamps and the interviewer's recommendation.
Each ATS also keeps track of communication with a candidate. Activities such as notes, emails, and comments can be associated with a variety of ATS objects: candidates, applications, and interviews. Each Activity contains data about the activity type, subject, and body.
Finally, when a candidate’s Application makes it all the way through a successful interview process they receive Offers. The Offers object contains information about when the offer was sent, when the offer closed, the start date, and the offer status.
Top ATS API Use Cases
Job Boards and Company Directories
Attracting candidates starts with having job listings and company profiles easily accessible. ATS products integrate with job ad platforms, job boards, and company profile sites to sync current job openings.
Examples: Indeed, Talent.com, The Org, ZipRecruiter, Comparably, The Muse, AngelList
Lever exports open jobs to AngelList and then imports the candidate’s details if they’re interested.
Building a candidate pipeline is a critical part of recruiting. Sourcing apps integrate with ATS tools to add candidate data for outreach, recommend candidate matches, coordinate employee referrals, and kick off initial recruiting screens.
Examples: Gem, Teamable, Circular, Dover, Fetcher, Handshake, LinkedIn, Ripplematch
Gem integrates with SmartRecruiters to access existing candidate data and to add new candidates to the ATS.
Interview Assessments, Scheduling, and Expenses
Coordinating interviews is complex and, unsurprisingly, many products help make the interview process more efficient. Video interviewing, virtual skills assessments, scheduling apps, travel and expense management, and surveying tools integrate with ATS products to streamline interviewing.
Examples: Bryq, Codility, HackerRank, TestGorilla, Brighthire, Expensify, Calendly
BreezyHR integrates with HackerRank to perform coding assessments and advance applicants through the hiring process.
Communicating effectively with candidates is key to move applicants through the hiring process. ATS’s integrate with communication apps to streamline email and text messaging and perform analytics on the candidates’ interactions.
Examples: Grayscale, Mixmax
Grayscale integrates with Greenhouse to communicate with candidates via text messages.
Offer Screening and Signing
During the offer process multiple steps are typically required, including background checks, employment checks, authorization of work (I-9, e-verify), reference checks, and electronic signatures. Syncing offer-stage candidates from an ATS system, and then updating the offer status once the check is complete, automates the hiring workflow.
Examples: Checkr, Equifax, HiPeople, Docusign, AdobeSign
Workday integration with Docusign to sign offer letters and other onboarding docs.
HR and Onboarding
Once an offer is accepted, companies want to have a seamless onboarding process. ATS products sync new hire data to HR and payroll systems to kick off employee onboarding.
Examples: Personio, Wurk, Deel, Remote
Teamtailor ATS integration that sends new hires to Personio HR for onboarding.
Recruiting analytics are a powerful way to optimize the hiring process. Common ATS integrations sync open roles, hired roles, and interview metrics to track headcount planning, DEI initiatives, and employee interview training.
ChartHop syncs jobs from Greenhouse to report on headcount and recruiting analytics.
Getting Started with ATS APIs
In addition to understanding ATS API structures, you’ll also want to keep in mind a few additional topics as you start building:
- API format - REST, SOAP, etc.
- Rate Limits
- Test Accounts
Integrating with multiple ATS systems? Merge unified multiple ATS APIs into one, making it easy to integrate your app with every ATS that your customers use. The Unified ATS API is REST-based, with common authentication, pagination, and rate limiting. It also includes automated logging and issue detection to make integration maintenance painless. Hundreds of companies use Merge to power their ATS APIs, including Hirebeat and Scholars.