How to Build Candidate Sourcing Across Greenhouse, Lever, Workday, and 60+ ATS Platforms with a Unified API
September 28, 2025
Updated June 2026
Job boards, marketplaces, and recruiting platforms all need to connect with applicant tracking systems (ATS) to source, match, and submit candidates. The problem: every ATS has different schemas, authentication models, and webhook patterns.
A unified API removes that complexity by normalizing candidate, job, and application data across 85 ATS platforms, fetched live from the source. That lets your product import jobs, match candidates, and create applications directly in your customers' ATS — without building a connector per vendor.
When to use candidate sourcing
With a unified API, you can:
- Build a sourcing platform or job board that connects with any ATS.
- Import open jobs automatically from a customer's ATS.
- Submit candidates and create applications directly in the ATS.
- Track application status and documents (resumes, cover letters) as changes happen.
Normalized ATS objects
Unified.to provides consistent schemas for the core sourcing objects. The actual normalized fields:
- Job (
ats_job) — open requisitions:ats_job_id,ats_job_name,ats_job_description,ats_job_compensation,ats_job_addresses,ats_job_public_job_urls,ats_job_status. - Candidate (
ats_candidate) — profile and contact data:ats_candidate_id,ats_candidate_name,ats_candidate_emails,ats_candidate_telephones,ats_candidate_skills. - Application (
ats_application) — submission records linking candidate to job:ats_application_id,ats_application_candidate_id,ats_application_job_id,ats_application_status,ats_application_applied_at. - Document (
ats_document) — resumes, cover letters, and other files:ats_document_id,ats_document_filename,ats_document_document_url,ats_document_candidate_id.
Custom fields are supported through Unified.to's Metadata API, so you can extend workflows without losing ATS-specific context.
Data flow for candidate sourcing
The flow works the same across every integrated ATS:
- Connect to the ATS and import open jobs (
ats_job). - Match and submit candidates from your product.
- Create applications in the ATS (
ats_application), uploading documents (ats_document) where needed. - Track status changes and recruiter feedback through the API or a webhook.
Because Unified.to manages both native and virtual webhooks, you receive updates as changes occur even when the ATS doesn't support webhooks natively.
Learn how to standardize assessments across the same ATS catalog in our guide: How to Build a Candidate Assessment Product with Unified.to.
Supported ATS platforms
Unified.to supports 85 ATS integrations, including:
- Enterprise: Greenhouse, iCIMS, Workday, SAP SuccessFactors, Oracle HCM
- Mid-market: Lever, SmartRecruiters, JazzHR, Jobvite, BambooHR
- SMB: Workable, Recruitee, Manatal, Pinpoint, Ashby
See the full list of supported ATS integrations.
Why this matters for product teams
For PMs and engineers, the benefits are direct:
- Speed to market — one build supports 85 ATS platforms.
- Consistency — jobs, candidates, applications, and documents share one normalized schema.
- Current data — every read fetches from the source, and webhook-driven updates keep status current without a stored copy to drift.
- Read and write — read across the catalog and write candidates, applications, and documents; status and stage-transition behavior varies by ATS, so check write support per integration in the capability matrix.
Instead of spending months building and maintaining ATS connectors, your team can focus on the sourcing experience itself.
Launch sourcing workflows across 85 ATS platforms today. Sign up for a free 30-day trial or book a demo to see how Unified.to can accelerate your roadmap.