Introduction
The open-source TypeScript SDK for Applicant Tracking Systems (ATS).
ATS SDK
ATS SDK is a lightweight, zero-lockin TypeScript client and normalizer for querying public career pages across major Applicant Tracking Systems.
Built for AI job agents, career platforms, and candidate aggregation pipelines.
Why ATS SDK?
Every ATS exposes completely different API endpoints, response shapes, pagination schemes, and nested custom fields. Standardizing career data across thousands of companies usually means writing fragile, one-off scrapers or paying for expensive third-party data brokers.
ATS SDK unifies these disparate platforms into a single, strongly-typed TypeScript interface:
- 9 Native Adapters: Greenhouse, Ashby, Lever, Workday, SmartRecruiters, Workable, Recruitee, Breezy HR, and BambooHR.
- Universal Schema: Clean, normalized job data (
title,location,salary,workplace,departments,publishedAt, andraw). - AI Agent Tooling: Native function definitions ready for Vercel AI SDK, LangChain, or direct OpenAI tool calling.
- Resilient & Friendly: Built-in exponential backoff, rate limiting, and customizable HTTP transport for proxies.
Quick Installation
npm install ats-sdk
# or
bun add ats-sdkBasic Example
import { createAtsClient } from "ats-sdk";
const client = createAtsClient();
// Query Stripe's public job openings via Greenhouse
const jobs = await client.getJobs("greenhouse", "stripe");
console.log(`Found ${jobs.length} jobs at Stripe:`);
for (const job of jobs.slice(0, 3)) {
console.log(`- ${job.title} (${job.location})`);
}