Quickstart
Get started with ATS SDK in your TypeScript project in under 2 minutes.
Quickstart
Install the SDK via your package manager of choice:
bun add ats-sdk
# or
npm install ats-sdk
# or
pnpm add ats-sdkBasic Query
Initialize the client with createAtsClient() and fetch jobs from any supported ATS provider:
import { createAtsClient } from "ats-sdk";
const client = createAtsClient();
// Fetch jobs for any company
const jobs = await client.getJobs("greenhouse", "stripe");
console.log(`Fetched ${jobs.length} jobs.`);
for (const job of jobs) {
console.log(`${job.title} — ${job.location} (${job.workplace})`);
}Fetching a Single Job Post
To retrieve full job details, descriptions, and metadata for a specific posting:
const job = await client.getJob("greenhouse", "stripe", "8172508");
if (job) {
console.log(`Title: ${job.title}`);
console.log(`Department: ${job.departments?.join(", ")}`);
console.log(`Salary: ${job.salary ?? "Not disclosed"}`);
console.log(`Description: ${job.description.slice(0, 200)}...`);
}Configuring Options
You can configure rate limits, timeouts, retry backoff, and a custom fetch implementation (useful for HTTP proxies):
const client = createAtsClient({
timeoutMs: 15_000,
maxRetries: 3,
retryDelayMs: 1_000,
// Custom fetch for proxying or logging
fetch: (url, init) => {
console.log(`[ATS SDK] Requesting ${url}`);
return fetch(url, init);
},
});Zero Database Lock-In
ATS SDK returns pure, normalized TypeScript objects. You can safely persist them in Drizzle ORM, Prisma, PostgreSQL, or stream them straight to client components.