Greenhouse, Lever & Ashby Jobs Scraper avatar

Greenhouse, Lever & Ashby Jobs Scraper

Pricing

from $2.00 / 1,000 job returneds

Go to Apify Store
Greenhouse, Lever & Ashby Jobs Scraper

Greenhouse, Lever & Ashby Jobs Scraper

Scrape open jobs from Greenhouse, Lever and Ashby career sites for your company list. Title, department, location, salary, remote and country. For lead generation and recruiting.

Pricing

from $2.00 / 1,000 job returneds

Rating

0.0

(0)

Developer

LIAICHI MUSTAPHA

LIAICHI MUSTAPHA

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Security

Limited permissions

Share

Get every open job from Greenhouse, Lever and Ashby career sites for your own list of companies. Paste company names, websites or board links, and get clean job listings in one format, ready for lead generation, recruiting and hiring research.

This Greenhouse, Lever and Ashby jobs scraper reads each company's official public job board API, so you get the same jobs the company publishes on its careers page, with no login and no browser.

Features

  • ✅ Three ATS in one format: Greenhouse, Lever and Ashby jobs share the same fields, so you can merge them in one sheet.
  • ✅ Bring names, websites or links: Careem, ramp.com or jobs.lever.co/spotify all work. The Actor finds the company's board for you.
  • ✅ Clean job fields: title, department, location, posted date, employment type, workplace type and job link.
  • ✅ Salary when the company publishes it: taken only from structured ATS fields, never guessed from the job text.
  • ✅ Country, remote and seniority for every job: filter by country (or all of MENA in one click), remote, hybrid or on site, and title keywords.
  • ✅ Only new jobs on scheduled runs: jobs you already got are never returned or charged again.
  • ✅ Free when not found: companies whose board can't be found are listed with the reason, and you are not charged for them.

Use cases

  • Lead generation: find companies hiring for the roles you sell into (sales, data, security, finance) and reach them while the need is fresh.
  • Recruiting and staffing: watch your target companies and get their new openings every morning.
  • Hiring signals for investors and analysts: track which teams a company is growing, in which countries, and how fast.
  • Job boards and newsletters: feed a niche job board with fresh listings from a curated company list.
  • Market research: compare salaries, remote policies and seniority mix across companies.

Input

FieldTypeDescription
companieslist of textOne company per line: a board URL (job-boards.greenhouse.io/airbnb, jobs.lever.co/spotify, jobs.ashbyhq.com/ramp), a website (ziina.com) or a company name (Careem). Required.
countrieslist of textKeep jobs in these countries. Use names (United Arab Emirates), ISO codes (AE) or MENA for all 19 Middle East and North Africa countries.
titleKeywordslist of textKeep jobs whose title contains any of these words, for example sales, data engineer.
remotemulti-selectKeep only remote, hybrid or onsite jobs.
postedWithinDaysnumberKeep jobs first published in the last N days.
maxJobsPerCompanynumberKeep at most this many jobs per company (the newest).
onlyNewSinceLastRuntrue/falseFor scheduled runs: return only jobs you haven't received before.
seenStoreNametextName of the store in your Apify account that remembers returned jobs. Use one name per company list.
resetSeentrue/falseForget remembered jobs and start from zero.
includeDescriptiontrue/falseAdd the full job description as plain text. Off by default.
maxConcurrencynumberHow many companies are read at the same time (default 5).

Example input:

{
"companies": ["Careem", "ramp.com", "https://jobs.lever.co/spotify"],
"countries": ["MENA", "GB"],
"titleKeywords": ["sales", "account executive"],
"postedWithinDays": 14
}

Output

The dataset has three kinds of rows, marked by type.

A job row:

{
"type": "job",
"company": "Ramp",
"title": "Manager, Mid-Market Solutions Consulting",
"department": "Sales, Solutions Consulting",
"locationText": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)"],
"url": "https://jobs.ashbyhq.com/ramp/318e7138-151e-4ed2-8b85-a017d234ef12",
"postedAt": "2026-10-31T19:31:59.653Z",
"postedAtField": "publishedAt",
"updatedAt": null,
"ats": "ashby",
"boardSlug": "ramp",
"jobId": "318e7138-151e-4ed2-8b85-a017d234ef12",
"employmentType": "FullTime",
"workplaceType": "hybrid",
"countryHint": "USA",
"salary": { "min": 195000, "max": 268000, "currency": "USD", "interval": "1 YEAR", "label": "SF/NY" },
"description": null,
"derived": {
"country": "United States",
"countryCode": "US",
"countries": ["US"],
"remote": "hybrid",
"remoteSource": "ats",
"seniority": "manager"
}
}

A company row, one per board found:

{
"type": "company",
"input": "ramp.com",
"ats": "ashby",
"slug": "ramp",
"boardUrl": "https://jobs.ashbyhq.com/ramp",
"resolvedBy": "careers-link",
"company": "Ramp",
"openJobs": 172,
"jobsMatched": 1,
"jobsReturned": 1,
"status": "ok"
}

An unresolved row, for companies whose board wasn't found (free):

{
"type": "unresolved",
"input": "acme-payments.com",
"reason": "uses-unsupported-ats",
"detail": { "ats": ["workable"] }
}

Fields under derived are best guesses computed by the Actor from the location text and the title. Everything else comes from the company's ATS as published.

The dataset has two views: Jobs, and Companies and unresolved.

How to use

  1. Open the Actor in Apify Console and paste your companies, one per line.
  2. Add filters if you want (countries, title keywords, workplace, posted in the last N days).
  3. Click Start. A list of 10 companies usually takes under a minute.
  4. Download the jobs as CSV, Excel or JSON, or connect the dataset to Google Sheets, Make, Zapier or your CRM.
  5. For daily alerts, create a Schedule, turn on Only new jobs since last run, and give the store a name for that list.

You can also run it from the Apify API or the Apify client for JavaScript and Python with the same input JSON.

Pricing

Pay per event, so you pay for results, not for time:

  • Company found: charged once per company whose Greenhouse, Lever or Ashby board was found.
  • Job returned: charged per job that passes your filters and is returned.

Companies that can't be found, jobs your filters leave out, and jobs already returned in "only new" mode are never charged. You can set a maximum cost per run in Apify Console, and the Actor stops cleanly when it is reached.

FAQ

Which companies does it work for? Any company that hosts its careers page on Greenhouse, Lever or Ashby. That includes thousands of tech companies such as Airbnb, Spotify, OpenAI, Ramp, Palantir, Careem and Tamara. Companies on other systems (Workday, Workable, SmartRecruiters and others) are listed as unresolved with the system they use, so you know why.

How does it find a company from its name? For a website, it reads the careers page and follows the link to the job board. For a name, it tries the likely board names on each ATS and accepts one only if the board's own company name matches yours. Two companies with exactly the same name can still be confused, so give a website or a board link when you need certainty. Every company row shows boardUrl and resolvedBy (url, careers-link or slug-guess) so you can check.

How fresh is the data? Each run reads the boards live, so you get the jobs open right now. postedAt is the date the job was first published: first_published on Greenhouse, createdAt on Lever and publishedAt on Ashby (postedAtField tells you which).

Why do some jobs have no salary? Salary is returned only when the company publishes it in the ATS's structured salary fields. Many companies don't, especially outside the US. The Actor never guesses salary from the job text.

How does the country filter treat remote jobs? The country comes from the job's location text and office list. A job listed only as "Remote" or "EMEA" names no country and is left out when you use the country filter. Jobs like "Remote - US" or "UAE - Remote" keep their country.

Is this allowed? The Actor reads only the public job board APIs that Greenhouse, Lever and Ashby provide for listing published jobs. It does not log in or read anything private, and it follows Lever's requested crawl delay and each company website's robots.txt. You are responsible for using the data in line with the laws that apply to you.