ATS Jobs Scraper: Greenhouse, Lever, Workday, Workable +9 avatar

ATS Jobs Scraper: Greenhouse, Lever, Workday, Workable +9

Pricing

from $1.05 / 1,000 jobs

Go to Apify Store
ATS Jobs Scraper: Greenhouse, Lever, Workday, Workable +9

ATS Jobs Scraper: Greenhouse, Lever, Workday, Workable +9

Scrape open jobs from 13 ATS career pages: Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, BambooHR, Breezy, Pinpoint, Rippling, Teamtailor. One clean format, salaries, remote flag, filters, new-jobs-only mode.

Pricing

from $1.05 / 1,000 jobs

Rating

0.0

(0)

Developer

Ctrio Lab

Ctrio Lab

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Share

ATS Jobs Feed: Greenhouse, Lever, Ashby, Workday, Workable, Recruitee, Personio, BambooHR and more in one format

Get every open job from company career pages in one normalized dataset. Paste career page URLs or just company names and the Actor pulls jobs from 13 popular applicant tracking systems (ATS):

ATSExample input
Greenhouseboards.greenhouse.io/stripe
Leverjobs.lever.co/spotify
Ashbyjobs.ashbyhq.com/ramp
SmartRecruiterscareers.smartrecruiters.com/BoschGroup
Workdaynvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
Workableapply.workable.com/huggingface
Recruiteebunq.recruitee.com
Personiodeskbird.jobs.personio.de (or .com)
BambooHRd1g1t.bamboohr.com/careers
Breezy HRbeli.breezy.hr
Pinpointworkwithus.pinpointhq.com
Rippling ATSats.rippling.com/rippling/jobs
Teamtailorecoonline.teamtailor.com or teamtailor:careers.yourcompany.com for a custom domain
Company name onlyNotion (auto-detects Greenhouse, Ashby, Lever, Workable or Recruitee)

You can also force an ATS with a prefix, for example workable:huggingface, recruitee:bunq or personio:deskbird.

It works as a Workable jobs scraper, a Recruitee jobs API client, a Personio jobs XML reader, a BambooHR careers scraper, a Breezy HR jobs scraper, a Rippling ATS jobs scraper and a Teamtailor jobs feed, all with the same output fields as Greenhouse, Lever and Workday.

Why use it

  • One schema for all ATS. Same fields whether the job came from Greenhouse, Workday, Workable or BambooHR. No more thirteen scrapers and thirteen parsers.
  • Salary ranges extracted. Structured pay data from Ashby, Lever, Recruitee, Pinpoint and Rippling, the salary line from Breezy HR, plus pay transparency ranges parsed from job descriptions on the other ATS.
  • New jobs only mode. Schedule the Actor daily and get only jobs that appeared since the last run. Perfect for job alerts, sales signals and hiring trackers.
  • Fast and reliable. Uses the public job board endpoints that companies publish for their own career sites. No browser, no login, no proxies.
  • Filters built in. Title keywords, excluded words, locations, remote only, posted within N days.

Use cases

  • Recruiting and job boards: build a niche job board (remote, AI, climate, Web3) from hundreds of company boards.
  • Sales intelligence: companies hiring for "Data Engineer" or "Head of Security" are buying signals.
  • Market research: track hiring by department, location and salary across competitors.
  • AI agents: call it from an agent via the Apify MCP server to answer "which fintech companies are hiring remote backend engineers?"

Output example

{
"source": "ashby",
"company": "Ramp",
"title": "Senior Software Engineer, Backend",
"department": "Engineering",
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)", "Remote (US)"],
"remote": true,
"workplaceType": "hybrid",
"employmentType": "FullTime",
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"postedAt": "2026-09-30T14:02:11.000Z",
"url": "https://jobs.ashbyhq.com/ramp/...",
"applyUrl": "https://jobs.ashbyhq.com/ramp/.../application",
"id": "ashby:ramp:5f7a...",
"scrapedAt": "2026-10-02T09:00:00.000Z"
}

Turn on Include full job description to also get descriptionText and descriptionHtml.

remote follows the work arrangement the company set in its ATS: remote jobs are true, on-site jobs are false, and hybrid jobs are true only when one of their locations is a remote location (like "Remote (US)" above). When the ATS has no work arrangement, remote is true if the ATS flags the job as remote or a location says remote or home based (for example "Remote (US)" or "Home based - Worldwide"). A plain country or city name never counts as remote.

Pricing

You pay only for jobs saved to the dataset. Filters run before saving, so filtered-out jobs cost nothing. Set a maximum cost per run in the run options and the Actor stops cleanly when it is reached.

Tips

  • Find a company's board: open its careers page and look at the job links. URLs containing greenhouse.io, lever.co, ashbyhq.com, smartrecruiters.com, myworkdayjobs.com, workable.com, recruitee.com, jobs.personio.de, bamboohr.com, breezy.hr, pinpointhq.com, ats.rippling.com or teamtailor.com work directly.
  • Recruitee and Teamtailor career sites often run on the company's own domain. For Recruitee use the company.recruitee.com address; for Teamtailor use teamtailor:careers.company.com.
  • Some ATS publish fewer fields: BambooHR and Rippling add posting dates, pay ranges and descriptions only when Include full job description is on, and Pinpoint does not publish posting dates.
  • For Workday, paste the URL of the job search page, for example https://company.wd1.myworkdayjobs.com/en-US/External. Workday shows at most about 2,000 jobs per board, and jobs posted in several places take one extra request each to list every location.
  • Use different watchlist name values for different watchlists in new-jobs mode.
  • A board that does not exist (for example a typo in the board name) is skipped with a warning in the log, and the run status lists every board that was not found. The RUN_SUMMARY record in the key-value store shows which boards were found, skipped or failed.

How to scrape Greenhouse, Lever or Workday jobs in 3 steps

  1. Collect the career page URLs of the companies you want (for example boards.greenhouse.io/stripe, jobs.lever.co/spotify, nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite). Company names also work for Greenhouse, Ashby, Lever, Workable and Recruitee.
  2. Paste them into Career pages or company names, add title keywords or locations if you only want some roles, and click Start.
  3. Download the dataset as JSON, CSV or Excel, or connect it to Google Sheets, Slack, Zapier, Make or a webhook. For a daily job alert, schedule the Actor and turn on Only new jobs.

A guide with input examples for every ATS: https://ctriolab.com/jobs/ats-jobs-api/

Which option should I use?

OptionGood forLimits
This ActorJobs from many companies on 13 ATS in one format, scheduled alerts, salary fieldsOnly companies that use one of the 13 supported ATS
Each ATS's own public APIOne ATS, if you want to write and maintain the code yourself13 different formats, pagination rules and rate limits to handle
LinkedIn or Indeed scrapersVery broad search across all employersReposted and duplicate listings, more blocking, data is a copy of the original posting
Paid job data feedsMillions of companies, historical dataUsually annual contracts

FAQ

Does Greenhouse have a public jobs API? Yes. Greenhouse publishes a public Job Board API for every company board (boards-api.greenhouse.io/v1/boards/{company}/jobs). This Actor uses it, so you do not need an API key.

Can I get Workday jobs without a browser? Yes. Paste the Workday job search URL. The Actor reads the same JSON endpoint that the Workday career site uses, 20 jobs per request, up to about 2,000 jobs per board.

How do I find which ATS a company uses? Open any job on the company's careers page and look at the link. Or just enter the company name and the Actor tries Greenhouse, Ashby, Lever, Workable and Recruitee for you.

Do I need proxies or a login? No. All 13 ATS publish their job boards publicly for applicants.

How much does it cost? $1.50 per 1,000 jobs saved, plus a tiny start fee per run. Jobs removed by your filters are free. Checking 50 companies once a day in new-jobs mode usually costs a few cents a day.

Can an AI agent use this? Yes. Add the Apify MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor or another MCP client and ask for ctriolab/ats-jobs-feed. The agent can then answer questions like "which of these 30 companies are hiring data engineers in Berlin?"

Can I get salary data? Yes, when the company publishes it: structured pay ranges from Ashby, Lever, Recruitee, Pinpoint and Rippling, and ranges parsed from the description text for the others.

Open-source helper

Only need Greenhouse, Lever or Ashby for a few companies? Our free MIT script ctriolab/ats-jobs returns the same field names. Use this Actor when you need Workday and the other ATS, auto-detection, new-jobs-only monitoring or schedules.

The Actor reads job postings that companies publish publicly for applicants. It does not log in and does not collect applicant data. You are responsible for using the data in line with applicable laws and the terms of the sites involved.

Questions or a missing ATS? Open an issue on the Issues tab and we usually reply within 48 hours.