Skip to content
jobpostingsapi.com

Unified ATS API · Greenhouse + Lever + Ashby + Workday + 430 More

434 ATS vs 1 by 1
sources normalized into one JSON schema.

Building and maintaining custom crawlers for Greenhouse, Lever, Ashby, Workday, iCIMS, Taleo, SmartRecruiters, and Personio takes months of engineering and constant board-token discovery. JobPostings API gives you 580,000+ pre-discovered employer boards and a single normalized schema.

Cost per 1,000 structured ATS job records

JobPostings API (Growth $0.49 · Scale $0.199)$0.199 – $0.76
TheirStack & Coresignal ($200–$800/mo min)$6.50+

1 Credit = 1 Returned Job Record. Empty search results (0 matches) cost 0 Credits. Crypto top-ups automatically include +5% Bonus Credits.

Side-by-side comparison.

JobPostings API compared with DIY Multi-ATS Integrations, Merge.dev / Kombo, and Custom Board Scrapers
CapabilityJobPostings APIgreenhouse.ioMerge.dev / KomboCustom Board Scrapers
Requires employer OAuth / admin credentials?No — queries public ATS boards & career sitesNo, but requires discovering every board tokenYes (requires customer HR admin OAuth)No
Pre-discovered employer ATS boards580,000+ live boards across 434 sources0 (you must build your own board list)Only connected customersManual seed list
On-demand ETag refresh (?refresh=true)Built-in for Greenhouse, Lever & AshbyManual implementationPer-customer syncManual implementation
Free domain-to-ATS detector endpointGET /v1/tools/ats-detector?domain=stripe.com (0 Credits)NoneNoneNone

Competitor pricing verified from public pricing pages as of November 2026. Actual costs may vary based on plan tier, concurrency add-ons, and overage rates. All third-party trademarks are the property of their respective owners. JobPostings API rates: $0.199 / 1K jobs (Scale), $0.33 / 1K jobs (Pro), $0.76 / 1K jobs (Starter).

Why engineering teams switch from DIY Multi-ATS Integrations.

No HR Admin OAuth Required (Unlike Merge.dev or Finch)

Unified HR APIs like Merge.dev only work when each employer authorizes your app via OAuth. JobPostings API indexes public ATS boards across 580,000+ employers so you can query any company immediately.

Instant ATS Detection + Live Board Refresh

Use GET /v1/tools/ats-detector?domain=company.com to identify any company's ATS platform and board token for free, then call GET /v1/companies/{slug}/jobs?refresh=true for live ETag polling.

Query Greenhouse, Lever, Ashby & Workday with One Schema

Stop writing separate parsers for boards-api.greenhouse.io, api.lever.co, and jobs.ashbyhq.com:

Before (Separate Parsers & Board Discovery per ATS)
gh = requests.get("https://boards-api.greenhouse.io/v1/boards/stripe/jobs?content=true").json()["jobs"]
lv = requests.get("https://api.lever.co/v0/postings/palantir?mode=json").json()
ab = requests.get("https://api.ashbyhq.com/posting-api/job-board/openai").json()["jobs"]
# 3 completely different JSON structures, no salary/skills normalization
After (JobPostings API — Normalized Schema + Live ETag Refresh)
import requests

# Search across all ATS platforms or refresh a specific company board live
res = requests.get(
    "https://api.jobpostingsapi.com/v1/companies/stripe/jobs",
    headers={"x-api-key": "jp_live_your_api_key"},
    params={"refresh": "true", "limit": 25},
)
print(res.json()["data"])

Interactive Engineering Workbench · Benchmark vs DIY Multi-ATS Integrations

Verify real-time latency, pagination math & JSON schema

5,000 jobs/day
2,000 records/day
500 checks/day
HTTP Calls / Day
570
100 jobs/page batching
ATS Sources Covered
434 Sources
1 JSON schema
Empty Search Fee
0 Credits
$0.00 for 0 results
Estimated Monthly Pipeline Cost (30 Days)
$44.78/ mo at Scale rate ($74.25 at Pro rate)
Monthly consumption: 225,000 Credits (7,500 Credits/day)
JobPostings API (Scale $0.199/1K):$44.78 / mo
Legacy Enterprise Job Feeds:$1012.50 / mo
Empty search / 4xx error fee:$0.00 (0 Credits)

Frequently asked questions

How does ?refresh=true work under the hood?
When you pass refresh=true on /v1/companies/{slug}/jobs for a Greenhouse, Lever, or Ashby company, our gateway sends a conditional HTTP request with If-None-Match (ETag) and Accept-Encoding: gzip to the official public ATS endpoint, upserts any changes into PostgreSQL, and returns the fresh job list.

Test it against DIY Multi-ATS Integrations for free.

Every new account receives 500 free Credits immediately — no card required.