λats-sdk

Auto-Discovery

Zero-config ATS detection from company names, slugs, and career URLs.

Zero-Config ATS Discovery

Instead of requiring you or your users to manually look up which Applicant Tracking System a company uses, ATS SDK includes an autonomous ATS Auto-Discovery Engine.

You provide a company name, slug, or career URL, and ATS SDK resolves the underlying ATS behind the scenes.

Unified Client with Auto-Discovery

Pass company identifiers directly to createAtsClient({ companies: [...] }):

import { createAtsClient } from "ats-sdk";

// Zero-config: Automatically resolves ATS for each company
const ats = createAtsClient({
  companies: ["stripe", "openai", "palantir"],
});

// Fetch normalized jobs across all resolved providers
const { jobs, total } = await ats.getJobs({
  workplace: "remote",
  query: "engineer",
});

console.log(`Aggregated ${total} matching roles across companies.`);

The company() Helper

You can also create lazy auto-resolving adapters anywhere using company():

import { company } from "ats-sdk";

// Resolves on first invocation and caches resolution
const stripe = company("stripe");
const {
  jobs,
  total,
  company: name,
} = await stripe.getJobs({
  limit: 10,
});

console.log(`Found ${total} jobs at ${name}`);

You can pass:

  • Company Slugs / Names: "stripe", "openai", "palantir", "datadog"
  • Direct Career URLs: "https://boards.greenhouse.io/stripe", "https://jobs.lever.co/palantir", "https://jobs.ashbyhq.com/linear"
  • Company Career Sites: "https://careers.airbnb.com", "https://about.gitlab.com/jobs"

Standalone detectAts()

To inspect how an ATS is resolved without instantiating an adapter:

import { detectAts } from "ats-sdk";

const result = await detectAts("stripe");

console.log(result);
// {
//   provider: "greenhouse",
//   boardToken: "stripe",
//   confidence: "high",
//   matchedVia: "static_registry"
// }

Detection Strategy Pipeline

ATS SDK uses a 4-tier pipeline to maximize speed and accuracy:

  1. Zero-Latency Static Registry (0ms): Instant in-memory lookup for popular tech companies (Stripe, OpenAI, Figma, Discord, Airbnb, Linear, Palantir, Vercel, Databricks, etc.).
  2. Canonical URL Pattern Matching (0ms): Regex parsing for canonical ATS domains (boards.greenhouse.io, jobs.ashbyhq.com, jobs.lever.co, *.myworkdayjobs.com, etc.).
  3. Career Page HTML Sniffing: Inspects the company's career page HTML for embedded ATS script tags, widget iframes, and JSON endpoint markers.
  4. Parallel API Probing: Concurrently probes public job endpoints across candidate providers with exponential backoff and validates response schemas with Zod, returning as soon as a valid board responds.

On this page