Careers Jobs Scraper: Greenhouse, Lever, Ashby, Workday avatar

Careers Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Pricing

from $1.50 / 1,000 jobs

Go to Apify Store
Careers Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Careers Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Every open job from a list of companies' careers sites in one clean format, or only the jobs that are new or closed since your last run. Paste careers URLs, domains or board names.

Pricing

from $1.50 / 1,000 jobs

Rating

0.0

(0)

Developer

scraperworks

scraperworks

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Company Careers Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Get every open job from a list of companies' careers sites, in one clean format. Or switch on watch mode and get only what changed since your last run: new jobs, and jobs that closed.

Paste careers links, company websites or board names. jobs-watch works out which hiring system each company uses (Greenhouse, Lever, Ashby, Workday, Recruitee or Personio) and reads its public job feed directly.

Who it's for

  • Recruiters and agencies watching target companies for new openings.
  • Job boards and newsletters that list jobs from a set of companies.
  • Sales teams using hiring as a buying signal ("they're hiring five data engineers").
  • Investors and analysts tracking which teams are growing.
  • AI agents that need "open roles at company X" in the middle of a task.

What makes it different

  • Six systems in one Actor. Greenhouse, Lever, Ashby and Workday, plus Recruitee and Personio, with identical fields whatever the source.
  • Paste anything. https://boards.greenhouse.io/airbnb, jobs.lever.co/palantir, bunq.recruitee.com, ramp.com or just discord all work.
  • Watch mode built in. Schedule it daily and get only the new and closed jobs, not the same list again.
  • Salary when the company lists it (Ashby, Lever, Recruitee and Personio), never guessed.
  • Big Workday boards in full. Workday's own pages stop at 2,000 jobs; jobs-watch fetches past that.
  • No personal data. Email addresses and phone numbers are removed from descriptions.

Input

FieldWhat it does
CompaniesOne per line: a careers or job-board link, a company website, or a board name. Up to 1,000 per run
What to returnAll open jobs, or Only changes since my last run (watch mode)
Job title containsKeep titles containing any of these words (not case-sensitive)
Job title must not containDrop titles containing any of these, e.g. intern
LocationsKeep jobs in any of these places, e.g. london, germany, remote
Remote jobs onlyKeep only remote jobs
Include job descriptionsFull description as text and HTML (on by default)
Max jobs per company0 means no limit

Example:

{
"companies": ["https://boards.greenhouse.io/airbnb", "jobs.lever.co/palantir", "ramp.com",
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],
"mode": "watch",
"titleKeywords": ["engineer"],
"excludeTitleKeywords": ["intern"],
"locations": ["remote", "new york"]
}

Output

One row per job. A real example (description shortened):

{
"company": "ramp",
"ats": "ashby",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"department": "Engineering",
"team": "Backend",
"locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],
"country": null,
"workplaceType": "hybrid",
"employmentType": "full-time",
"postedAt": "2026-04-07T17:12:35Z",
"updatedAt": null,
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"url": "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>…",
"status": "new",
"firstSeenAt": "2026-10-17T09:00:00Z",
"scrapedAt": "2026-10-17T09:00:00Z"
}
  • status is open in "All open jobs" mode. In watch mode it's new (not there last run) or closed (there last run, gone now). Closed rows carry the title, link and locations from when the job was open.
  • country is filled when the job's locations point to one country, and left empty when they span several.
  • Fields a source doesn't provide are null, never guessed.
  • A company that can't be found or fails gets one error row ("status": "error") saying why. The rest of the run carries on, and that company's jobs are not marked closed.

Watch mode

jobs-watch remembers, in a storage in your own Apify account, which jobs it has shown you for each company list. The next run with the same list returns only the differences. Changing filters doesn't make jobs look closed. Use a different company list and it starts fresh. The first watch run returns everything as new.

Tip: create an Apify schedule that runs it daily or weekly, and connect a webhook, Slack or email integration to get the new jobs delivered.

Pricing

Pay per result:

EventPrice
Job returned$1.50 per 1,000 jobs
Closed job (watch mode)$0.50 per 1,000

Error rows are free. Set a maximum cost per run in Apify and jobs-watch stops cleanly when it's reached; jobs it didn't get to are still reported as new next time.

FAQ

Is this allowed? jobs-watch reads only public job postings, the same feeds the companies' own careers pages use, with no login. Greenhouse and Lever document these feeds as public. It sends requests at a gentle pace and follows each site's robots.txt.

A company returns an error row "couldn't find a job board". Its careers page may build the job list in the browser, or it may use a system jobs-watch doesn't read yet. Paste a direct job-board link instead (open one job from their careers page and copy the address).

Does it support Recruitee and Personio? Yes: paste the company's name.recruitee.com or name.jobs.personio.de link. Many Personio sites ask automated tools not to read them (their robots.txt); jobs-watch respects that and returns an error row saying so, free.

Does it support SmartRecruiters? No. SmartRecruiters' API asks automated tools other than LinkedIn's not to read it, so those links get an error row.

Why is a Workday run slower? Workday is paged 20 jobs at a time, and descriptions need one extra request per job. Turn off descriptions for a much faster run.

How fresh is the data? Live: every run reads the companies' feeds at that moment.