Career Site Jobs — Greenhouse, Lever, Ashby, Workday Scraper avatar

Career Site Jobs — Greenhouse, Lever, Ashby, Workday Scraper

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
Career Site Jobs — Greenhouse, Lever, Ashby, Workday Scraper

Career Site Jobs — Greenhouse, Lever, Ashby, Workday Scraper

Open jobs straight from company career sites: Greenhouse, Lever, Ashby, Workable, Recruitee and Workday. Give links, board names or just company websites. Salary, remote, department, posting date, new-jobs monitor and a hiring summary per company.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Salih Küçükkayış

Salih Küçükkayış

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Get every open job straight from company career sites: Greenhouse, Lever, Ashby, Workable, Recruitee and Workday. Give job board links, short names like greenhouse:airbnb, or just company websites (stripe.com): the Actor finds the job board on the site. Each job comes with title, location, remote, department, team, job type, posting date, salary (when the company publishes it), apply link and the full description as plain text.

Two things job board scrapers don't give you:

  • New jobs monitor: turn on Only new jobs since the last run, schedule the Actor daily or weekly, and get only the openings that appeared since the previous run. Perfect for job alerts, recruiting and sales triggers.
  • Hiring summary per company: switch Output to Companies and get one row per company: open jobs, jobs posted in the last 7 and 30 days, departments, top locations, remote share and, with the monitor on, new and removed jobs since the last run. A ready-made hiring signal for sales and investment teams.

$1 per 1,000 jobs, $3 per 1,000 company rows, plus $0.005 per run. Companies whose job board can't be found are free. No login, no API key, no proxies.

Quick start

Press Start with the example input:

{
"companies": ["https://jobs.ashbyhq.com/ramp", "greenhouse:airbnb"]
}

Each job becomes one dataset row (a Ramp job as the live board returns it, description shortened):

{
"id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"company": "Ramp",
"ats": "ashby",
"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)", "Remote (Canada)"],
"country": "USA",
"remote": true,
"workplaceType": "hybrid",
"department": "Engineering",
"team": "Backend",
"employmentType": "FullTime",
"postedAt": "2026-04-07T17:12:35.753Z",
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryText": "$211.4K - $290.6K",
"description": "ABOUT RAMP\n\nRamp is building the smart infrastructure ...",
"input": "https://jobs.ashbyhq.com/ramp",
"boardUrl": "https://jobs.ashbyhq.com/ramp"
}

What you can give it

InputExample
Greenhousehttps://boards.greenhouse.io/airbnb, job-boards.greenhouse.io/airbnb, greenhouse:airbnb, EU: greenhouse-eu:acme
Leverhttps://jobs.lever.co/spotify, lever:spotify, EU: jobs.eu.lever.co/acme, lever-eu:acme
Ashbyhttps://jobs.ashbyhq.com/ramp, ashby:ramp
Workablehttps://apply.workable.com/huggingface, workable:huggingface
Recruiteehttps://bunq.recruitee.com, recruitee:bunq
Workdayhttps://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
Company websitestripe.com, https://www.notion.so

For a website, the Actor reads the home page and the usual career pages (/careers, /jobs, ...) and looks for a link to or an embed of a supported job board. If none is linked, it tries the company name from the domain (stripe.com → stripe) on Greenhouse, Ashby, Lever and Workable, and a shortened name (datadoghq.com → datadog) on Greenhouse and Workable when the board's company name is an exact match; a Greenhouse or Workable board is only accepted when its company name matches. Each row says how the board was found in detectedBy (input, link or name-match).

Filters

Job title contains, Job title does not contain, Location contains, Department contains, Remote jobs only and Posted within (days). Filtered-out jobs are not charged.

Pricing

EventPriceWhen
Job$1 / 1,000each job row in the results
Company$3 / 1,000each company row (Companies output)
Run start$0.005per run, at the default 512 MB memory

Cost examples:

JobCost
All 165 open jobs at Ramp$0.17
200 companies, about 40 jobs each$8.01
Hiring summary of 1,000 companies$3.01
Daily monitor of 100 companies, 30 new jobs a day$0.04 a day

Set a spending limit on the run (Max total charge in Apify) and the Actor stops cleanly at it.

Use it from code, n8n, Make or an AI agent

curl -X POST "https://api.apify.com/v2/acts/saliga~career-site-jobs/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["stripe.com", "greenhouse:airbnb"], "keywords": ["engineer"], "remoteOnly": true}'

How it reads the job boards

  • Public job board APIs for Greenhouse, Lever, Ashby, Workable and Recruitee: the same feeds these systems publish so that companies can show their jobs on their own sites. One request returns a company's whole board, which is why it's fast and cheap.
  • Workday career sites through the JSON the site itself loads. The site's robots.txt is checked first and the board is skipped if it disallows it.
  • Polite by design: one request at a time per site, a pause between requests (Lever's 1 second is respected), and robots.txt is honoured for every career page and Workday site. No login, no cookies, no CAPTCHA solving, and no personal data such as recruiter emails.

Limits

  • Supported systems: Greenhouse, Lever, Ashby, Workable, Recruitee and Workday. Companies on other systems (iCIMS, Taleo, SuccessFactors, SmartRecruiters, Personio, Teamtailor, custom pages) return an error row, free.
  • Workday lists stop at 2,000 jobs per career site and give rough dates ("Posted 3 Days Ago"; postedAtApproximate is true for "30+ days"). Turn on Workday: read each job page for descriptions, exact dates and all locations.
  • Salary is filled when the job board has a salary field (Lever, Ashby, Recruitee) or, with descriptions on, when the description states a range like "$150,000 - $190,000", "152,000 USD - 241,500 USD" or "€3.500 - €4.500 per month" (Workday: with Workday: read each job page on).
  • In the Companies output, totalJobsOnBoard is the job board's own count (when the board gives one) even if Max jobs per company cut the list; openJobs counts the jobs that were read and passed the filters.
  • The same job board given twice (for example as a link and as a short name) is read and charged once.
  • With the monitor on, if a board has more jobs than Max jobs per company, new and removed jobs can be incomplete; raise the limit for full tracking.
  • Matching by company name can pick the wrong board when two companies share a name (Lever and Ashby don't publish a company name to check). Give the job board link when you know it.

FAQ

Why are some websites "not found"? The site doesn't link to a supported job board from its home page or the usual career pages, or robots.txt disallows those pages, or the company uses another system. The error field says which. These rows are free.

How does the monitor know what's new? It keeps the job ids of each company in a named key-value store in your Apify account (career-site-jobs-monitor-<name>). Use a different Monitor name per project.

Other tools from the same developer: Video to Scenes, Audio to Text, Document to Markdown, Bulk HTTP Requests, Website Screenshot + Change Detection, Keyword Search Volume.