ATS API
An ATS API is the programmatic interface an applicant tracking system exposes so software can read or write recruiting data - job requisitions, candidates, applications, and interview stages - without going through the ATS web interface.
Also called: applicant tracking system API, recruiting API.
Key points
- An ATS API exposes recruiting data - requisitions, candidates, applications, stages - for programmatic read or write access.
- Read integrations are straightforward; write integrations must respect per-customer custom fields and stage workflows.
- Most ATS APIs require per-customer OAuth authorization, which is the dominant cost of the integration.
- 'ATS API' is a category - each ATS has its own schema, auth, and limits, so supporting many means a connector each or a unified API.
What an ATS API is for
Every applicant tracking system - Greenhouse, Lever, Workday Recruiting, Ashby, iCIMS - stores the same broad categories of data: open requisitions, candidate profiles, applications tying a candidate to a requisition, and the pipeline stages each application moves through. An ATS API is how another system reads or changes that data programmatically. Without it, the only interface is the ATS web app, which a human has to click through.
Teams reach for an ATS API for two very different reasons. The first is integration: a recruiting tool, an HR analytics product, or a background-check vendor needs to sync data with whatever ATS each customer happens to run. The second is data: a job board, sourcing tool, or labor-market research firm wants to read job postings out of the ATS at scale. These two needs hit completely different parts of the API surface, and conflating them is the most common reason an ATS integration project goes sideways.
Read access and write access are different problems
Reading from an ATS - listing requisitions, pulling candidate records - is the lighter half. Writing back into one - creating a candidate, advancing an application, posting a requisition - means respecting the ATS's validation rules, custom fields, and stage workflows, all of which are configured per customer. A write integration that works for one customer's Greenhouse account routinely breaks against the next, because the second customer renamed their stages or made three more fields required.
Most ATS APIs are also OAuth-scoped per customer. Each company that uses the ATS has to grant your application access to their account individually. For a SaaS product onboarding hundreds of customers, that per-account authorization is the real cost of an ATS integration - far more than writing the HTTP client.
There is no single 'ATS API'
'ATS API' is a category, not a product. Greenhouse's Harvest API, Lever's API, Ashby's API, and Workday's Recruiting endpoints all model requisitions and candidates differently, authenticate differently, paginate differently, and rate-limit differently. Build against one and you have integrated with exactly one ATS. Supporting the long tail of systems your customers actually use means either writing and maintaining a connector per system or routing through a unified API that normalizes them behind one schema.
There is also a hard line between private recruiting data and public job postings. The candidate pipeline inside an ATS is private and OAuth-gated. The job postings a company chooses to publish on its careers page are public, and reading those at scale across many companies is a separate problem with separate tooling - closer to a job board API than to an ATS integration.
FAQ
Is an ATS API the same as a job board API?+
No. An ATS API exposes a single company's private recruiting data - candidates, applications, pipeline stages - usually behind per-customer OAuth. A job board API exposes published job postings, often across many employers, and is read-only. They overlap only on the public 'open requisitions' slice. If you want to read jobs across many companies, you want job-posting data, not an ATS integration.
Do all applicant tracking systems have an API?+
Most established ones do - Greenhouse, Lever, Ashby, Workable, SmartRecruiters, iCIMS, and Workday Recruiting all expose APIs. Coverage and quality vary widely. Some gate API access behind higher pricing tiers, some cover reads but not writes, and some older systems only offer SOAP or file-based exports. There is no guarantee that the ATS a given customer uses has the endpoint you need.
Why is building ATS integrations hard if every ATS has an API?+
Because every ATS has a different API - different data models, auth flows, pagination, rate limits, and webhook behavior. Each customer also configures their ATS differently, with custom fields, renamed stages, and required-field rules. The HTTP client is an afternoon of work; the long tail of per-system and per-customer differences is what consumes quarters.
JobsPipe is the jobs-data API behind this glossary - 30+ sources, one schema, 5,000 requests/month free.
Get a free API keyRelated