Greenhouse, Lever & Ashby Jobs Scraper avatar

Greenhouse, Lever & Ashby Jobs Scraper

Pricing

$1.50 / 1,000 jobs

Go to Apify Store
Greenhouse, Lever & Ashby Jobs Scraper

Greenhouse, Lever & Ashby Jobs Scraper

Scrape every open job from Greenhouse, Lever and Ashby job boards by company (board link, careers page, domain or name) or search a directory of 10,000+ company boards by title and location. Salary, remote, department, posted date, apply link. Export to JSON, CSV or Excel, or via API.

Pricing

$1.50 / 1,000 jobs

Rating

0.0

(0)

Developer

Steady Scrape

Steady Scrape

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Features

Limited permissions

Share

Scrape every open job from Greenhouse, Lever and Ashby job boards, straight from the employer. This Greenhouse jobs scraper, Lever jobs scraper and Ashby jobs scraper reads the boards of the tens of thousands of startups and tech companies hiring on those three applicant tracking systems (ATS), one row per job: company, title, department and team, locations, remote / hybrid / on-site, employment type, salary range with currency and period where the employer publishes it, posted date, the direct apply link and the full description as text and HTML.

Two ways to use it:

  • By company: give board links (job-boards.greenhouse.io/airbnb, jobs.lever.co/palantir, jobs.ashbyhq.com/ramp), job links, careers pages, domains (ramp.com) or just names (Palantir Technologies). A name or domain is looked up in the bundled directory of 10,000+ Greenhouse, Lever and Ashby boards, so it lands on the company's exact board instead of a guessed slug.
  • Across companies: turn on Search the directory and get every job matching a title keyword and a location (or remote, or a department) across up to 1,000 company boards — no company list needed.

Filter by title keywords, excluded words, location, remote, department and posting date, and schedule it with only new jobs to get each new opening once. Export to JSON, CSV or Excel, or read it through the Apify API.

What you can do with this Greenhouse, Lever and Ashby jobs scraper

  • Find jobs across startups: "product designer" in "Berlin", "machine learning" and remote, "account executive" in "London" — read straight from the employers' Greenhouse, Lever and Ashby boards, with the employer's own apply link.
  • Build a job board or a job feed from employers' own postings, refreshed daily with only new jobs.
  • Track hiring at target companies: which teams are hiring, where and how fast — for sales prospecting, investing, competitive intelligence or recruiting.
  • Salary research: Greenhouse pay ranges, Ashby compensation and Lever salary ranges, with currency and period.
  • Feed an AI agent or a spreadsheet with clean, uniform job data from the three ATSs startups use most.

Using Workday, Recruitee, Personio, BambooHR or Breezy too? Career Site Jobs Scraper reads all eight ATSs with the same output. Looking for jobs by search query on Google instead? Google Jobs Scraper.

Input

FieldWhat it does
CompaniesOne per line: a Greenhouse, Lever or Ashby board or job link, a careers page, a domain or a company name. Leave empty to search the directory.
Max jobs per companyStop each company (or each directory board) after this many jobs, newest first (0 = every open job).
Search the directory of companiesAlso read the directory's boards that can match your filters, largest first.
Platforms to searchGreenhouse, Lever, Ashby, or any of them (empty = all three).
Max companies to searchHow many directory boards one search reads (1–1,000, default 100).
Title keywords / Exclude title keywordsKeep jobs whose title has a word starting with one of these; drop those with an excluded one.
Location containsKeep jobs with a location or country containing one of these (London, Germany, Remote).
Remote onlyKeep jobs the board marks remote, or whose locations say Remote.
Department containsKeep jobs whose department or team contains one of these.
Posted within (days)Keep jobs posted in the last N days.
Only jobs not seen beforeMonitoring: skip jobs an earlier run with the same companies, search and filters delivered.

Jobs at named companies:

{
"companies": ["https://job-boards.greenhouse.io/airbnb", "https://jobs.lever.co/palantir", "Ramp", "notion.com"],
"titleKeywords": ["engineer"],
"remoteOnly": true,
"maxJobsPerCompany": 50
}

A search across the directory — every engineering job in San Francisco on up to 200 boards:

{
"searchDirectory": true,
"titleKeywords": ["software engineer", "data engineer"],
"locations": ["San Francisco"],
"maxCompanies": 200,
"maxJobsPerCompany": 20
}

How a company is found

  • A board or job link of Greenhouse (boards., job-boards. and .eu. hosts, embeds), Lever (jobs.lever.co, jobs.eu.lever.co) or Ashby (jobs.ashbyhq.com) is read directly — the surest way.
  • A company name is looked up in the directory by the name the board publishes (Greenhouse's board name, Lever's page title, Ashby's organization) or by its slug; legal words are ignored ("Ramp, Inc." finds Ramp) but the whole name must match ("Ramp Network" does not get Ramp). A name the directory does not know is tried as a board slug on the three ATSs.
  • A domain is looked up by the company website the board links (Ashby), then by its label (figma.com → Figma); otherwise it is tried as a slug and then read as a website for the board it links.
  • A careers page is read for the Greenhouse, Lever or Ashby link or embed it carries.
  • The row's resolvedBy says how: board_link, directory, directory_search, careers_page or name_guess.

How the directory search works

The directory was built from the public web (the Common Crawl URL index of the three ATSs' board hosts), and each board was read once to keep its company name, its number of open jobs and the words of its job titles, places and departments. A search keeps the boards whose words can match your title keywords, locations, departments and remote filter, reads the largest of them live (up to Max companies to search), and applies your filters to every job. Jobs posted since the directory was built are found, because every board is read live; a company that started hiring for a new title or place since then can be missed by the narrowing. Boards are read round-robin over Greenhouse, Lever and Ashby, at each host's pace (Lever asks crawlers for one request a second).

A search's time goes with the jobs on the boards it reads. Measured on 512 MB, a run read about 135 a second on the largest boards: "designer" in "Berlin" (100 boards, ~22,000 jobs) takes about 3 minutes, "software engineer" (the 100 largest of 3,100 boards, ~57,000 jobs) about 7, and the 100 largest boards with no filter (~89,000 jobs) about 11. The default run memory is 1,024 MB, and Apify gives a run twice the CPU of a 512 MB one. The log says how far it got every 10 boards.

Output: Greenhouse, Lever and Ashby jobs data

{
"rowType": "job",
"status": "ok",
"input": "https://jobs.ashbyhq.com/ramp",
"resolvedBy": "board_link",
"companyName": "Ramp",
"ats": "ashby",
"boardSlug": "ramp",
"boardUrl": "https://jobs.ashbyhq.com/ramp",
"jobId": "f9d015d7-d5cb-450b-9936-afd8d1c4f4cc",
"requisitionId": null,
"title": "Manager, Account Executive, Strategic",
"department": "Sales",
"team": "Account Executive",
"location": "Remote (US)",
"locations": ["Remote (US)", "San Francisco, CA", "New York, NY (HQ)"],
"country": "United States",
"remote": true,
"workplaceType": "remote",
"employmentType": "full_time",
"employmentTypeText": "FullTime",
"salaryMin": 520000,
"salaryMax": 620000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryText": "$520K - $620K",
"postedAt": "2026-11-07T02:57:03.574Z",
"updatedAt": null,
"url": "https://jobs.ashbyhq.com/ramp/f9d015d7-d5cb-450b-9936-afd8d1c4f4cc",
"applyUrl": "https://jobs.ashbyhq.com/ramp/f9d015d7-d5cb-450b-9936-afd8d1c4f4cc/application",
"description": "About Ramp\nRamp is building the smart infrastructure for finance teams, embedded in the tr…",
"descriptionHtml": "<h1><strong>About Ramp</strong></h1><p style=\"min-height:1.5em\">Ramp i…",
"position": 1,
"scrapedAt": "2026-11-08T07:57:58.941Z"
}

A company that gives no job gets one free row saying why (a directory search that finds nothing gets one, too):

{
"rowType": "status",
"status": "invalid_input",
"input": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
"ats": null,
"url": null,
"reason": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite is a Workday board; this Actor reads Greenhouse, Lever and Ashby. Career Site Jobs Scraper (steadyscrape/career-site-jobs-scraper) reads Workday too.",
"scrapedAt": "2026-11-08T10:00:00.000Z"
}

Greenhouse, Lever and Ashby job fields

FieldDescription
companyNameThe name the board publishes (Greenhouse); otherwise the board slug in Title Case (Lever, Ashby).
atsgreenhouse, lever or ashby.
boardSlug, boardUrlThe company's id on its ATS and its job board.
jobId, requisitionIdThe job's id on the board; the requisition id where Greenhouse publishes it.
title, department, teamAs the board names them.
location, locations, countryThe primary location, every location, and the country where the board states it.
remote, workplaceTypetrue/false/null; remote, hybrid, onsite or null.
employmentType, employmentTypeTextfull_time, part_time, contract, temporary, internship or null, and the board's own words.
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryTextThe pay range when the board publishes it.
postedAt, updatedAtISO 8601 UTC.
url, applyUrlThe job page and the direct application link.
description, descriptionHtmlThe full description as text and as HTML.
input, resolvedByThe company as you wrote it (the board link for a directory search), and how its board was found.
position, scrapedAtThe job's place in its company's results, and when it was read.
rowType, status, reasonjob/ok, or status with invalid_input, not_found, no_ats_detected, no_open_jobs, no_matching_jobs or blocked and the reason.

Pricing

Pay per event: US$0.0015 per job delivered, description, salary and apply link included, whether the company was named or found by a directory search. Status rows (company not found, another ATS, no open jobs, nothing matching the filters, invalid input, blocked) are free, boards a search reads without a match cost nothing, and there is no start fee. 1,000 jobs cost US$1.50. Set a maximum cost per run and the Actor stops exactly there.

Limits

  • Greenhouse, Lever and Ashby only: a Workday, Recruitee, Personio, BambooHR or Breezy board gets a free row pointing to Career Site Jobs Scraper, which reads them.
  • The directory holds the boards the public web crawls had met; a company missing from it is still read from its board link, careers page or domain. Its counts and words date from when it was built (see directoryBuiltAt in the run's SUMMARY record).
  • Salaries come only where the employer publishes them: Greenhouse on boards with pay transparency, Ashby and Lever where set.
  • Lever asks crawlers to wait a second between requests, so a search of many Lever boards takes longer than one of Greenhouse or Ashby boards.

Job postings are published by employers to be found and applied to, and this Actor reads them through the public job-board APIs the three vendors run to put those postings on career sites (Greenhouse's Job Board API, Lever's Postings API, Ashby's posting API). No login, no personal data of candidates, robots.txt honoured on every host, and each host paced (Lever's crawl delay included). Check that your use of the data complies with the laws that apply to you and with the employers' terms.

This Actor is not affiliated with, endorsed by or sponsored by Greenhouse Software, Lever, Ashby or any employer whose jobs it reads; their names are used only to say which job boards it reads.