VOOZH about

URL: https://apify.com/bovi/greenhouse-lever-ashby-job-scraper

โ‡ฑ Greenhouse, Lever & Ashby Job Scraper โ€” ATS API ยท Apify


๐Ÿ‘ Greenhouse, Lever & Ashby Job Scraper API | $1.50/1K avatar

Greenhouse, Lever & Ashby Job Scraper API | $1.50/1K

Pricing

from $1.45 / 1,000 job results

Go to Apify Store

Greenhouse, Lever & Ashby Job Scraper API | $1.50/1K

Scrape job postings across 6 ATS โ€” Greenhouse, Lever, Ashby, Recruitee, SmartRecruiters & Personio โ€” into one unified schema. Descriptions, salary, seniority and remote-type included. Change-detection between runs, ATS auto-detect, curated company presets. No login, no browser, pure API.

Pricing

from $1.45 / 1,000 job results

Rating

0.0

(0)

Developer

๐Ÿ‘ Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

49

Total users

24

Monthly active users

an hour ago

Last modified

Share

Job Scraper โ€” Greenhouse, Lever, Ashby, Recruitee, SmartRecruiters & Personio

Built for talent intelligence teams, job aggregators, and AI pipelines that need clean, structured job data from multiple ATS platforms โ€” without writing a scraper per platform.

Pay per result โ€” $1.50 / 1,000 jobs. Try it free on the Apify free plan.

Scrape job postings across 6 major ATS platforms in a single run โ€” every job comes back in one unified schema, no matter which ATS hosted it. No login, no API key, no proxy, no browser: this scraper reads each ATS's public JSON/XML endpoint directly, so it's fast, cheap and stable.

Give it a list of company slugs โ€” or skip the research and use a preset list, or let it auto-detect the ATS for you. Get clean, enriched rows with descriptions, salary, seniority and remote-type built in. Try it free โ€” Apify's $5/month free tier covers thousands of jobs.

What this job scraper does

  • Pulls every open posting from Greenhouse, Lever, Ashby, Recruitee, SmartRecruiters and Personio boards.
  • Normalizes six wildly different ATS formats into one flat schema.
  • Auto-detects the ATS when you only have a company name.
  • Enriches every job with seniority (intern โ†’ executive) and remote-type (remote / hybrid / onsite).
  • Returns full job descriptions (plain text + HTML), salary where the ATS exposes it, department, team, employment type, apply URL and posted date.
  • Change-detection between runs โ€” get only new and newly-closed jobs.
  • Curated company presets so you can start without researching slugs.
  • Filters by title keyword, location, or remote-only; output profiles to keep payloads lean.

Supported ATS platforms

ATSBoard URLExample slug
Greenhouseboards.greenhouse.io/{slug}stripe
Leverjobs.lever.co/{slug}spotify
Ashbyjobs.ashbyhq.com/{slug}ramp
Recruitee{slug}.recruitee.combunq
SmartRecruitersjobs.smartrecruiters.com/{slug}Visa
Personio{slug}.jobs.personio.depersonio

Most multi-ATS scrapers stop at the big three. This one covers six.

What data you get

One rectangular row per job โ€” identical keys across every ATS:

{
"ats":"ashby",
"company":"ramp",
"title":"Senior Security Engineer, Cloud",
"location":"New York, NY (HQ)",
"remote":true,
"remote_type":"remote",
"department":"Engineering",
"team":"Backend",
"employment_type":"FullTime",
"seniority":"senior",
"salary":"$211.4K - $290.6K",
"url":"https://jobs.ashbyhq.com/ramp/34413f8d-...",
"apply_url":"https://jobs.ashbyhq.com/ramp/34413f8d-...",
"posted_at":"2026-04-07T17:12:35.753+00:00",
"job_id":"34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"global_id":"ashby:ramp:34413f8d-...",
"description_text":"About Ramp\n\nRamp is building...",
"description_html":"<p>About Ramp...</p>"
}
  • global_id ({ats}:{company}:{job_id}) is a stable key for joining, diffing and de-duplicating across runs.
  • seniority and remote_type use the ATS's native fields where present and fall back to title/location inference.
  • salary is filled where the ATS publishes it (Ashby has the cleanest comp data; most boards don't expose salary).

Who uses this scraper

  • Job boards & aggregators โ€” power a niche board from a curated company list; one ETL, six ATS covered.
  • Sales & B2B prospecting โ€” "company X just opened 5 engineering roles" is a hiring signal. Track accounts and route to your CRM.
  • Recruiters & sourcers โ€” pull every open role at target companies, refresh nightly with change-detection.
  • Market & wage researchers โ€” build salary and hiring datasets on a stable, enriched schema.

How to use

  1. Click Try for free.
  2. In the Input tab, either:
    • add companies, e.g. { "ats": "greenhouse", "company": "stripe" } (omit ats to auto-detect), or
    • pick a preset list: top-tech, ai-ml, devtools, fintech.
  3. Optionally set titleKeyword, locationKeyword, remoteOnly, includeDescriptions, outputProfile, or maxJobsPerCompany.
  4. Click Start, then download the dataset as JSON, CSV, or Excel โ€” or pull it via the Apify API.

Daily "new jobs only" feed

Turn on onlyNewSinceLastRun and schedule the actor (hourly/daily). The first run snapshots the jobs; every run after that emits only new jobs (is_new: true) and closed jobs (is_closed: true). Wire it to a webhook, Slack, Zapier or Make for real-time hiring alerts.

How to find a company's slug

The slug is the path segment in the company's careers URL:

  • boards.greenhouse.io/stripe โ†’ stripe
  • jobs.lever.co/spotify โ†’ spotify
  • jobs.ashbyhq.com/ramp โ†’ ramp
  • bunq.recruitee.com โ†’ bunq
  • jobs.smartrecruiters.com/Visa โ†’ Visa
  • personio.jobs.personio.de โ†’ personio

Why use this scraper

  • Six ATS, one schema โ€” no per-ATS glue code on your side.
  • Public APIs, not HTML scraping โ€” doesn't break on careers-page redesigns, and runs in seconds without a browser.
  • Enriched out of the box โ€” seniority, remote-type, descriptions, salary.
  • Change-detection โ€” track hiring movement, not just snapshots.
  • Pay only for results โ€” a run that finds nothing costs nothing.

Use with AI agents (MCP)

This scraper is callable as a tool by AI agents (Claude Desktop, Cursor, VS Code, n8n, LangGraph, CrewAI, or any MCP-compatible client) via Apify's hosted Model Context Protocol server. An agent uses it to fetch live open-job data for a named company mid-conversation โ€” e.g. "list Stripe's open engineering roles" or "is company X hiring?".

Point your MCP client at this single tool:

{
"mcpServers":{
"apify":{
"command":"npx",
"args":[
"mcp-remote",
"https://mcp.apify.com/?tools=bovi/greenhouse-lever-ashby-job-scraper",
"--header",
"Authorization: Bearer <YOUR_APIFY_TOKEN>"
]
}
}
}

Minimal call an agent can make (use outputProfile: "compact" to keep the response token-lean โ€” drops the HTML description):

{"companies":[{"ats":"greenhouse","company":"stripe"}],"outputProfile":"compact"}

Returns clean, flat rows the agent can reason over directly:

{"ats":"greenhouse","company":"stripe","title":"Staff Engineer","location":"Remote, US",
"remote_type":"remote","seniority":"staff","salary":null,"posted_at":"2026-05-29",
"url":"https://boards.greenhouse.io/stripe/jobs/...","global_id":"greenhouse:stripe:..."}

Reliability for agents: the data comes from each ATS's official public API (not HTML scraping), so rows don't silently break on careers-page redesigns, and every row has a stable global_id for de-duplication. Stale/invalid company slugs are reported in failedTargets, never as bad rows. The minimal profile trims further to just the core fields. No API key needed inside the tool โ€” auth is your Apify token in the client config above.

Vs competitor comparison

FeatureThis actori-scraper ($1.90/1k)nexgendata ($50/1k Lever-only)
ATS platforms6 (GH + Lever + Ashby + SR + Recruitee + Personio)31
parse_confidence scoreYesNoNo
Monitoring / delta detectionYes (onlyNewSinceLastRun)NoNo
Seniority enrichmentYes (11 levels)PartialNo
Price$1.50/1k$1.90/1k$50/1k

Every record carries parse_confidence (0.0โ€“1.0) and warnings. This is the key differentiator vs every competitor โ€” your pipeline sees data quality signals before it sees broken output.

Pricing

This actor uses Apify's pay-per-result model: $1.50 / 1,000 jobs ($0.0015 per record). You're charged per job row returned, nothing for companies that come back empty. The actor reads lightweight JSON/XML, so runs are cheap and fast. Apify's free $5/month tier covers thousands of jobs for testing. Tip: set outputProfile to compact or minimal, or use onlyNewSinceLastRun, to keep scheduled runs lean.

FAQ

Do I need a proxy or API key? No. All six ATS expose public job-board endpoints that need no authentication.

What output formats are available? JSON, JSONL, CSV, and Excel via the Apify dataset export, plus the Apify API.

Can I run it on a schedule? Yes โ€” use Apify Scheduler, and combine it with onlyNewSinceLastRun for a new-jobs-only feed wired to a webhook.

What if I don't know which ATS a company uses? Leave out the ats field. The actor probes each platform and uses whichever responds โ€” built-in ATS detection.

What happens if a company's slug is wrong or it switches ATS? It's reported in the run summary's failedTargets and skipped โ€” it never breaks the run.

Integrations

Built for talent-intelligence teams and job aggregators pulling normalized job data across multiple ATS platforms in one run โ€” the JSON/dataset output drops into the tools you already run, no glue code:

  • n8n / Make / Zapier โ€” trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
  • Webhooks โ€” fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
  • MCP server โ€” expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
  • API & SDKs โ€” fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.

See all Apify integrations.

Use it from your existing tools

Use with Claude Desktop / Cursor / Cline (MCP)

This actor is part of the Apify Jobs & Hiring Intelligence Suite โ€” a curated set of 6 actors you can load together as agent tools. Call it directly from your AI assistant via the Apify MCP server โ€” no Store browsing needed. Paste this into your MCP client config (e.g. claude_desktop_config.json) and restart the client:

{
"mcpServers":{
"apify-jobs":{
"command":"npx",
"args":[
"-y",
"@apify/actors-mcp-server",
"--tools",
"bovi/greenhouse-lever-ashby-job-scraper,bovi/seek-jobs-scraper,bovi/naukri-jobs-scraper,bovi/xing-jobs-scraper,bovi/indeed-employer-intelligence,bovi/hiring-signal-monitor"
],
"env":{
"APIFY_TOKEN":"YOUR_APIFY_TOKEN"
}
}
}
}

Replace YOUR_APIFY_TOKEN with your own Apify API token (free at apify.com โ†’ Settings โ†’ Integrations). Curated to a handful of tools so the agent selects reliably.

Works with Clay

Run this actor as an HTTP enrichment step inside a Clay table:

  • Method: POST
  • URL: https://api.apify.com/v2/acts/bovi~greenhouse-lever-ashby-job-scraper/run-sync-get-dataset-items?token={{apify_token}}
  • Body (JSON): map your Clay columns to the actor input (see the Input section above), e.g. {"companies": "{{clay_column}}"}

The run finishes synchronously and returns the dataset rows straight into your Clay table. It runs on Apify's cloud under your own token and usage. Synchronous runs must complete within 300 seconds.

More scrapers from our toolkit

Building a data pipeline? These actors pair well with this one โ€” each runs on your own Apify account with the same pay-per-result pricing, no subscription:

Chain any of them together from the Integrations tab (the Run succeeded trigger) to build a multi-step workflow โ€” one actor's output feeds the next.

You might also like

Ashby Jobs API

fantastic-jobs/ashby-jobs-api

The perfect Ashby Job Scraper API! Direct postings from thousands of company career sites. Enriched with AI and LinkedIn company data, with up to 60 fields per job! Powered by Fantastic.jobs

๐Ÿ‘ User avatar

Fantastic.jobs

193

Multi-ATS Jobs Scraper (Greenhouse, Lever, Ashby)

alwaysprimedev/multi-ats-jobs-scraper

Scrape job postings from Greenhouse, Lever, and Ashby into one unified, structured dataset. No login. Salary, location, department, employment type โ€” normalized across all three ATS. Per-company change-detection between runs.

23

Exa.ai People Search

fantastic-jobs/exa-ai-people-search

Unofficial Apify wrapper for Exa.ai's People search. 1 Billion+ Profiles! Advanced people search for sales, recruiting, and market research. Find professionals by role, location, skills, and more across LinkedIn and other professional networks.

๐Ÿ‘ User avatar

Fantastic.jobs

53

Lever.co Jobs Api

fantastic-jobs/lever-co-jobs-api

The perfect Lever Job Scraper API! Direct postings from thousands of company career sites. Enriched with AI and LinkedIn company data, with up to 60 fields per job! Powered by Fantastic.jobs

๐Ÿ‘ User avatar

Fantastic.jobs

73

iCIMS Jobs API

fantastic-jobs/icims-jobs-api

The perfect iCIMS Job Scraper API! Direct postings from thousands of company career sites. Enriched with AI and LinkedIn company data, with up to 60 fields per job! Powered by Fantastic.jobs

๐Ÿ‘ User avatar

Fantastic.jobs

19

LinkedIn Email + Profile Scraper โšก Active Leads (No Login)

slothtechlabs/linkedin-email-finder-profile-scraper-no-login

The LinkedIn email scraper that skips dormant profiles. Real company domain pulled from the company's LinkedIn page (not guessed from its name), top-3 email patterns with honest confidence, activity score, seniority & decision-maker signals, industry. CRM-ready CSV. Pay per success โ€” failed = free.

234

Greenhouse Jobs API

fantastic-jobs/greenhouse-jobs-api

The perfect Greenhouse Job Scraper API! Direct postings from thousands of company career sites. Enriched with AI and LinkedIn company data, with up to 60 fields per job! Powered by Fantastic.jobs

๐Ÿ‘ User avatar

Fantastic.jobs

362

3.0