Applicant Tracking System API: A Builder's Guide
An applicant tracking system API lets you read and write candidate, job, and pipeline data. Here is what ATS APIs expose and how to build on one.
An ATS API lets software teams read and write candidate, job, and pipeline data programmatically. It exposes an applicant tracking system as endpoints, so your product can create candidates, move them through stages, read job requisitions, and receive webhook events without anyone logging into the ATS. Most APIs use OAuth 2.0 for access.
Key takeaways
- An ATS API exposes four core object types: candidate records, job or requisition objects, application and pipeline stages, and webhook events.
- Authentication is usually OAuth 2.0 (scoped, expiring tokens) or a static API key. Scoped OAuth tokens are the stronger design signal.
- The moment your integration scores, ranks, or filters candidates, the deployer inherits real regulatory obligations in the US and the EU.
- For everything an ATS API will not do, a parsing and matching layer turns the resumes and jobs already in the system into structured, scored data.
What is an ATS API?
An applicant tracking system API lets software teams read and write candidate, job, and pipeline data programmatically. If you are building HR-tech, this is the difference between a product a recruiter uses by hand and a product that talks to the systems recruiters already run. You are not shopping for an ATS. You are integrating with one, or embedding ATS-style features inside your own platform.
The reason this matters now is that recruiting features are increasingly expected to be intelligent, not just transactional. In its 2025 Talent Trends research, a survey of 2,040 HR professionals, SHRM found that 51 percent of organizations that use AI in HR apply it to recruiting, with the most common uses being writing job descriptions, screening resumes, and automating candidate searches. SHRM's 2025 Talent Trends report is where those figures are published. If your product sits anywhere near hiring, customers now expect it to read and enrich candidate data, and an ATS API is how that data gets in and out.
This guide is written for the people wiring that up: technical founders, product leads, and engineering teams at ATS, CRM, and recruitment-platform companies. It covers what ATS APIs expose, how to judge whether one is well designed, the obligations you take on when you score candidates, and where a parsing and matching layer fits on top.
What an ATS API actually exposes
Naming varies between systems, but the object model is remarkably consistent. Almost every ATS API exposes four core things:
- Candidate records. The person: name, contact details, resume and other attachments, notes, tags, and activity history. This is the object most integrations spend the most time reading and writing.
- Job or requisition objects. The role being filled, including its status, location, and the pipeline stages it uses. Requisitions are how you know what a candidate is actually being considered for.
- Applications and pipeline stages. The join between a candidate and a job. An application records that this person is in this pipeline at this stage, which is what lets you move someone forward or read where they sit.
- Webhook events. Notifications that fire when any of the above changes: a candidate created, a stage moved, an application rejected. These let you react to changes instead of constantly asking whether anything happened.
One thing worth knowing is that these objects are not arbitrary inventions per vendor. HR data has neutral interoperability standards. HR Open Standards is an independent, non-profit consortium that has maintained open specifications for HR data exchange, including recruiting, candidate, and job data, since 1999. The HR Open Standards Consortium is a useful reference point, because part of judging an ATS API is how cleanly its objects map to structured, portable data rather than a bespoke shape you have to reverse engineer.
How data moves: auth and webhook events
Two design choices shape every integration: how you authenticate, and how you find out that data changed.
On authentication, ATS APIs land in one of two camps. Some issue a static API key that you send with every request. Others use OAuth 2.0, the authorization framework defined in IETF RFC 6749. OAuth separates the application from the resource owner and issues scoped, expiring access tokens rather than a permanent secret. RFC 6749 defines several grant types, and in practice ATS integrations use two of them: the authorization code flow, where a customer grants your app access to their account, and the client credentials flow, where your server authenticates as itself for machine-to-machine calls. RFC 6749, published by the IETF in October 2012, is the specification behind all of it.
On change detection, prefer webhooks over polling. Polling means calling the API on a timer to ask whether anything is new, which wastes requests and adds lag. Webhooks flip that around: the ATS calls a URL you own the moment something happens, and you react. Design your integration to be event-driven, and treat webhook delivery as something that can be delayed or retried rather than something that arrives exactly once.
How to evaluate ATS API design quality
Before you commit a roadmap to an ATS API, look past the object list and check how the API behaves under real use. These are the signals that separate an API you can build a business on from one that will fight you:
- Rate limits. Know the ceiling before you design around it. A bulk sync of an established customer's candidate history can be tens of thousands of records, and a low or unclear rate limit turns that into a multi-day job.
- Pagination. Cursor-based pagination stays correct while data changes underneath you. Offset-based pagination can skip or repeat records mid-sync. Check which one you get.
- Webhook reliability. Ask what happens when your endpoint is down. Good APIs retry with backoff and let you replay missed events. Without that, one outage means silent data drift.
- Data completeness. Confirm the API returns the fields you actually need, including attachments and custom fields, not just a thin summary object.
- Sandbox and versioning. A sandbox lets you build without touching real hiring data. Clear API versioning tells you a breaking change will not land on a customer's pipeline unannounced.
None of these are glamorous, but they are where integrations quietly succeed or fail, so scope them before you promise a delivery date.
The compliance obligations you inherit
Here is the part builders most often miss. The moment your integration does more than move records, and starts to screen, score, rank, or filter candidates, it becomes a selection tool, and selection tools are regulated. These obligations attach to the deployer of the tool, so they are worth knowing before you build.
- The four-fifths rule (United States). Under the Uniform Guidelines on Employee Selection Procedures, a selection rate for any race, sex, or ethnic group that is less than four-fifths, or 80 percent, of the rate for the highest group is generally treated as evidence of adverse impact. The Uniform Guidelines were adopted in 1978 and remain in force at 29 CFR Part 1607. Any tool that screens or ranks candidates can create adverse impact, so build measurement in rather than treating scores as compliance-neutral.
- New York City Local Law 144. Employers and agencies that use an automated employment decision tool to screen New York City candidates must have an independent bias audit conducted within the prior year, publish a summary of the results, and notify candidates at least 10 business days before use. Enforcement began on July 5, 2023, per the NYC Department of Consumer and Worker Protection. If your integration can be used that way, make the audit data your customers need extractable.
- The EU AI Act. Regulation (EU) 2024/1689 classifies AI systems used for the recruitment or selection of people, including to filter applications and evaluate candidates, as high-risk under Annex III. High-risk obligations for these systems apply from August 2, 2026, per the EU AI Act on EUR-Lex. For matching and filtering features, the regulation attaches to the design, not only the use.
- GDPR Article 22. Under Regulation (EU) 2016/679, a person has the right not to be subject to a decision based solely on automated processing that significantly affects them, with recruitment filtering a common example. Safeguards such as human intervention and a right to contest are required.
Where a parsing and matching layer fits
An ATS API is very good at storing and moving structured records. It is not designed to read a raw resume, turn a job description into structured requirements, or decide how well a candidate fits a role. That is the gap most builders actually need to fill, and it is a layer you can add on top of any ATS API without waiting on the ATS vendor to build it for you.
That is what RecruitAI Suite provides as APIs you call from your own product. The Resume Parser API turns PDF and DOCX resumes into clean structured JSON, the JD Parser API does the same for job descriptions, and the Candidate Matching API scores and ranks candidates against a job with semantic matching instead of keyword search. You read resumes and jobs through the ATS API, pass them to these endpoints, and write the structured results back as fields or notes. ATS and CRM teams can see how this slots together on the ATS vendors page, and the full set is on the product list.
If you want the wider context, the job suite AI guide covers how these APIs combine into one hiring layer, and the LinkedIn Recruiter API guide is the sibling read on what a given API will and will not hand you. When you are ready to try it against your own data, you can book a demo for API access and a walkthrough.
Frequently Asked Questions
What is an ATS API?
An applicant tracking system API lets software teams read and write candidate, job, and pipeline data programmatically. It exposes an ATS as a set of endpoints so your product can create candidates, move them through stages, read job requisitions, and receive events without a human logging into the ATS interface.
What data does an ATS API expose?
Most ATS APIs expose four core object types: candidate records (name, contact details, resume attachments, notes), job or requisition objects, application and pipeline stage records that link a candidate to a job, and webhook events that fire when those objects change. Attachments and activity history are usually available too.
How do ATS APIs handle authentication?
ATS APIs authenticate either with static API keys or with OAuth 2.0, the framework defined in IETF RFC 6749. OAuth issues scoped, expiring access tokens, commonly through the authorization code flow for user-granted access or the client credentials flow for server-to-server calls. Scoped OAuth tokens are generally a stronger design signal than a single static key.
Are ATS and matching integrations regulated?
Yes. In the United States, any tool that screens, scores, or ranks candidates is a selection procedure under the Uniform Guidelines and can create adverse impact. New York City Local Law 144 adds a bias audit and candidate notice duty. In the EU, recruitment and selection AI is high-risk under the EU AI Act, and GDPR Article 22 limits solely automated decisions.
How do I add AI matching on top of an ATS API?
Read candidate resumes and job descriptions through the ATS API, pass them to a parsing and matching layer that returns structured data and match scores, then write the results back to the ATS as fields or notes. RecruitAI Suite provides that layer as APIs you call from your own product, so you do not build parsing and matching from scratch.
Build faster with RecruitAI Suite
Production-ready resume parsing, JD parsing, and candidate matching APIs for HR-tech teams. Book a demo and get API access.