Fetch and normalize live job postings from Greenhouse, Ashby, Lever, Workday, and 5 more ATS providers behind one typed API with retries and AI agent tools.
import { createAtsClient } from "ats-sdk";
import { greenhouse } from "ats-sdk/greenhouse";
import { ashby } from "ats-sdk/ashby";
import { lever } from "ats-sdk/lever";
const ats = createAtsClient({
sources: [
greenhouse({ boardToken: "stripe" }),
ashby({ boardToken: "openai" }),
lever({ site: "palantir" }),
],
concurrency: 5,
});
// Normalized StandardJob[] across all providers
const { jobs, total } = await ats.getJobs({
query: "engineer",
workplace: "Remote",
});Ingest postings from 500+ top companies across Greenhouse, Ashby, Lever & more
Enter any company's ATS identifier or select a preset to test the live normalization pipeline directly against public endpoints.
Each adapter is tree-shakeable and imports directly from its own subpath with zero external database dependencies.
ats-sdk/greenhouseats-sdk/ashbyats-sdk/leverats-sdk/workdayats-sdk/bamboohrats-sdk/smartrecruitersats-sdk/workableats-sdk/recruiteeats-sdk/breezyStop reinventing brittle scraping code. Let ats-sdk handle the edge cases.
createAtsAgentTools(client) returns typed tool definitions for Vercel AI SDK, LangChain, or Claude MCP, giving agents real-time job lookup capabilities.