Greenhouse, Lever and Ashby Jobs Scraper (plus Workable) avatar

Greenhouse, Lever and Ashby Jobs Scraper (plus Workable)

Pricing

$1.20 / 1,000 jobs

Go to Apify Store
Greenhouse, Lever and Ashby Jobs Scraper (plus Workable)

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

BEPO Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Features

Limited permissions

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 onlyNew and send new jobs to Slack or email

ATS Jobs: Every open job from company career boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in one deduped feed.

✨ 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: onlyNew returns 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:

  1. Create a free Apify account (the free plan includes 5 USD of monthly credit).
  2. Open ATS Jobs and click Try for free.
  3. Paste career page URLs such as https://boards.greenhouse.io/stripe, optionally a keyword and a location.
  4. Click Start and wait for the run to finish (most runs take seconds).
  5. Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

How ATS Jobs works

⬇️ 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.

FieldTypeWhat it doesDefault
Job boards (boards)arrayCareer 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)stringKeep jobs whose title or department contains all these words, e.g.
Location (location)stringKeep jobs whose location contains this text, e.g.
Remote only (remoteOnly)booleanKeep only jobs marked remote.false
Only new since last run (onlyNew)booleanFor 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)booleanAdd each job's description as plain text (description) and HTML (descriptionHtml).false
Maximum jobs per board (maxJobsPerBoard)integerCap per board after the filters.500
Maximum retries (maxRetries)integerRetries per request with exponential backoff.4

ATS Jobs input form

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.

ATS Jobs output table

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 getYou pay
100 jobs0.12 USD
1,000 jobs1.2 USD
10,000 jobs12 USD
100,000 jobs120 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 JobsSingle-ATS scrapersVisiting 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 ApifyClient
client = 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.

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.

ActorWhat it does
🌍 Remote JobsRemote jobs from Remote OK, Himalayas, Jobicy and Arbeitnow in one deduped feed, with salary, posted date and apply link.
🌐 Domain RDAP and DNSDomains to registrar, creation and expiry dates, age, status, nameservers, DNSSEC and DNS records from official RDAP, in bulk.
πŸ“ OpenStreetMap PlacesShops, restaurants and offices in any city or area, with address, phone, website, opening hours and coordinates.
🧩 Tech Stack DetectorAny list of domains to the technologies behind each site: CMS, shop, framework, analytics, CDN and hosting.
πŸ“‡ Website ContactsCompany 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 ExportSend any Apify dataset or JSON to a Google Sheet (append, replace or upsert by key), or read a sheet back as clean rows.
πŸ“§ Email VerifierBulk 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 ScraperEvery ad a company runs on Google, by domain, advertiser ID or name, from the Ads Transparency Center.
⌂ 捒网址