Greenhouse, Lever and Ashby Jobs Scraper (plus Workable)
Pricing
$1.20 / 1,000 jobs
Greenhouse, Lever and Ashby Jobs Scraper (plus Workable)
One row per position across six applicant tracking systems: role name, team, pay and apply link. Repeat runs return only fresh postings. Covers Greenhouse, Lever and Ashby jobs, plus three more. Costs 1.2 USD per 1,000 jobs.
Pricing
$1.20 / 1,000 jobs
Rating
0.0
(0)
Developer
BEPO Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Features
Share
πΌ What is ATS Jobs?
Vacancies sit behind Greenhouse, Lever, Ashby, SmartRecruiters and Recruitee. ATS Jobs reads those public boards and returns every opening with identical columns, whichever vendor a business chose. Give it career URLs or board tokens, and keep only the jobs that match or were added since last time.
- Niche sites: fill a specialist vacancy site straight from the companies' own career pages
- Sales and recruiting leads: see which companies hire for which teams right now
- Hiring signals: track the open roles of competitors or portfolio companies over time
- Job alerts: schedule a daily run with
onlyNewand send new jobs to Slack or email

β¨ Why use this Actor?
- β Six ATS, one schema: Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee mapped to the same fields
- β Straight from the source: the companies' own public job APIs, no aggregator delay, no login
- β
Only new jobs:
onlyNewreturns only jobs not seen in an earlier run - β Filters: keyword, location and remote only; descriptions on request
- β Retries: backoff on errors; a failed board is reported and not charged
π¦ What data can you get with ATS Jobs?
| πΌ Job title | π’ Company | π Location |
| π Remote flag | π·οΈ Department | π° Salary min, max, currency, period |
| π Posted date (ISO) | π Apply URL and job URL | π§© ATS and board |
| π Job ID | π Description (optional) |
π How to use ATS Jobs
ATS Jobs works in a few clicks, no coding needed:
- Create a free Apify account (the free plan includes 5 USD of monthly credit).
- Open ATS Jobs and click Try for free.
- Paste career page URLs such as
https://boards.greenhouse.io/stripe, optionally a keyword and a location. - Click Start and wait for the run to finish (most runs take seconds).
- Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

β¬οΈ Input
Only boards is required: career page URLs or ats:token board names.
Boards
URLs such as https://boards.greenhouse.io/stripe, https://jobs.lever.co/<company> or https://jobs.ashbyhq.com/ramp.
Keyword and location
keyword matches the role name; location its place text. remoteOnly keeps remote jobs.
Only new
onlyNew remembers the jobs of earlier runs and returns the new ones only, ideal for schedules.
| Field | Type | What it does | Default |
|---|---|---|---|
Job boards (boards) | array | Career URLs (boards.greenhouse.io/stripe, jobs.lever.co/spotify, jobs.ashbyhq.com/ramp, apply.workable.com/huggingface, jobs.smartrecruiters.com/BoschGroup, bunq.recruitee.com) or ats:token such as greenhouse:stripe. | ["https://boards.greenhouse.io/stripe"," |
Keyword (keyword) | string | Keep jobs whose title or department contains all these words, e.g. | |
Location (location) | string | Keep jobs whose location contains this text, e.g. | |
Remote only (remoteOnly) | boolean | Keep only jobs marked remote. | false |
Only new since last run (onlyNew) | boolean | For scheduled runs: return only jobs not returned by an earlier run with this option on (remembered in the key-value store ats-jobs-seen). | false |
Include job description (includeDescription) | boolean | Add each job's description as plain text (description) and HTML (descriptionHtml). | false |
Maximum jobs per board (maxJobsPerBoard) | integer | Cap per board after the filters. | 500 |
Maximum retries (maxRetries) | integer | Retries per request with exponential backoff. | 4 |

Input example
{"boards": ["https://boards.greenhouse.io/stripe","https://jobs.lever.co/leverdemo","https://jobs.ashbyhq.com/ramp"],"keyword": "engineer","maxJobsPerBoard": 20}
β¬οΈ Output
Each opening becomes one row with the same fields. The run summary (OUTPUT) lists every board with the counts found and kept, and the error if one failed.

Output example
One row of the dataset (Stripe on Greenhouse, keyword engineer, a real run of 2026-10-16):
{"title": "Abuse Research Engineer","company": "Stripe","location": "Remote from the US","remote": true,"department": "8611 Security Analytics","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"postedAt": "2026-09-09T14:52:09.000Z","applyUrl": "https://stripe.com/jobs/search?gh_jid=8172503","jobUrl": "https://stripe.com/jobs/search?gh_jid=8172503","sourceAts": "greenhouse","board": "greenhouse:stripe","jobId": "8172503"}
View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.
π° How much does ATS Jobs cost?
ATS Jobs is priced per event: 1.2 USD per 1,000 jobs (0.0012 USD per job), with no monthly rental. Only saved rows are charged; failures cost nothing.
| You get | You pay |
|---|---|
| 100 jobs | 0.12 USD |
| 1,000 jobs | 1.2 USD |
| 10,000 jobs | 12 USD |
| 100,000 jobs | 120 USD |
π‘ Apify's free plan gives you 5 USD of credit every month, enough for about 4,166 jobs at no cost. Set a spending limit per run and the Actor stops there.
βοΈ ATS Jobs vs. the alternatives
| ATS Jobs | Single-ATS scrapers | Visiting career pages | |
|---|---|---|---|
| Six ATS in one run | β | β one each | β |
| Same fields for every ATS | β | β | β |
| Only new jobs since the last run | β | rarely | β |
| Schedules, API and MCP | β | β | β |
π Integrations, API and MCP
Connect ATS Jobs to your AI agent (MCP)
Give Claude, ChatGPT, Cursor or any MCP client direct access to ATS Jobs through the Apify MCP server. Add this URL to its settings:
https://mcp.apify.com/?actors=bepolabs/ats-jobs
For Claude Desktop, add it under mcpServers in claude_desktop_config.json:
{"mcpServers": {"ats-jobs": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","bepolabs/ats-jobs"],"env": {"APIFY_TOKEN": "<your Apify API token>"}}}}
Then ask: "List all open engineering jobs at Stripe and Ramp that are remote in the US, with title and apply link."
Run it from your code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("bepolabs/ats-jobs").call(run_input={"boards":["https://boards.greenhouse.io/stripe","https://jobs.lever.co/leverdemo","https://jobs.ashbyhq.com/ramp"],"keyword":"engineer","maxJobsPerBoard":20})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('bepolabs/ats-jobs').call({"boards":["https://boards.greenhouse.io/stripe","https://jobs.lever.co/leverdemo","https://jobs.ashbyhq.com/ramp"],"keyword":"engineer","maxJobsPerBoard":20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
No-code integrations
Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.
β FAQ
Which ATS are supported?
Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee, through their public job board APIs.
Can I combine it with job boards?
Yes. Our Remote Jobs Actor returns the same schema, so both merge into one table.
Are salaries included?
Where the company publishes them in its ATS; otherwise the salary fields are null.
Is it legal to use ATS Jobs?
The Actor reads the public APIs that the ATS vendors offer so companies can publish their openings anywhere. Link to applyUrl when you display a vacancy, and follow the terms of the ATS and the company if you republish the listings.
What if something is missing or does not work?
Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.
π¬ Your feedback
Tell us what ATS Jobs should add on the Issues tab or leave a review; your notes decide what we work on next.
π Related Actors
| Actor | What it does |
|---|---|
| π Remote Jobs | Remote jobs from Remote OK, Himalayas, Jobicy and Arbeitnow in one deduped feed, with salary, posted date and apply link. |
| π Domain RDAP and DNS | Domains to registrar, creation and expiry dates, age, status, nameservers, DNSSEC and DNS records from official RDAP, in bulk. |
| π OpenStreetMap Places | Shops, restaurants and offices in any city or area, with address, phone, website, opening hours and coordinates. |
| π§© Tech Stack Detector | Any list of domains to the technologies behind each site: CMS, shop, framework, analytics, CDN and hosting. |
| π Website Contacts | Company websites to emails, phone numbers and social profiles, one row per site, with a status that says why nothing was found. |
| π Google Sheets Import and Export | Send any Apify dataset or JSON to a Google Sheet (append, replace or upsert by key), or read a sheet back as clean rows. |
| π§ Email Verifier | Bulk email validation over DNS: valid, risky or invalid per address, with the reasons, a score, a typo fix, throwaway and shared-inbox flags. |
| π’ Google Ads Transparency Scraper | Every ad a company runs on Google, by domain, advertiser ID or name, from the Ads Transparency Center. |