Unified.to
All articles

ATS API Integration: Real-Time Recruiting Data, Candidate Pipelines, and Hiring Automation


February 6, 2026

Recruiting products depend on accurate, up-to-date hiring data. Candidate stage changes, interview updates, job postings, and hiring decisions need to be reflected immediately—across tools, teams, and downstream integrations.

ATS API integration exists to make that possible. In this guide, we'll explain what ATS API integration actually means, how real-time recruiting data differs from batch syncs, which ATS data models matter in practice, and how Unified's ATS API fits into a broader architecture that includes HR & Directory, LMS, and verification tools.

Introduction to ATS API Integrations

Applicant Tracking platforms such as Greenhouse, Lever, Workable, iCIMS, and SmartRecruiters act as the system of record for recruiting. They manage jobs, candidates, applications, interviews, documents, scorecards, and recruiting activity throughout the hiring process.

But ATS platforms don't operate in isolation. Recruiting analytics tools, assessment platforms, interview software, background check providers, job boards, and AI screening products all need access to ATS data. ATS API integration enables those products to read from and write to recruiting platforms—without brittle exports, delayed syncs, or duplicated logic.

What Is ATS API Integration?

ATS API integration is the process of connecting software products to applicant-tracking platforms via APIs in order to programmatically access recruiting data.

In practice, this includes:

  • Retrieving candidates, jobs, and applications
  • Tracking application stage changes
  • Scheduling and updating interviews
  • Attaching documents and scorecards
  • Writing assessment results or status updates back to the ATS
  • Reacting to recruiting events as they occur

ATS API vs HR & Directory API (and Where the Handoff Occurs)

ATS and HR platforms serve different purposes—and Unified treats that boundary explicitly.

  • ATS APIs handle the recruiting lifecycle: candidates, applications, interviews, offers, and hiring decisions.
  • HR & Directory APIs handle employment: employees, org structure, locations, benefits, payroll artifacts, and identity.

An ATS may signal that a candidate was hired (for example via a hired_at timestamp), but that does not create an employee record automatically. The application decides when and how to create or update an employee using the HR & Directory API.

This explicit handoff is intentional. It prevents incorrect assumptions, supports complex hiring scenarios (contractors, rehires, multiple offers), and keeps ATS and HR responsibilities cleanly separated.

Real-Time vs Batch ATS Data Sync

Many ATS integrations rely on scheduled syncs—polling every few hours or copying recruiting data into a separate database. That approach introduces delay and risk.

Understanding Real-Time ATS API Architecture

A real-time ATS API:

  • Reads and writes data directly against the source ATS
  • Does not rely on cached replicas
  • Reflects recruiting changes as they occur

Unified's ATS API uses a pass-through architecture. Every API request is routed directly to the underlying ATS. There are no background sync jobs and no stored recruiting records sitting at rest.

Why Batch Syncs Break Recruiting Products

Batch-based ATS integrations lead to:

  • Delayed candidate status updates
  • Missed interview changes
  • Out-of-date job postings
  • Inconsistent analytics

For recruiting products—where timing matters—scheduled syncs are fundamentally limiting.

Core ATS Data Models (and How They Behave)

Unified normalizes recruiting data within the ATS category, providing consistent objects across dozens of applicant-tracking platforms. These objects are deeply defined, with clear lifecycle semantics and intentional constraints.

Candidates

  • Represent people applying for jobs
  • Support create, list, retrieve, update, and remove operations
  • Include personal details, tags, experience, education, skills, and provider-specific custom fields
  • May include an optional user_id referencing an HR employee (typically the recruiter)

Important notes:

  • Some fields are provider-dependent
  • Certain fields (such as experience history) may be slow or incomplete

Applications

  • Link a candidate to a job
  • Include lifecycle timestamps such as applied_at, hired_at, and rejected_at
  • Provide a normalized status and a provider-specific original_status
  • Support write operations on many platforms, but not all

Key constraint:

hired_at is a recruiting signal only. It does not create an employee automatically.

Jobs

  • Represent requisitions or open roles
  • Include attributes such as description, compensation, employment type, location, and number of openings
  • Support create, update, and close operations where the provider allows it

Provider variability:

  • Some ATS platforms restrict external job creation or editing
  • Certain fields may be unavailable depending on the provider

Interviews

  • Capture scheduled interview events
  • Link candidates, jobs, applications, and interviewers
  • May be read-only on some ATS platforms

Activities

  • Represent recruiting events such as notes, status changes, or communications
  • Can reference candidates, applications, jobs, documents, and employees
  • Write support varies by provider

Documents

  • Store resumes, cover letters, and other attachments
  • Uploaded via base64 and retrieved through time-limited URLs
  • Associations to candidates, applications, jobs, or employees are provider-dependent

Scorecards

  • Capture interview feedback and evaluations
  • Support create, update, and retrieve operations where the ATS allows it

Application Statuses

  • Read-only list of normalized and provider-specific recruiting stages
  • Used to understand and map pipeline state consistently

Provider-Specific Fields

Unified normalizes critical recruiting fields while still making provider-specific fields available when required. This allows teams to build against consistent objects without losing access to ATS-specific attributes.

Normalization stops where providers diverge. Unified does not invent missing fields or infer recruiting semantics.

Common ATS API Integration Use Cases

Recruiting Analytics & Reporting

Build dashboards that track pipeline velocity, time-to-hire, candidate sources, and recruiting performance across multiple ATS platforms.

Candidate Sourcing Tools

Create sourcing products that add candidates directly into ATS pipelines and track engagement across platforms.

Interview Scheduling & Assessment Platforms

Coordinate interviews, attach scorecards, and write results back to the ATS in real time.

Background Checks & Verification

Initiate background checks when applications reach specific stages and store results or documents back in the ATS.

Recruitment Marketing & Job Distribution

Publish jobs from ATS platforms to career sites or external channels and track application sources centrally.

AI-Based Candidate Analysis

Analyze resumes and applications using AI while keeping ATS data as the source of truth.

How Real-Time ATS Events Work

Native and Virtual Webhooks

  • Native webhooks are forwarded immediately when supported by the ATS
  • Virtual webhooks simulate event delivery by polling the source ATS at configurable intervals (as frequently as one minute on paid plans)

Both use the same subscription interface and event schema, allowing applications to process backfills and live updates consistently.

Retries, Health, and Visibility

  • Polling intervals are configurable
  • Built-in retry and backoff logic handles transient failures
  • Each webhook has an audit trail and health status

Webhook execution follows usage-based pricing, and each run that checks for changes counts as an API call.

Authentication, Permissions, and Connection Health

Unified abstracts ATS authentication complexity:

  • OAuth2 and API-key-based flows are handled automatically
  • Unified scopes map to provider-specific permissions
  • Embedded authorization components or manual flows are supported

Connections are identified by a connection ID, not credentials.

Unified manages:

  • Token exchange and refresh
  • Provider-specific OAuth behavior
  • Standardized error responses
  • Connection health states (healthy, unhealthy, needs_reconnect)

Security, Privacy, and Data Handling for ATS Data

Recruiting data often includes sensitive information such as resumes and interview notes. Unified's architecture is designed to minimize risk.

Zero-Storage Architecture

  • No candidate or recruiting data is stored at rest
  • No ATS payloads are cached or mirrored
  • Requests are stateless and pass-through

Document Handling

  • Documents are uploaded via base64
  • Retrieved through time-limited URLs (typically expiring after one hour)
  • No long-term document retention on Unified infrastructure

Controls and Compliance

  • SOC 2 Type II
  • GDPR, CCPA/CPRA, PIPEDA, HIPAA
  • TLS 1.2+ in transit, AES-256 for minimal operational metadata
  • SAML/OIDC SSO, role-based access, IP allowlisting
  • Optional log streaming to customer-owned Datadog instances

ATS and HR: Explicit References, No Implicit Lifecycle

Certain ATS objects include optional user_id or user_ids fields that reference HR employees (for example, recruiters or interviewers). These references are contextual only.

What Unified does not do:

  • Automatically convert candidates into employees
  • Trigger HR record creation when hired_at is set
  • Infer employment from recruiting state

Hiring ends in the ATS. Employment begins in HR & Directory—when the application decides.

Challenges and Constraints to Plan For

Unified is explicit about ATS limitations:

  • Write support varies by provider
  • Some objects may be read-only
  • Recruiting stages differ widely across platforms
  • Certain fields may be slow or incomplete
  • No inference or automation beyond what the provider supports

These constraints are intentional. Unified provides reliable recruiting primitives, not opinionated hiring logic.

Build vs Buy ATS API Integrations

Building In-House

  • Multiple ATS APIs to learn and maintain
  • Provider-specific authentication, pagination, and rate limits
  • Custom polling, retries, and reconciliation
  • Ongoing maintenance overhead

Using a Unified ATS API

  • One ATS API surface across dozens of platforms
  • Real-time data access without replicas
  • Centralized authentication, event delivery, and maintenance
  • Usage-based pricing aligned with scale

Best Practices for Implementing ATS API Integrations

  • Rely on original_status when provider fidelity matters
  • Treat hired_at as a signal, not an automation
  • Expect provider variability and partial data
  • Monitor connection health and webhook delivery
  • Keep recruiting and employment logic in the application layer

Build ATS integrations the right way

If your product depends on accurate recruiting data—candidate pipelines, interview updates, assessments, or hiring signals—batch syncs and one-off ATS integrations won't scale.

Unified's ATS API gives you real-time, authorized access to recruiting data across dozens of ATS platforms, without storing candidate data or forcing you to maintain provider-specific code paths.

Start your 30-day free trial

Test ATS integrations with real-time reads, writes, and webhooks—no setup fees during the trial.

Book a demo

Talk through your recruiting or ATS → HR use case with the team that built the platform.

FAQ

What is ATS API integration?

Connecting recruiting software to applicant-tracking platforms via APIs to access and update hiring data programmatically.

Which ATS platforms can I integrate with?

Unified supports dozens of ATS platforms, including Greenhouse, Lever, Workable, iCIMS, Jobvite, SmartRecruiters, and more.

Is ATS data real-time?

All API calls are routed directly to the source ATS. Events are delivered via native or virtual webhooks.

Can I write changes back to the ATS?

Yes, subject to provider support. Many objects support create and update operations.

Does the ATS API create employees automatically?

No. Employee creation must be handled explicitly using the HR & Directory API.

How are resumes and attachments handled?

Documents are uploaded via base64 and retrieved through time-limited URLs.

All articles