ATS Job Postings API – Greenhouse, Lever & Ashby avatar

ATS Job Postings API – Greenhouse, Lever & Ashby

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
ATS Job Postings API – Greenhouse, Lever & Ashby

ATS Job Postings API – Greenhouse, Lever & Ashby

Get every open job from company career pages on Greenhouse, Lever and Ashby in one clean schema: title, team, locations, remote, salary, description, apply link. Track new, updated and removed jobs between runs. $1 per 1,000 jobs.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Kumo Data Tools

Kumo Data Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Get every open job from company career pages hosted on Greenhouse, Lever and Ashby – in one clean schema, straight from each company's public job board. Built for job boards, recruiters, market researchers and AI agents.

  • 🏢 Three ATS in one schema – title, department, team, locations, remote, employment type, salary (when the company publishes it), description, job page and apply link, publish date.
  • 🔁 Change tracking – run it daily and get only what changed: new, updated and removed jobs (removed rows are free).
  • 💸 $1 per 1,000 jobs – no start fee beyond Apify's standard one; companies that fail are free.
  • 🔎 Filters – title keywords (include / exclude), location keywords, remote only, posted within N days. You only pay for jobs that pass.
  • 🧭 Auto-detect – paste a board URL, or just the company's board name and we find which ATS it uses.
  • 🤖 Agent-friendly – flat JSON, one item per job, plain-text descriptions for LLMs.

How to use

  1. Add companies to Company job boards, one per line. Any of these work:
    • https://boards.greenhouse.io/stripe or https://job-boards.greenhouse.io/stripe
    • https://jobs.lever.co/palantir
    • https://jobs.ashbyhq.com/ashby
    • greenhouse:stripe, lever:palantir, ashby:ashby, or just stripe (auto-detect)
  2. Optional: set filters.
  3. Optional: turn on Track changes between runs and schedule the Actor daily.
  4. Run. Each job is one dataset item.

Leave the company list empty to try a free sample run with a few fictional jobs.

Where do I find the board name? Open the company's careers page and click a job: the address shows boards.greenhouse.io/NAME, jobs.lever.co/NAME or jobs.ashbyhq.com/NAME.

Pricing

$0.001 per job returned ($1 per 1,000). Jobs removed by your filters, unchanged jobs skipped by change tracking, removed rows and companies that fail are not charged. Each run also has Apify's standard start fee: $0.00005 per run up to 1 GB of memory, plus $0.00005 for each extra GB. Set Max total charge on the run to cap your spend – the run stops before a company that would exceed it. If 50 companies in a row return no job (unknown board names, or filters that match nothing), the run stops and says so – check the names and filters, then run the rest.

Input

FieldDefaultNotes
companies–Up to 500 boards per run
titleKeywords / excludeTitleKeywords–Case-insensitive, any word matches
locationKeywords–e.g. Tokyo, Germany, Remote
remoteOnlyfalseBoard's remote flag, or "Remote" in the location
postedWithinDays0 (any)Jobs without a publish date are dropped when set
descriptionFormattexttext, html or none
trackChanges / onlyChanges / trackerNamefalse / true / ats-job-trackerTracker lives in your own Apify account
maxJobsPerCompany / maxJobsTotal1000 / 00 = no limit
greenhouseSalaryfalseOne extra request per returned Greenhouse job to read its pay range

Output

{
"source": "lever",
"board": "palantir",
"jobId": "6ed76ce8-4156-4b60-b120-403538bd66cd",
"companyName": null,
"title": "Administrative Business Partner",
"department": null,
"team": "Administrative",
"location": "Singapore, Singapore",
"locations": ["Singapore, Singapore"],
"remote": false,
"workplaceType": "hybrid",
"employmentType": "Full-time",
"salary": null,
"url": "https://jobs.lever.co/palantir/6ed76ce8-4156-4b60-b120-403538bd66cd",
"applyUrl": "https://jobs.lever.co/palantir/6ed76ce8-4156-4b60-b120-403538bd66cd/apply",
"publishedAt": "2026-08-11T17:38:11.368000Z",
"updatedAt": null,
"language": null,
"description": "A World-Changing Company\n\nPalantir builds the world’s leadin …",
"changeStatus": "new"
}

changeStatus appears only with change tracking. A per-company summary (jobs listed, returned, errors) is saved as OUTPUT in the run's key-value store.

FAQ

Where does the data come from? Only from each company's public job board endpoints that Greenhouse, Lever and Ashby provide for career sites. No logins, no private data, no third-party job sites. We only use endpoints whose robots.txt allows automated access (checked on 2026-10-21; SmartRecruiters is not supported because its robots.txt disallows it) and pace requests per host (Lever asks for one request per second).

Is personal data included? No profiles or applicants. E-mail addresses that appear inside job descriptions are replaced with [email removed].

Why is a field empty? Each ATS publishes different fields: Greenhouse has no team or workplace type; Lever and Ashby show salary only if the company enabled it; Ashby has no update time.

Can I use the job descriptions? The text belongs to each employer. Use it within your own legal obligations (for example, linking back to the original posting).

Can two runs share a tracker? Not at the same time. Runs that use the same Tracker name should not overlap (a daily schedule is fine); use different names for parallel watch lists.

What about Workday, SmartRecruiters, Indeed or LinkedIn? Not supported. This Actor only uses the official public posting endpoints listed above.

Notes

  • Not affiliated with Greenhouse, Lever or Ashby. Product names are used only to describe compatibility.
  • Problems or a board that does not work? Open an issue on the Actor page – we answer within a few days.