Greenhouse & Lever Jobs Scraper: Career Site Jobs — HireHeat avatar

Greenhouse & Lever Jobs Scraper: Career Site Jobs — HireHeat

Pricing

Pay per event

Go to Apify Store
Greenhouse & Lever Jobs Scraper: Career Site Jobs — HireHeat

Greenhouse & Lever Jobs Scraper: Career Site Jobs — HireHeat

Fresh jobs straight from 12,000+ company career sites. Career site job listing API and jobs scraper for Greenhouse, Lever, Ashby, Workable, SmartRecruiters: keyword, location, remote and date filters, salary where posted, daily job alerts (new jobs only). $0.002 per job; first try $0.006.

Pricing

Pay per event

Rating

0.0

(0)

Developer

CyberMax

CyberMax

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

Share

HireHeat Jobs — Career Site Job Listings: Greenhouse & Lever

Fresh jobs from 12,000+ company career sites

Give it job-title keywords (plus location, remote or date filters); get matching jobs straight from employers' Greenhouse, Ashby, Workable, SmartRecruiters and Recruitee boards (Lever for companies you name), newest first, for $0.002 per job.

▶ Try it now with a prefilled input · $0.002 per job; +$0.02 once per run only when searching more than 25 companies (1,000 jobs = $2.02) · Apify's free plan includes $5 of credit a month, enough for up to about 2,500 jobs

Built for: Job boards and niche job newsletters · Recruiters and staffing agencies · Sales teams using hiring as a buying signal · Job seekers and AI agents building job alerts

Real output (real run on Apify, 23 Sep 2026: AI/ML job titles posted in the last 7 days (265 jobs returned)):

TitleCompanyLocationRemoteSalaryBoard
Member of Technical Staff - Fullstack AI EngineerSolsticeNew York Cityno$200K – $300K • Offers EquityAshby
Data & AI EngineerArizentNYC | Midtown Manhattanyes$100K – $125KAshby
Senior Machine Learning EngineerCheckrSan Francisco, California, United Statesno–Greenhouse
Founding Machine Learning EngineerCleraMunichno–Ashby
Senior Applied AI Engineer, Agent Quality & EvaluationsFlodeskRemoteyes–Greenhouse

Every job comes in one clean JSON schema, ready for a job board, a lead list, a job-alert email or an AI agent. Searches of up to 25 named companies have no fee beyond $0.002 per job; a search across the whole 12,000+ site directory adds $0.02 once per run.

First try: $0.006, about 3 seconds. The prefilled input (engineer jobs at vercel, max 3) read one career site and returned 3 jobs in 2.6 s on 24 Sep 2026 (3 × $0.002, no search fee).

At a glance

QuestionAnswer
Where do the jobs come from?Each employer's own applicant tracking system (Greenhouse, Ashby, Workable, SmartRecruiters, Recruitee, Lever)
How many companies?12,331 validated career sites in the built-in directory, plus any company domain you pass
How fresh?Read live during the run; closed jobs disappear when the employer closes them
Cost of a first try$0.006 (3 jobs, one company)
Job alerts?Yes: newOnly: true + a daily schedule returns (and charges) only new postings
AI agents?Callable through Apify's MCP server; listed in the official MCP Registry

Why HireHeat Jobs

  • Straight from the source. Jobs come from each employer's own applicant tracking system, not from reposts on aggregators, so apply links go to the real posting and closed jobs disappear when the employer closes them.
  • 12,331 company career sites, validated. The built-in directory was collected from the public web and every board was checked against its live ATS API (September 2026): 4,047 Greenhouse, 2,716 Ashby, 2,712 Workable, 1,053 SmartRecruiters and 1,803 Recruitee boards, about 468,000 open jobs at build time.
  • Job alerts built in. Turn on monitor mode (newOnly), schedule the Actor daily, and each run returns only postings you haven't seen.
  • Six times cheaper per job than the best-known career-site job API on the Apify Store ($0.012 per job on Apify's free plan, checked 24 Sep 2026), and no minimum: ask for 3 jobs, pay for 3.

HireHeat Jobs vs the most-used career-site jobs Actor (our own test)

Same search on Apify, 24 Sep 2026: engineering jobs at Vercel, 3 results. Prices are each Actor's listed prices on Apify's free plan that day.

HireHeat Jobsfantastic-jobs/career-site-job-listing-api (1,469 users/30 days)
Jobs returned3 (same 3 postings)3 (same 3 postings)
Run time2.6 s1.7 s
Smallest allowed run1 job10 jobs (limit must be ≥ 10)
Cost of this run$0.006$0.046 ($0.01 start + 3 × $0.012)
Cost of 1,000 jobs$2.00–$2.02$12.01
Reads the employer's board liveyes, during your runno: queries its own job database (its README: new jobs are typically added within 3 hours of posting)
Full description text, AI-extracted skills/salarynoyes

Choose the other tool if you need description text and AI-extracted fields; choose HireHeat Jobs for titles, locations, salary where posted and apply links at a sixth of the price, with no 10-job minimum.

Example: input

{
"keywords": ["data engineer", "analytics engineer"],
"locations": ["United States", "Remote"],
"postedWithinDays": 14,
"maxJobs": 200
}

A real run of this input on Apify (23 Sep 2026) read 8,852 career sites in 5 minutes and returned 176 matching jobs, newest first. A search for 9 AI/ML job titles posted in the last 7 days returned 265 jobs. A search of up to 25 named companies (companyNames or companies) finishes in seconds.

Ready-made inputs (first try in one click)

No account yet? See real results first on the free demo page: AI & ML jobs posted this week.

Paste one into the JSON tab of the input form (or send it to the API) and press Start. Each is sized so the first run is quick and cheap; you pay only for results (Apify's compute is included in the price).

PresetWhat you getCost
3 jobs at one companythe 3 newest matching jobs with apply links$0.006 (3 jobs, no search fee)
Designers at 3 companiesup to 3 design jobs across the 3 boards$0.006 or less
Sales jobs posted in the last 30 days (3 companies)the 5 newest matching jobs, newest first$0.01 or less

3 jobs at one company

{"keywords": ["engineer"], "companyNames": ["vercel"], "maxJobs": 3}

Designers at 3 companies

{"keywords": ["designer"], "companyNames": ["notion", "figma", "linear"], "maxJobs": 3}

Sales jobs posted in the last 30 days (3 companies)

{"keywords": ["sales"], "companyNames": ["notion", "stripe", "ramp"], "postedWithinDays": 30, "maxJobs": 5}

Same thing from a script (returns the results directly):

curl -s -X POST "https://api.apify.com/v2/acts/cybermax~career-site-jobs/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'content-type: application/json' -d '{"keywords": ["engineer"], "companyNames": ["vercel"], "maxJobs": 3}'

Example: one job in the output

{
"title": "Principal Data Engineer",
"company": "AvidXchange, Inc.",
"location": "Charlotte, North Carolina, United States",
"remote": false,
"department": "Engineering",
"team": null,
"employmentType": null,
"salary": null,
"postedAt": "2026-09-23T15:56:04.000Z",
"daysAgo": 0,
"url": "https://job-boards.greenhouse.io/avidxchangeinc/jobs/5234647007",
"ats": "greenhouse",
"boardSlug": "avidxchangeinc",
"boardUrl": "https://boards.greenhouse.io/avidxchangeinc",
"jobId": "greenhouse:avidxchangeinc:5234647007",
"matchedKeywords": ["data engineer"]
}

The 3 jobs the prefilled input returned on 24 Sep 2026, as table columns:

titlecompanylocationremotedepartmentpostedAturl
Software Engineer, Scheduled TasksVercelHybrid - San FranciscofalseEngineering2026-09-24job-boards.greenhouse.io/vercel/jobs/6207796004
Partner Solutions EngineerVercelHybrid - San FranciscofalsePartnerships2026-09-22job-boards.greenhouse.io/vercel/jobs/6201179004
Software Engineer, Agentic InfrastructureVercelHybrid - San Francisco, New York CityfalseEngineering2026-09-17job-boards.greenhouse.io/vercel/jobs/6199608004

salary is filled when the employer publishes it (common on Ashby, Lever and Recruitee boards). The run's SUMMARY record in the key-value store says how many boards were searched and how many jobs matched in total.

Inputs

FieldWhat it does
keywordsTitle contains any of these words or phrases (whole words, case-insensitive). Empty = all jobs.
excludeKeywordsDrop titles containing any of these (e.g. intern, manager).
locationsLocation contains any of these. United States/US/USA, UK, New York/NYC, San Francisco/Bay Area and Germany match their common spellings. Remote also matches jobs flagged remote.
remoteOnlyOnly jobs marked remote.
postedWithinDaysOnly jobs first posted in the last N days (undated jobs are left out).
maxJobsNewest jobs first; default 500.
newOnly + stateKeyMonitor / job-alert mode: return only jobs this search hasn't returned before (see below). monitor + monitorKey are accepted as aliases.
atsLimit to some platforms. Default: Greenhouse, Ashby, Workable, SmartRecruiters. Recruitee (1,803 mostly European employers) is opt-in: it rate-limits cloud servers, so it makes searches slower.
companyNamesOnly directory companies whose name contains one of these.
companiesSearch these companies instead of the directory: domains (ramp.com) or board URLs (https://jobs.lever.co/palantir). The Actor finds each company's board itself, including Lever.
maxRunSecsTime budget, default 300 s. Biggest employers are read first; when the budget runs out the Actor returns what it found and the SUMMARY says how many (small) boards were left unread. At the default, the unread boards hold about 1.5% of the directory's jobs, mostly small Workable boards, which rate-limit cloud servers.
maxBoardsSearch an evenly spread sample of N boards: a quick, cheap test.

Why it pays for itself

  • By hand: about 1 minute per company to open its careers page and scan the openings (estimate), so checking 500 companies ≈ 8 hours; here one search of the whole 12,331-site directory costs $0.02 plus $0.002 per matching job.
  • Most-used Store rival fantastic-jobs/career-site-job-listing-api (7,530 users) charges $0.012 per job on Apify's free plan and $0.004 at its cheapest (Gold and higher) tier, plus a start fee (Apify Store pricing, checked 25 Sep 2026); CyberMax: $0.002 per job at every plan, no start fee.
  • No minimum: ask for 3 jobs and pay $0.006. The rival's API requires at least 10 results per run (our own test, 24 Sep 2026).
  • Job alerts built in: newOnly returns and charges only postings you haven't received yet, so a daily alert costs cents.

▶ Run it on your own list: the example input is already filled in, so the first run takes one click.

Pricing: how much does it cost to scrape career site jobs?

EventPrice
Job returned$0.002
Search across more than 25 career sites (once per run; searches of up to 25 companies are free)$0.02

1,000 jobs from the full directory cost $2.02. A full-directory search that matches nothing costs 2 cents; a search of a few named companies that matches nothing costs nothing, and in monitor mode jobs you've already received are neither returned nor charged. No start fee and no compute charges on top. Set a maximum charge per run in Apify to cap any run.

Monitor mode: job alerts

Set "newOnly": true (or "monitor": true) and run the same search on a schedule. HireHeat Jobs remembers every jobId it returned for this search (in a key-value store named hireheat-jobs-state in your Apify account, keyed by stateKey or by the filters) and each later run returns only postings it hasn't returned before, each marked:

{ "title": "…", "company": "…", "jobId": "greenhouse:vercel:6201179004", "change": "new" }

The first run returns every match as "new". Already-seen jobs are not returned and not charged, so a daily alert costs $0.002 per new job (plus $0.02 per run when it searches more than 25 career sites). A job posting is either new or already seen (there is no "changed" state). Jobs cut off by maxJobs or a charge limit are not marked as seen, so they come back next run. Seen IDs are forgotten after 90 days. The run's SUMMARY adds newJobs and alreadySeenJobs.

Run it on a schedule

In Apify Console: Schedules → Create new → cron 0 8 * * * (daily at 8:00) → Add Actor → HireHeat Jobs with your saved input (or a saved task) and "newOnly": true. Or with the API:

POST https://api.apify.com/v2/schedules?token=YOUR_TOKEN
{
"name": "ml-jobs-daily",
"cronExpression": "0 8 * * *",
"timezone": "America/New_York",
"isEnabled": true,
"actions": [{
"type": "RUN_ACTOR",
"actorId": "cybermax/career-site-jobs",
"runInput": {
"body": "{\"keywords\": [\"machine learning engineer\"], \"locations\": [\"United States\", \"Remote\"], \"newOnly\": true, \"stateKey\": \"ml-us\"}",
"contentType": "application/json"
}
}]
}

Monitor mode makes daily runs cheap: you pay only for new postings. To get the new jobs by email or in Slack, add a webhook or email notification on Run succeeded (Actor → Integrations).

Integrations

Make: Apify app → "Run an Actor" (cybermax/career-site-jobs, input JSON, wait for finish) → "Get Dataset Items".

Zapier: Apify app → "Run Actor" action, or the "Finished Actor Run" trigger on your schedule → a Sheets / Slack / ATS step.

n8n: Apify node ("Run Actor and get dataset"), or an HTTP Request node:

POST https://api.apify.com/v2/acts/cybermax~career-site-jobs/run-sync-get-dataset-items?token=YOUR_TOKEN
{"keywords": ["data engineer"], "remoteOnly": true, "postedWithinDays": 7, "maxJobs": 100}

Google Sheets: Apify's Google Sheets integration, or in a cell:

=IMPORTDATA("https://api.apify.com/v2/acts/cybermax~career-site-jobs/runs/last/dataset/items?format=csv&fields=title,company,location,postedAt,url&token=YOUR_TOKEN")

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("cybermax/career-site-jobs").call(run_input={"keywords": ["data engineer"], "locations": ["Remote"], "maxJobs": 100})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], job["company"], job["url"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('cybermax/career-site-jobs').call({ keywords: ['data engineer'], newOnly: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

AI agents (MCP): call it through Apify's MCP server, https://mcp.apify.com/?tools=cybermax/career-site-jobs (header Authorization: Bearer <your Apify token>). Tool input is the JSON above; output is a flat list of jobs with stable jobIds, so an agent can answer "who is hiring remote Rust engineers this week?" in one call. Claude Desktop / Cursor config:

{ "mcpServers": { "hireheat-jobs": { "url": "https://mcp.apify.com/?tools=cybermax/career-site-jobs", "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" } } } }

When NOT to use HireHeat Jobs

  • You need LinkedIn, Indeed or Glassdoor listings: this reads company career sites only.
  • You need companies on Workday, iCIMS, Taleo or other enterprise ATSs: they aren't covered yet.
  • You want one company's hiring trend (new roles per week, functions, seniority) rather than job rows: use HireHeat: Company Hiring Signals, which also has a monitor mode.
  • You need the full job description text: the output has title, location, department, salary and the apply link, not the description body.

FAQ

Why not fantastic-jobs' Career Site Job Listing API? Pick it if you need full description text and AI-extracted fields (skills, salary parsing); it queries its own job database. HireHeat Jobs reads employers' boards live during your run and costs less per job, but returns titles, locations, salary where posted and apply links, not descriptions.

Why not LinkedIn or Indeed scrapers? Those read job sites, where the same opening can be reposted or stay up after it closes. HireHeat Jobs goes to the employer's own applicant tracking system, so apply links are the real posting and closed jobs vanish when the employer closes them. Job sites do cover employers that don't use these six platforms, which HireHeat Jobs can't read.

Why not check careers pages by hand? Fine for a handful of dream employers. For hundreds of companies or a daily alert, one scheduled run with newOnly does it for cents.

Can I call it from Python, JavaScript or plain HTTP? Yes. POST your input JSON to https://api.apify.com/v2/acts/cybermax~career-site-jobs/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN and the results come back in the response, or use the apify-client package for Python or JavaScript. Recipes for Make, Zapier, n8n and Google Sheets are in Integrations.

Is it legal to use? HireHeat Jobs reads job postings that companies publish on their public Greenhouse, Lever and other career boards, with no login and no personal data. This is general information, not legal advice.

Which job boards does it cover? Company career sites on Greenhouse, Ashby, Workable, SmartRecruiters and Recruitee (12,331 validated boards in the built-in directory), plus Lever and any of those platforms for companies you name in companies.

Is there a Greenhouse or Lever jobs API? Each ATS publishes a public JSON feed per employer. HireHeat Jobs searches all of them at once and returns one schema, so you don't need to know each company's board slug.

How fresh are the jobs? They are read live from each employer's board during the run, so closed jobs are gone and new ones appear the minute the employer posts them.

How much does a first run cost? $0.006 with the prefilled input (3 jobs at one company). There is no start fee and no compute charge on top.

Is there a free trial? Apify's free plan includes monthly credit that covers hundreds of jobs. The free demo page AI & ML jobs posted this week and the free weekly dataset hireheat-career-site-jobs-weekly show real output with no account.

How do I get daily job alerts? Set "newOnly": true, save the input as a task, and schedule it daily (see below). Each run returns only jobs you haven't received.

Can an AI agent use it? Yes, through Apify's MCP server (https://mcp.apify.com/?tools=cybermax/career-site-jobs), and it's in the official MCP Registry.

Why didn't a big company show up? It may use Workday, iCIMS or another ATS that isn't covered yet, or its board isn't in the directory: pass its domain in companies and the Actor looks for the board itself.

Free datasets from the same pipeline

Open data on Hugging Face, built by the same code as this Actor. Download it free; run the Actor when you need your own list, fresh data or alerts.

Start now

▶ Try HireHeat Jobs with a prefilled input · $0.002 per job; +$0.02 once per run only when searching more than 25 companies (1,000 jobs = $2.02). Questions or a missing field? Open an issue on the Store page and it gets answered the same day.

Also from CyberMax

  • HireHeat: one hiring summary per company domain (open and new roles, functions, seniority), with hiring-spike alerts.
  • Hollerdex: emails, phones and socials for the companies you find.
  • DomainDNA: what a hiring company runs on (tech stack, email security, domain age).
  • Logolark: company logos and favicons for your job board.

All tools: Insidewell · Capturewren · Swellmeter · Gripeline · Keyfern · Linkheft · Printwren

How it works and what it collects

Every job comes from the unauthenticated JSON feed that the ATS vendor publishes for the employer's own careers page. The Actor collects no personal data and never logs in. The board directory was built from the Common Crawl URL index and each board was validated live; companies can always be searched directly with companies.

Built by CyberMax. Questions or a missing company? Open an issue on the Actor page.

Changelog

  • 2026-09-24: Searches of up to 25 companies no longer pay the $0.02 search fee (first try now $0.006); head-to-head test vs the most-used career-site jobs Actor; example output table; saved tasks for common searches.
  • 2026-09-23: Monitor mode documented (newOnly/stateKey, aliases monitor/monitorKey; new jobs are marked change: "new", SUMMARY adds newJobs/alreadySeenJobs), schedule & integration recipes, one-company prefill.

Found HireHeat Jobs useful? A quick rating on its Store page helps others find it.