Skip to main content

On This Page

2 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

Every Major ATS Has a Public JSON API for Job Openings. Nobody Uses Them.

Every major ATS—Greenhouse, Lever, Ashby, and SmartRecruiters—exposes a public, keyless JSON API for job openings. These endpoints return full job data with zero HTML parsing and no rate limit drama.

Why This Matters

Key Insights

  • Greenhouse hides departments in its jobs list; fetching the separate /departments endpoint once builds a jobId-to-department map (dev.to, 2026).
  • Lever returns an empty array for both unknown companies and those with zero openings, requiring probing across multiple providers to handle migrations like Plaid’s move from Lever to Ashby (dev.to, 2026).
  • Ashby returns full HTML descriptions unconditionally; filtering on isListed strips unnecessary data before storage (dev.to, 2026).
  • Board tokens vary from company names (e.g., ‘stripe’ works but brands may break), so testing slug variants across all four providers handles naming quirks and provider migrations (dev.to, 2026).

Practical Applications

  • Personal job alerts: Normalize fields across Greenhouse/Lever/Ashby/SmartRecruiters into a single row shape with keyword filter, location filter, and remote flag to avoid manual browsing pitfalls of stale or scattered postings.
  • Niche job boards: Aggregate API data daily at near-zero cost—five companies yield ~163 rows under a penny—compared to expensive headless browser scraping that breaks on page structure changes.
  • Hiring tracker for sales signals: Detect when a company posts three SDR roles as a buying signal for sales tooling; common anti-pattern is assuming all jobs appear on one provider when companies migrate silently between ATS platforms.

References:

Continue reading

Next article

External and Internal Attention: A Single Cognitive Move in Two Directions

Related Content