ATS Jobs Feed: Greenhouse, Lever, Ashby, Workday + 5 more
Pricing
$2.00 / 1,000 jobs
ATS Jobs Feed: Greenhouse, Lever, Ashby, Workday + 5 more
Get every open job from a company's own careers board: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio and Breezy HR. One clean schema with salary, remote flag, location, department, dates and apply link. Auto-detects the ATS from a URL or company name.
Pricing
$2.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Angad Jangir
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Security
Limited permissionsShare
ATS Jobs Feed: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters jobs in one schema
Get every open job from a company's own careers board as clean JSON, CSV or Excel. Paste careers-page URLs or company names, and the Actor finds the applicant tracking system (ATS), reads its public job-board feed and returns all jobs in one normalised schema: title, department, team, locations, country, remote flag, workplace type, employment type, seniority, salary range, posting date, apply link and the full description.
Nine ATSs are supported: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio and Breezy HR. The data comes straight from the employer's own job board, so it is fresher and more complete than job aggregators, with no duplicates from reposts.
Who uses it
- Job boards and niche job sites that list jobs from hundreds of companies and need one clean feed.
- Recruiters and staffing agencies watching target companies for new roles.
- Sales and investment teams that use hiring as a signal: a company hiring 10 data engineers or its first sales lead is a warm lead.
- Analysts and HR teams benchmarking salaries, remote policies and hiring by department.
- AI agents that need live job data. The Actor can be called as a tool through the Apify MCP server.
Supported ATSs
| ATS | Careers URL looks like | Plain name works | Salary | Description |
|---|---|---|---|---|
| Greenhouse | boards.greenhouse.io/discord, job-boards.greenhouse.io/discord | yes | yes, when the company publishes pay ranges | yes |
| Lever (US and EU) | jobs.lever.co/spotify, jobs.eu.lever.co/... | yes | yes, when set | yes |
| Ashby | jobs.ashbyhq.com/ramp | yes | yes, when shown on the posting | yes |
| Workday | nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite | no, paste the URL | from the text, when written there | yes |
| Workable | apply.workable.com/huggingface | yes | from the text, when written there | yes |
| SmartRecruiters | jobs.smartrecruiters.com/BoschGroup | yes | from the text, when written there | yes |
| Recruitee | bunq.recruitee.com | yes | yes, when set | yes |
| Personio | tado.jobs.personio.de | yes | from the text, when written there | yes |
| Breezy HR | company.breezy.hr | yes | yes, when set | no |
When the ATS has no salary field, the Actor looks for a pay range written in the description (for example "$87,069 - $124,385" or "€60.000 - €75.000 per year") and fills salaryMin, salaryMax, salaryCurrency and salaryPeriod from it. The original wording is kept in salaryText.
How to find a company's board name
- Open the company's careers page and click any job.
- Look at the address bar, or the address of the "Apply" button. It usually goes to one of the domains in the table above.
- Paste that URL into Companies. The Actor reads the board name from it.
If you only know the name, type it (for example ramp or discord). The Actor tries every ATS except Workday and keeps the ones that answer. To skip the guessing, write ashby:ramp, or set ATS for plain names. Workday always needs the full careers URL, because its address contains a server number and a site name.
Example inputs
Engineering jobs at three companies on three different ATSs:
{"companies": ["https://boards.greenhouse.io/discord", "https://jobs.lever.co/spotify", "ramp"],"keywords": ["engineer"],"keywordsMatch": "title","maxItems": 500}
Remote roles posted in the last 7 days, without descriptions (small and fast):
{"companies": ["https://jobs.ashbyhq.com/ramp", "https://apply.workable.com/huggingface", "https://boards.greenhouse.io/gitlab"],"remoteOnly": true,"postedWithinDays": 7,"includeDescription": false}
Sales jobs in Germany at a large Workday and SmartRecruiters employer, at most 50 per company:
{"companies": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite","https://jobs.smartrecruiters.com/BoschGroup"],"keywords": ["sales"],"locations": ["Germany"],"maxItemsPerCompany": 50}
Output
Each job is one record. Fields the ATS does not have are null, so every record has the same columns.
{"jobId": "8910013002","title": "Senior Machine Learning Engineer (Growth)","company": "Discord","companySlug": "discord","ats": "greenhouse","department": "Product Engineering","team": null,"location": "San Francisco Bay Area","locations": ["San Francisco Bay Area", "San Francisco, California, United States"],"country": "US","isRemote": false,"workplaceType": null,"employmentType": null,"seniority": "senior","salaryMin": 220000,"salaryMax": 275000,"salaryCurrency": "USD","salaryPeriod": "year","salaryText": "Base Salary: 220000-275000 USD","postedAt": "2026-11-04T19:52:48.000Z","updatedAt": "2026-11-04T20:10:36.000Z","applyUrl": "https://job-boards.greenhouse.io/discord/jobs/8910013002","jobUrl": "https://job-boards.greenhouse.io/discord/jobs/8910013002","descriptionText": "Discord has a highly engaged community of millions of daily active users ...","source": "https://boards-api.greenhouse.io/v1/boards/discord/jobs","scrapedAt": "2026-11-05T14:55:58.783Z"}
| Field | What it is |
|---|---|
jobId, title, company, companySlug, ats | The job and where it came from |
department, team | As the company files the job |
location, locations, country | Main location, all locations, ISO country code (from the ATS, or worked out from the location) |
isRemote, workplaceType | isRemote is true when the job can be done remotely in at least one of its locations; workplaceType is remote, hybrid or onsite as the ATS states it |
employmentType | Full-time, Part-time, Contract, Internship or Temporary |
seniority | intern, entry, mid, senior, lead, principal, manager, director or executive, from the ATS or the title |
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText | Pay range and the period it is for (year, month, hour) |
postedAt, updatedAt | ISO dates |
applyUrl, jobUrl | Application form and job page |
descriptionText | Full description as plain text (turn off with Include description text) |
descriptionHtml | Original HTML, only when Include description HTML is on |
The run's SUMMARY record (key-value store) lists, for every company you entered, which ATS it was found on, how many jobs the board had, how many matched your filters and how many were saved, plus a clear message for any company that was not found.
Filters
- Keywords: any of the words, in the title only or in the title, department and description.
- Exclude words: drop titles with any of these words (for example
intern,senior). - Locations: location contains any word; country names, codes and
Remotework. - Departments, Remote jobs only, Posted within (days).
- Max jobs and Max jobs per company (newest jobs first).
Pricing
You pay per job saved to the dataset. Jobs removed by your filters cost nothing. Max jobs is a hard cap, so you always know the most a run can cost.
Schedules, webhooks and integrations
- Daily new-job alerts: save your input as a Task, add a Schedule (for example every morning), and set Posted within (days) to 1.
- Google Sheets, Slack, email, Zapier, Make, n8n: connect them in the Integrations tab to send each run's jobs where you need them.
- Webhooks: get a call when a run finishes and fetch the dataset from the API.
- MCP / AI agents: the Actor works as a tool in the Apify MCP server, so an agent can ask "what roles is Ramp hiring for in New York?" and get structured data back.
FAQ
Is this legal? The Actor reads only the public job-board feeds that each ATS provides so companies can show their jobs on their own careers pages, and that anyone can open without logging in. It does not log in, solve captchas or get around any protection, and it reads at a polite pace. You are responsible for how you use the data.
A company was "not found". Why? Many companies host their careers page on their own domain, so the name you typed may not be their ATS board name. Open one of their jobs, copy the URL of the job or its Apply button, and paste that instead.
Why do I get two boards for one name? For a plain name the Actor tries every ATS, and sometimes two different companies use the same name on two ATSs. Each record has ats and companySlug, and you can set ATS for plain names or write lever:name to pick one.
Does it work for very large employers? Yes. Big SmartRecruiters and Workday boards are read page by page, and only the jobs that pass your filters and limits get the extra description call, so runs stay quick.
How fresh is the data? Live from the ATS at run time.
Something broke or a field is missing? Open an issue on the Actor's Issues tab and it will be fixed quickly.
More Actors by angadseth
- GeM Tenders Scraper (India Government e-Marketplace Bids): Get live GeM bids and reverse auctions from India's Government e-Marketplace
- India eProcurement Tenders Scraper (CPPP + 30 State Portals): Live government tenders from India's central eProcure (CPPP), central PSU, defence and 30+ state NIC eProcurement portals in one run.
- Apple App Store Scraper: apps, ratings and reviews: Get Apple App Store apps, ratings and customer reviews from many countries in one run
- Bluesky Scraper: Posts, Profiles, Followers and Feeds: Scrape Bluesky without a login
- Website Contact Enricher: Emails, Phones, Socials per Domain: One clean lead row per company domain
- Website Screenshot & PDF: full page, mobile, element, WebP: Screenshots (PNG, JPEG, WebP) and PDFs of any list of URLs.
- Remote Jobs Aggregator: RemoteOK, Jobicy, Arbeitnow + 2 more: Remote jobs from RemoteOK, Jobicy, Arbeitnow, Working Nomads and 4 Day Week in one clean feed.
- PDF & Document Text Extractor: PDF, DOCX, PPTX, XLSX to Text: Turn public document URLs (PDF, DOCX, PPTX, XLSX, CSV, HTML, TXT) into clean text