λats-sdk

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-sdk

Basic 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.

On this page