Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper avatar

Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper

Pricing

from $1.60 / 1,000 jobs

Go to Apify Store
Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper

Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper

Get every open job from company career pages on Greenhouse, Lever, Ashby and SmartRecruiters in one clean table: title, team, city, country, remote, salary as numbers, dates, links and description. Only-new mode returns new and closed jobs since your last run. No login, no proxy.

Pricing

from $1.60 / 1,000 jobs

Rating

0.0

(0)

Developer

Firsthand Data

Firsthand Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

Get every open job straight from company career pages on Greenhouse, Lever, Ashby and SmartRecruiters in one clean table. Give it job boards (greenhouse:stripe), job board links or just company websites, or pick a ready-made list of companies, and get titles, teams, cities, countries, remote flags, salaries as numbers, dates, links and full descriptions.

Turn on Only new and closed and put it on a schedule: every run returns only the jobs that appeared or disappeared since the previous run. You pay only for new jobs.

  • ✅ Official public job board APIs: no login, no API key, no proxies, no browser
  • ✅ Four applicant tracking systems (ATS) in one output format
  • ✅ Finds the job board from a company website
  • ✅ Salary parsed into minimum, maximum and currency
  • ✅ New and closed jobs between runs; closed rows are free
  • ✅ No personal data: recruiter fields are dropped, emails and phone numbers are removed from descriptions
  • 💲 $2 per 1,000 jobs. The Apify free plan ($5 of credit every month) covers about 2,500 jobs.

What can you do with this career page scraper?

  • Sales and RevOps: hiring signals. A company that opens ten sales roles is growing and buying. Watch your target accounts and get their new roles every morning.
  • Recruiters and agencies. Track openings at the companies you work with, straight from their own career pages.
  • Job boards and newsletters. Build a job feed from a list of employers. Only-new mode adds new jobs and tells you which ones closed, so you can expire them.
  • Market and salary research. Compare roles, locations and published pay ranges across companies.
  • AI agents. Let Claude, Cursor or any MCP client answer "is Linear hiring engineers in Europe?" with live data.

How to scrape jobs from Greenhouse, Lever, Ashby and SmartRecruiters

  1. Click Try for free. The Apify free plan needs no credit card.
  2. In Companies, add one company per line: greenhouse:stripe, a job board link such as https://jobs.lever.co/spotify, or a website such as stripe.com.
  3. Optionally add filters: words in the job title, locations, remote only.
  4. Click Start. Download the results as JSON, CSV or Excel, or read them through the Apify API.

The form comes prefilled with Discord (Greenhouse), Spotify (Lever), Linear (Ashby) and Canva (SmartRecruiters). On October 18, 2026 this run took 20 seconds and returned 269 jobs, about $0.54.

Get only new jobs every morning

  1. Set What to return to Only new and closed since the last run and give the watch a name, for example target-accounts.
  2. Run it once. The first run returns all open jobs as new: this is your starting point.
  3. Click Save as new task, open Schedules and run the task every day (or every hour).
  4. In the task's Integrations tab, send the results to Slack, email, Zapier, Make or n8n (and from there to Google Sheets, Airtable or your CRM), or to your own webhook.

Every later run returns only jobs that are new (changeStatus: "new") and jobs that disappeared from the board (changeStatus: "closed"). Closed rows are free, and a quiet day costs nothing. Use a separate watch name for each list of companies.

Ready-made company lists

No list of companies yet? Pick one in Ready-made company lists. A list contains only companies whose job boards had open jobs when we checked them, and we refresh the lists every month. You can combine a list with your own companies and with all filters.

ListWho is in itCompaniesOpen jobs on Oct 18, 2026
Remote-first companiesat least half of the open jobs are remote; 5 to 1,000 open jobs1,04027,502

A whole list returns many jobs: running the remote-first list once without filters returns about 27,500 jobs (about $55). To pay less, add title words, Remote jobs only or locations, use only-new mode, or set Maximum cost per run. Example: on October 18, 2026 the remote-first list with title "engineer" and Remote jobs only returned 5,630 jobs from 748 companies (about $11). Switch that to only-new mode and schedule it daily: you get a feed of new remote engineering jobs.

What data can you extract from career pages?

FieldExampleNotes
companyDiscordname from the job board
titleCommercial Policy Lead
department, teamPolicywhere the board gives it
location, city, region, countrySan Francisco Bay Areaparsed from the board; allLocations keeps every location of the job
workplaceTyperemote, hybrid, onsite, unknown
employmentTypefull_timewhere the board gives it
salaryMin, salaryMax, salaryCurrency, salaryPeriod192000, 216000, USDfrom salary fields or the description text
salaryTextThe US base salary range for this full-time position is $192,000 to $216,000...original salary text
publishedAt, updatedAt2026-09-15T16:52:11.000Z
url, applyUrlhttps://job-boards.greenhouse.io/discord/jobs/8806482002
descriptionplain textemails and phone numbers removed
id, source, board, sourceJobIdgreenhouse:discord:8806482002stable id for de-duplication
changeStatusnew, closed or emptyonly in only-new mode
scrapedAt2026-10-18T10:02:51.092Ztime of the run

Six rows from the prefilled run on October 18, 2026:

CompanyTitleLocationWorkplaceSalaryPublished
DiscordCommercial Policy LeadSan Francisco Bay Area192,000-216,000 USD2026-09-15
DiscordData Scientist - Client PlatformSan Francisco Bay Area160,000-200,000 USD2026-09-24
CanvaSenior Legal Counsel, Intellectual Property (Tech Transactions)San Francisco, United Stateshybrid190,000-280,000 USD2026-10-16
CanvaLocalisation Lead, Indonesia (Bahasa Indonesia Speaker Required)Singaporeremote2026-10-16
SpotifyArt Director - MexicoMexico City, Mexicohybrid2026-10-09
LinearSenior / Staff Fullstack EngineerEuropean Unionremote2021-04-27

In that run 57 of 269 jobs had a salary range and 80 were remote. Empty cells are values the job board does not publish.

One job as JSON (description shortened):

{
"id": "greenhouse:discord:8806482002",
"source": "greenhouse",
"board": "discord",
"sourceJobId": "8806482002",
"company": "Discord",
"title": "Commercial Policy Lead",
"department": "Policy",
"team": null,
"location": "San Francisco Bay Area",
"city": "San Francisco Bay Area",
"region": null,
"country": null,
"workplaceType": "unknown",
"allLocations": ["San Francisco Bay Area"],
"employmentType": null,
"salaryMin": 192000,
"salaryMax": 216000,
"salaryCurrency": "USD",
"salaryPeriod": null,
"salaryText": "The US base salary range for this full-time position is $192,000 to $216,000 + equity + benefits.",
"publishedAt": "2026-09-15T16:52:11.000Z",
"updatedAt": "2026-10-15T20:08:17.000Z",
"url": "https://job-boards.greenhouse.io/discord/jobs/8806482002",
"applyUrl": null,
"description": "Discord has a highly engaged community of millions of daily active users...",
"changeStatus": null,
"scrapedAt": "2026-10-18T10:02:51.092Z"
}

How much does it cost to scrape career pages?

  • $2 per 1,000 jobs (pay per event). Apify platform usage is included in the price.
  • Free: closed-job rows, companies without open jobs, companies that are not found, errors.
  • In only-new mode the first run returns all open jobs (your starting point); later runs return only new ones.
  • The Apify free plan gives $5 of credit every month: about 2,500 jobs.
  • Set Maximum cost per run in the run options: the scraper stops before it goes over your limit.
What you runJobsCost
The prefilled input (4 companies)269about $0.54
50 companies, all open jobs, once (about 100 jobs each)about 5,000about $10
The same 50 companies every day in only-new mode, if they post 40 new jobs a dayabout 1,200 a monthabout $2.40 a month

Input

Three ways to add a company

You writeExampleWhat happens
system:boardgreenhouse:stripe, lever:spotify, ashby:linear, smartrecruiters:Canvaread directly
Job board linkhttps://boards.greenhouse.io/stripe, https://jobs.lever.co/spotify, https://jobs.ashbyhq.com/linear, https://jobs.smartrecruiters.com/Canvaread directly
Company websitestripe.comthe scraper looks for a job board link on the website (home page, /careers, /jobs). If there is none, it tries the domain name as a board name and says so in the run summary

How to find a board name: open any job on the company's careers page. The link shows the system and the board, for example jobs.ashbyhq.com/linear/... means ashby:linear.

The same company written twice (in any letter case or as different links) is read and charged once.

Example input

{
"companies": ["greenhouse:discord", "https://jobs.lever.co/spotify", "stripe.com", "smartrecruiters:Canva"],
"mode": "changes",
"watchName": "target-accounts",
"includeKeywords": ["engineer", "data"],
"excludeKeywords": ["intern"],
"locations": ["Germany", "United Kingdom"],
"remoteOnly": false,
"includeDescription": true
}

Run summary

Each run saves a summary to the key-value store record OUTPUT: for every company the system, board, status (ok, not_found or error), the number of jobs and a note when something needs your attention. A company that fails never stops the run.

Which job boards are supported?

SystemBoard linkExampleNotes
Greenhouseboards.greenhouse.io/{board}, job-boards.greenhouse.io/{board}stripesalary is often found in the description text
Leverjobs.lever.co/{board}spotifysalary range where the company publishes it
Ashbyjobs.ashbyhq.com/{board}linearunlisted jobs are skipped
SmartRecruitersjobs.smartrecruiters.com/{board}Canvapublic jobs only; each description is a separate request, so big companies take longer

Job boards hosted in the EU (eu.greenhouse.io, jobs.eu.lever.co) are not supported yet.

Use it with AI agents (MCP)

This scraper works as a tool for AI agents through the Apify MCP server: Claude, Cursor, VS Code, n8n and other MCP clients. Add this URL as a remote MCP server and sign in to Apify when your browser opens:

https://mcp.apify.com?tools=firsthand-data/career-page-jobs-scraper

Then ask, for example, "list open engineering jobs at Linear and Discord". Turn off Include job description to keep answers short.

Integrations

  • Slack and email: the Integrations tab of a run or a saved task.
  • Zapier, Make, n8n: start on "Run succeeded" and read the dataset; from there send jobs to Google Sheets, Airtable, HubSpot or any other app.
  • Webhooks: your endpoint gets a call when a run finishes.
  • Clay: an HTTP request to the Apify run-sync-get-dataset-items endpoint with your companies as input returns the rows straight into your table (a synchronous run must finish within 300 seconds).
  • API: JavaScript, Python and CLI examples are on the API tab of this page.

Fair use and data quality

  • Reads only the official public job board APIs that these systems provide for career pages.
  • Keeps to each source's rules: SmartRecruiters at most about 9 requests per second (their limit is 10), Lever job pages at most one request per second (their robots.txt), company websites only where robots.txt allows.
  • Reads only the companies you list. No logins, no proxies, no hidden or unlisted jobs.
  • No personal data: recruiter names and photos are not collected; emails and phone numbers are removed from descriptions.
  • Results and the only-new memory stay in your own Apify account. We do not keep copies.
  • Not affiliated with Greenhouse, Lever, Ashby or SmartRecruiters. Their names are trademarks of their owners.

FAQ

Do I need an API key or a proxy? No. All four systems publish open jobs through public job board endpoints.

Why is a company "not found"? The board name is wrong, or the company moved to another system. Check a job link on its careers page. SmartRecruiters returns the same empty list for an unknown company and for a company with no open jobs; the run summary says so.

Why are big SmartRecruiters companies slower? Each description is a separate request, and the scraper keeps to SmartRecruiters' rate limit. A company with thousands of jobs can take several minutes. Turn off Include job description to finish in seconds.

What counts as a new job? A job that the watch has not returned before. Board names are not case-sensitive, so the same job is never returned as new twice, even if you write Acme one day and acme the next.

Can I get jobs from Workday, iCIMS, LinkedIn or Indeed? Not in this Actor. It reads only systems with an official public job board API. More systems are added after we check their terms.

How fresh is the data? Live: the scraper reads each job board at the moment you run it.

Changelog and support

  • 0.1 (October 2026): first public version: Greenhouse, Lever, Ashby and SmartRecruiters, only-new mode, job board detection from company websites.
  • We add output fields; we do not rename or remove them. Price changes are announced in advance.
  • Questions, bugs or a job board you need: open an issue on the Issues tab. We usually answer within 1-3 days.
  • If this scraper saved you time, a short review helps other people find it. Thank you!