ATS Jobs Scraper & Hiring Monitor: Greenhouse, Lever, Ashby avatar

ATS Jobs Scraper & Hiring Monitor: Greenhouse, Lever, Ashby

Pricing

from $0.80 / 1,000 jobs

Go to Apify Store
ATS Jobs Scraper & Hiring Monitor: Greenhouse, Lever, Ashby

ATS Jobs Scraper & Hiring Monitor: Greenhouse, Lever, Ashby

Scrape job postings from Greenhouse, Lever, Ashby and Workable job boards for any list of companies. Normalized fields, salary ranges, and a hiring monitor with new and removed jobs. Official public APIs, no proxy.

Pricing

from $0.80 / 1,000 jobs

Rating

0.0

(0)

Developer

earlytern

earlytern

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

ATS Jobs Scraper & Hiring Monitor: Greenhouse, Lever, Ashby, Workable, Workday

Get every open job of any list of companies straight from their Greenhouse, Lever, Ashby, Workable and Workday job boards, in one clean table with the same fields for every company: title, department, team, locations, remote/hybrid/on-site, employment type, salary range when the company publishes it, posting date and apply link. Paste board links, company websites or just company names. Schedule it with a monitor name to get only the jobs that are new or taken down since the last run.

What does ATS Jobs Scraper do?

  • Reads the official public job board APIs of Greenhouse, Lever, Ashby and Workable, and the public career sites companies run on Workday. No browser, no proxy, no login.
  • Finds the job board for you: give ramp.com or Hugging Face and the Actor looks for the board on the company's careers page, then tries the usual board names on each system.
  • Returns the same fields for every system, so you can mix hundreds of companies in one dataset.
  • Adds a company summary row: open jobs, jobs by department and by location, remote jobs, jobs with a salary.
  • Hiring monitor: with a monitor name, each run returns only NEW jobs and REMOVED jobs (removed rows are free), plus how the number of open jobs changed.
  • Filters by job title words, excluded words, location, department or team, remote/hybrid/on-site and posting date.
  • Optional full job description as plain text and HTML, with email addresses and phone numbers removed.

Who uses it?

  • Recruiting and staffing agencies: watch the companies you place candidates with and react the day a role opens.
  • Sales teams (hiring signals): a company that opens 10 sales roles or its first data team is buying. Feed new jobs into your CRM, Clay, Make, Zapier or n8n.
  • Job boards and niche job sites: fill your board with fresh jobs from the companies you choose, with salary data.
  • Market and talent research: compare hiring by department, location and salary across companies and over time.

How to use it

  1. Click Try for free.
  2. In Companies, add one company per line, in any of these forms:
    • a job board link: https://boards.greenhouse.io/airbnb, https://jobs.lever.co/spotify, https://jobs.ashbyhq.com/ramp, https://apply.workable.com/huggingface, or a Workday career site such as https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite (a link to one of its jobs works too)
    • a board name with its system: greenhouse:airbnb, lever:spotify, ashby:ramp, workable:huggingface, workday:nvidia.wd5/NVIDIAExternalCareerSite (use lever-eu: for boards on jobs.eu.lever.co)
    • a company website: ramp.com, or the page that lists its jobs
    • a company name: Hugging Face
  3. Set filters if you want only some jobs, and Maximum jobs per company.
  4. Click Start. Small runs finish in seconds. Download the results as JSON, CSV or Excel, or use the API.

To monitor hiring, enter a Monitor name (for example my-targets), then schedule the task daily or weekly. The first run returns every job as NEW; later runs return only changes.

Use with AI agents (MCP)

AI assistants and AI agents can call this Actor through Apify's MCP server at mcp.apify.com or through the Apify API. Questions it answers well:

  • "Which new roles did Ramp open this week?" Use a Monitor name and run it weekly, or set Posted in the last … days to 7 for a one-off answer.
  • "Is Airbnb hiring remote engineers?" Use keywords: ["engineer"] and workplace: "remote".
  • "How many open jobs do these companies have, by department?" Read the company summary rows.

Only companies is required. Keep Maximum jobs per company low (the default is 100) so answers stay short; raise it when you need every job.

Input example

{
"companies": [
"https://boards.greenhouse.io/airbnb",
"lever:spotify",
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
"ramp.com",
"Hugging Face"
],
"keywords": ["engineer", "sales"],
"workplace": "remote",
"postedWithinDays": 30,
"maxJobsPerCompany": 200,
"monitorName": "my-targets"
}

Output example

Real rows from a test run on 2 November 2026 (descriptions shortened). One job row:

{
"type": "job",
"input": "https://jobs.ashbyhq.com/ramp",
"company": "Ramp",
"ats": "ashby",
"boardToken": "ramp",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"department": "Engineering",
"team": "Backend",
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],
"workplaceType": "hybrid",
"isRemote": true,
"employmentType": "Full-time",
"salary": { "min": 211400, "max": 290600, "currency": "USD", "interval": "year", "text": "$211.4K – $290.6K • Offers Equity" },
"postedAt": "2026-04-07T17:12:35.753Z",
"updatedAt": null,
"jobUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"descriptionText": "About Ramp\nRamp is building the smart infrastructure for finance teams…",
"descriptionHtml": "<h1><strong>About Ramp</strong></h1>…",
"monitorStatus": null,
"scrapedAt": "2026-11-02T05:43:11.159Z"
}

One company summary row:

{
"type": "company",
"input": "https://apply.workable.com/huggingface/",
"company": "Hugging Face",
"ats": "workable",
"boardToken": "huggingface",
"boardUrl": "https://apply.workable.com/huggingface/",
"detectedBy": "board-link",
"openJobs": 6,
"matchingJobs": 6,
"remoteJobs": 6,
"jobsWithSalary": 0,
"topDepartments": [{ "name": "Open Source", "count": 2 }, { "name": "Product", "count": 2 }, { "name": "Science", "count": 1 }],
"topLocations": [{ "name": "(not given)", "count": 3 }, { "name": "New York, United States", "count": 1 }],
"newestPostedAt": "2026-09-21T00:00:00.000Z",
"newJobs": null,
"removedJobs": null,
"openJobsChange": null,
"previousRunAt": null,
"scrapedAt": "2026-11-02T05:43:10.748Z"
}

With a monitor, monitorStatus is NEW or REMOVED, and the company row fills newJobs, removedJobs, openJobsChange and previousRunAt. The OUTPUT record of each run says, for every line you entered, which board was read, how many rows it gave, or why it was not found.

How much does it cost?

You pay only for rows you get. No start fee. Prices per 1,000 events, by Apify plan:

EventFreeBronzeSilverGold and up
Job row (with a monitor: each NEW job)$1.50$1.20$1.00$0.80
Company summary row$2.00$1.80$1.50$1.20
Company lookup (board found from a website or name)$5.00$4.50$4.00$3.50
  • REMOVED rows of the monitor are free.
  • The lookup fee is charged once per company, only when the board was found from a website or name and the company gave at least one row. Board links and ats:name lines never pay it, and a monitor remembers found boards, so scheduled runs do not pay it again.
  • Jobs left out by your filters, jobs over your maximum, duplicates and failed companies are not charged.
  • Set a maximum cost per run and the Actor stops cleanly before going over it; with a monitor, NEW jobs it could not deliver are reported as NEW again in the next run.

Example on the Free plan: 1,000 jobs cost $1.50. Monitoring 100 companies daily with about 200 new jobs a day costs about 100 × $0.002 + 200 × $0.0015 = $0.50 a day.

FAQ

Which companies are covered? Any company whose job board runs on Greenhouse, Lever, Ashby or Workable, a large part of tech and venture-backed companies, and large employers whose career site runs on Workday (addresses ending in myworkdayjobs.com). SmartRecruiters, iCIMS and other systems are not covered.

How do I add a Workday company? Open the company's career site and copy its address, for example https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. The wd5 part differs between companies, so a company name alone cannot find a Workday board; a company website works when its careers page links to the Workday site. Workday boards are read only where the career site's robots.txt allows it.

What is different on Workday? Workday lists jobs 20 at a time and the Actor reads each saved job's details one by one, so large Workday boards take longer (about a minute for 100 jobs). The department is the site's job category. Workday career sites do not give salaries. A Workday search shows at most 2,000 jobs; bigger boards are read category by category, and if a category still has more, the monitor reports no removed jobs for that board in that run rather than guess.

Why give a link instead of a name? A link is exact and is never charged a lookup fee. A name is matched to a board with the same name; the company name on the board must match the one you typed. Lever and Ashby do not show a company name, so there only a board named after the whole company name counts. Two companies can still share a name: detectedBy shows how each board was found.

Why are some locations "(not given)"? Some companies hide the location of a job on their board; the Actor keeps it hidden.

Is the salary always there? Only when the company publishes it. Greenhouse and Ashby boards often do (required in many US states), Lever boards sometimes; Workable and Workday job lists do not include salaries.

Which jobs count as NEW in a monitor? A job the board did not list at the previous run. Jobs hidden by your filters or over your Maximum jobs per company count as seen, so changing a filter later does not bring old jobs back as NEW. To get every open job once, make the first monitor run with a high maximum.

How fresh is the data? Live: every run reads the boards at that moment.

Limits

  • Up to 5,000 companies per run and 10,000 jobs per company.
  • At most 2 requests per second to each job board system (1 per second for Lever; each Workday company has its own server), 4 companies at a time; busy servers are retried with a pause.
  • Company websites are read only where their robots.txt allows it, without running JavaScript; if the careers page does not link the board, the Actor tries board names instead.
  • Once 100 websites or names in one run have no board the Actor can find, the remaining websites and names are skipped (board links are still read). Paste board links for large lists.

The Actor reads only job postings that companies publish themselves through the public job board API of their applicant tracking system or their public Workday career site, the same data shown on their public careers pages. It does not log in, does not read candidate data, and removes the email addresses and phone numbers it finds in job descriptions and pay notes. You are responsible for how you use the data, including the terms of the companies and job board systems.

Questions and feedback

Open an issue on the Issues tab.