Multi-ATS Job Board Scraper (Greenhouse/Lever/Ashby) avatar

Multi-ATS Job Board Scraper (Greenhouse/Lever/Ashby)

Pricing

$0.80 / 1,000 records

Go to Apify Store
Multi-ATS Job Board Scraper (Greenhouse/Lever/Ashby)

Multi-ATS Job Board Scraper (Greenhouse/Lever/Ashby)

Scrape live job openings from company career pages powered by Greenhouse, Lever and Ashby. Returns title, department, location, salary bands, and apply URL across multiple ATS platforms. No API key. Pay per job; empty runs are free.

Pricing

$0.80 / 1,000 records

Rating

0.0

(0)

Developer

Christian Pichichero

Christian Pichichero

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Multi-ATS Job Board Scraper (Greenhouse/Lever/Ashby) — a fast, reliable ats jobs scraper that needs no API key. You pay only for the results you get: failed or empty runs are always free.

This ats jobs scraper runs on the Apify platform, so you can call it from the API, run it on a schedule, or export results to JSON, CSV, Excel, or Google Sheets.

What this scraper does

  • Extracts structured ats jobs data with no browser or API key required
  • Returns clean JSON, one record per result — ready for sheets, databases, or apps
  • Pay-per-result pricing: you are never charged for a run that returns nothing
  • Runs on demand or on a schedule, and integrates with 5,000+ apps via the Apify API and webhooks

What data you get

Each result record includes fields such as:

  • Company (company) — e.g. "ramp"
  • Title (title) — e.g. "Technical Consultant, Mid-Market"
  • Department (department) — e.g. "Sales"
  • Location (location) — e.g. "Remote (US)"
  • Is Remote (isRemote) — e.g. true
  • Employment Type (employmentType) — e.g. "FullTime"
  • Url (url) — e.g. "https://jobs.ashbyhq.com/ramp/03e2d4e1-73ad-4f09-a058-2e...
  • Salary Text (salaryText) — e.g. "$151K \u2013 $231K \u2022 Offers Equity \u2022 Multiple ...
  • Salary Min (salaryMin) — e.g. 151000
  • Salary Max (salaryMax) — e.g. 231000
  • Posted At (postedAt) — e.g. "2026-07-07T20:47:09.753+00:00"
  • Description Text (descriptionText) — e.g. "About Ramp\nRamp is building the smart infrastructure fo...
  • Source Platform (sourcePlatform) — e.g. "ashby"
  • Job Id (jobId) — e.g. "03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc"

Input

FieldTypeDescription
greenhouseCompaniesarrayGreenhouse board slugs to scrape, e.g. ["stripe","gitlab"]. Hits boards-api.greenhouse.io/v1/boards/{slug}/...
leverCompaniesarrayLever company slugs to scrape, e.g. ["spotify","netflix"]. Hits api.lever.co/v0/postings/{slug}?mode=json.
ashbyOrgsarrayAshby job-board slugs to scrape, e.g. ["ramp"]. Hits api.ashbyhq.com/posting-api/job-board/{slug}?includeCo...
maxResultsintegerCap on records yielded per company/org board. Defaults to 500, hard cap 10000.
remoteOnlybooleanIf true, only keep postings where isRemote is true.
minSalaryintegerDrop postings whose parsed salaryMax (or salaryMin) is below this floor, and any posting with no parsed sal...
employmentTypestringKeep only postings matching this employment type (case/space/hyphen-insensitive), e.g. FullTime, Full-time,...
querystringCase-insensitive substring filter matched against title, department, location and descriptionText.

Example output

{
"type": "job",
"company": "ramp",
"title": "Technical Consultant, Mid-Market",
"department": "Sales",
"location": "Remote (US)",
"isRemote": true,
"employmentType": "FullTime",
"url": "https://jobs.ashbyhq.com/ramp/03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"salaryText": "$151K \u2013 $231K \u2022 Offers Equity \u2022 Multiple Ranges",
"salaryMin": 151000,
"salaryMax": 231000,
"postedAt": "2026-07-07T20:47:09.753+00:00",
"descriptionText": "About Ramp\nRamp is building the smart infrastructure for finance teams...",
"sourcePlatform": "ashby",
"jobId": "03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"scrapedAt": "2026-07-10T00:00:00Z"
}

Use cases

  • Build a job board or aggregator
  • Track hiring trends and open roles by company
  • Benchmark salaries across markets
  • Feed roles into an ATS or recruiting CRM

Run it as a monitor (alerts on new ats jobs)

Schedule this ats jobs scraper to run automatically — hourly, daily, or on any cron schedule — with the built-in Apify Scheduler, and have results pushed to you by webhook, email, Slack, or your own app the moment they're ready. It's the easiest way to monitor ats jobs for changes over time and get alerted the instant something new appears — no manual runs. Because pricing is per result, a scheduled monitor only ever charges you for the data each run actually returns.

Pricing

This actor uses pay-per-result pricing at $0.0008 per record. There is no monthly fee and no start fee — and empty or failed runs cost $0, so you only ever pay for data you actually receive.

Frequently asked questions

Do I need an API key or account for the source? No. This ats jobs scraper works out of the box with no API key required.

What happens if a run returns no results? You are not charged. Billing is per result, so empty or failed runs are free.

Can I run the ats jobs scraper on a schedule? Yes. Use the Apify Scheduler to run it hourly, daily, or on any cron schedule, and get results by webhook or API.

What export formats are supported? Results can be exported as JSON, CSV, Excel, HTML, or pushed to Google Sheets, a database, or your own app via the Apify API.

Is the data structured? Yes. Every ats jobs result is a clean, flat JSON record you can use immediately.