Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday avatar

Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Pricing

from $1.20 / 1,000 job results

Go to Apify Store
Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday

Get all open jobs of any company from its career site. Input company names, websites or careers URLs; the ATS (Greenhouse, Lever, Ashby, Workday and 7 more) is detected automatically. Normalized output with salary ranges. $2 per 1,000 jobs.

Pricing

from $1.20 / 1,000 job results

Rating

0.0

(0)

Developer

Martin Farias

Martin Farias

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Career Site Jobs Scraper: Greenhouse, Lever, Ashby, Workday & 7 more ATS

Get every open job straight from company career sites, the source that job boards copy from. Results are fresher, complete, and without duplicates. Type a company name, website or careers URL and the actor finds the career site, detects the applicant tracking system (ATS), and returns all open jobs in one clean schema.

11 ATS platforms in one actor: Greenhouse · Lever · Ashby · Workday · Workable · SmartRecruiters · Recruitee · Personio · Rippling · BambooHR · Breezy HR

👉 Try it now: keep the prefilled input (Stripe, Notion, Palantir) and click Start. 30 jobs cost about 6 cents.

🤖 Quick reference for AI agents

  • Actor ID: gleanery_actors/career-site-jobs-scraper. MCP: https://mcp.apify.com?tools=gleanery_actors/career-site-jobs-scraper
  • Use it when you need the open jobs of specific companies, need to check whether a company is hiring for a role (hiring signals), or need salary ranges from job postings.
  • Minimal input: {"companies": ["Stripe", "openai.com"], "maxItems": 100}. Company names, websites, careers URLs and ats:slug shorthands all work.
  • Useful inputs: titleKeywords, locationKeywords, departmentKeywords, remoteOnly, onlyWithSalary, postedWithinDays, maxPerCompany, presets (ai-companies, fintech, european-scaleups, developer-tools, big-tech-and-unicorns), maxItems (caps the cost)
  • Output: one item per job: companyName, ats, title, department, location, remote, salaryMin, salaryMax, salaryCurrency, postedAt, url, applyUrl, descriptionText
  • Save context tokens: set "descriptionFormat": "none" and "omitEmptyFields": true, and use titleKeywords to filter on the server
  • Cost and speed: $0.002 per job; 100 jobs from 3 companies in about 5 seconds. Filtered-out jobs are never charged.
  • No Apify account? Agents can pay per use with x402 or MPP through agi.apify.com.

✨ Why this career site scraper

  • 🔎 Just type the company: Stripe, notion.so, or any careers/job URL. No need to know which ATS a company uses or its board ID.
  • 📚 Ready-made company presets: about 280 verified companies in 5 one-click lists: AI companies, Fintech, European scale-ups, Developer tools, Big tech & unicorns
  • 🔁 Incremental mode: scheduled runs return only new or changed jobs and charge only for those. Ideal for job boards, alerts and hiring signals.
  • 💰 Salary data where companies publish it: Greenhouse pay-transparency ranges, plus Ashby, Lever, Rippling and Recruitee compensation
  • 🎯 Filters that save money: title and location include/exclude, department, remote only, salary required, posted within N days. Filtered-out jobs are never charged.
  • 🧱 One normalized schema across all 11 ATSs, with plain-text and/or HTML descriptions
  • ✅ Official public job-board APIs: no browser, no login, no proxies, very reliable
  • 💵 $2 per 1,000 jobs, cheaper on paid Apify plans. No start fee, no monthly rental.

🧩 Supported ATS platforms and example inputs

ATSUsed by (examples)Accepted inputs
GreenhouseAirbnb, Stripe, Anthropic, Figma, DatadogStripe, https://boards.greenhouse.io/airbnb, greenhouse:figma
AshbyOpenAI, Notion, Linear, Ramp, PlaidOpenAI, https://jobs.ashbyhq.com/openai, ashby:linear
LeverPalantir, Spotify, Pipedrivehttps://jobs.lever.co/palantir, lever:spotify
WorkdayNVIDIA, Salesforce, big enterpriseshttps://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
WorkableHugging Facehttps://apply.workable.com/huggingface
SmartRecruitersBosch, Canva, Delivery Herohttps://careers.smartrecruiters.com/BoschGroup
Recruiteebunq, Personio, Holdedhttps://bunq.recruitee.com
Personiothousands of European SMEshttps://company.jobs.personio.de
RipplingRippling and its customersrippling:rippling, https://ats.rippling.com/<company>
BambooHRUS SMEshttps://company.bamboohr.com/careers
Breezy HRSMEshttps://company.breezy.hr

How company resolution works: a URL or shorthand is used directly. A website is scanned for its careers page and ATS links. A plain company name is matched against the public board APIs. The SUMMARY record of each run shows how every input was resolved (foundBy) and which ATS was found.

📋 What data you get

FieldDescription
companyName, companyBoard, atsCompany, its board ID and the ATS
jobId, title, department, teamJob basics
location, locations, country, remote, workplaceTypeWhere, and remote/hybrid/onsite
employmentTypeFull-time, part-time, contract…
salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryTextCompensation, when published
postedAt, updatedAtPublication and update dates
url, applyUrlJob page and application link
descriptionText, descriptionHtmlFull description
changeTypeNEW / UPDATED (in incremental mode)

🧾 Input examples

Engineering jobs at all AI companies, remote or in Europe:

{
"presets": ["ai-companies"],
"titleKeywords": ["engineer"],
"locationKeywords": ["remote", "london", "paris", "berlin", "amsterdam"],
"maxItems": 500
}

Your own target-account list (names, websites and URLs mixed):

{
"companies": ["Stripe", "datadoghq.com", "https://jobs.lever.co/palantir", "greenhouse:figma"],
"departmentKeywords": ["sales"],
"maxPerCompany": 50
}

Daily feed of new jobs at fintechs (schedule it daily):

{
"presets": ["fintech"],
"onlyNewOrUpdated": true,
"stateKey": "fintech-daily",
"descriptionFormat": "none",
"maxItems": 2000
}

US salary benchmarking for product managers:

{
"presets": ["big-tech-and-unicorns", "developer-tools"],
"titleKeywords": ["product manager"],
"onlyWithSalary": true,
"locationKeywords": ["US", "United States", "New York", "San Francisco"]
}

📤 Output example

{
"ats": "ashby",
"companyBoard": "openai",
"companyName": "Openai",
"jobId": "8fb1615c-34bf-47c4-a1d1-b7b2f836bbd3",
"title": "Technical Program Manager, Compute Infrastructure",
"department": "Technical Program Management",
"location": "San Francisco",
"country": "United States",
"remote": false,
"employmentType": "FullTime",
"salaryMin": 257000,
"salaryMax": 335000,
"salaryCurrency": "USD",
"salaryInterval": "1 YEAR",
"salaryText": "$257K – $335K • Offers Equity",
"postedAt": "2026-03-12T16:38:15.322Z",
"url": "https://jobs.ashbyhq.com/openai/8fb1615c-34bf-47c4-a1d1-b7b2f836bbd3",
"descriptionText": "ABOUT THE TEAM\n\nThe compute infrastructure team runs…",
"input": "OpenAI"
}

💵 How much does it cost?

You pay per job saved. There is no start fee and no monthly rental, and jobs removed by filters (or skipped as unchanged) are free.

Apify planPrice per 1,000 jobs
Free$2.00
Bronze$1.80
Silver$1.50
Gold and above$1.20
ExampleJobsCost (Free plan)
Quick test (prefill)30$0.06
All engineering jobs at ~50 AI companies~2,000~$4
Daily new-job feed for a 40-company list~30 per day~$1.80 per month

Apify's free plan includes $5 of monthly credit, enough for about 2,500 jobs a month at no cost.

💡 Use cases

  • Job boards and aggregators: source jobs directly from employers. They are fresher than LinkedIn and Indeed copies, and you can attribute them to the original apply URL.
  • Sales intelligence and hiring signals: a company hiring a "Head of Security" or ten SDRs is a buying signal. Feed new postings at your target accounts into your CRM daily.
  • Recruiting and talent intelligence: watch competitors' hiring by department and location, and catch new roles the day they open.
  • Labor-market and salary research: compare pay ranges, remote policies and role demand across hundreds of companies.
  • AI agents and RAG: clean, normalized job data for LLM pipelines, with a description length cap and compact output.

🔌 API, integrations and AI agents

cURL: run the actor and get the jobs in one call:

curl -X POST "https://api.apify.com/v2/acts/gleanery_actors~career-site-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies":["Stripe","OpenAI"],"titleKeywords":["engineer"],"maxItems":100}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("gleanery_actors/career-site-jobs-scraper").call(run_input={
"presets": ["ai-companies"], "titleKeywords": ["engineer"], "maxItems": 200,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["companyName"], "|", job["title"], "|", job["location"])

JavaScript / Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('gleanery_actors/career-site-jobs-scraper').call({
companies: ['notion.so', 'linear.app'], remoteOnly: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Integrations: send new jobs to Slack, Google Sheets, Airtable, HubSpot, Make, Zapier or n8n with Apify integrations and webhooks. Combine them with Schedules and incremental mode for real-time hiring alerts.

AI agents (MCP): connect Claude, Cursor or any MCP client to the Apify MCP server and ask, for example: "Which fintechs opened data-engineering roles in London this week?"

❓ FAQ

My company wasn't found. What can I do? Paste the URL of the company's careers page or of any of its job postings. The ATS is detected from the link. If the company uses an ATS we don't support yet, open an issue and we'll consider adding it.

How fresh is the data? Jobs are fetched live from the company's ATS on every run, with no cached database.

How many jobs can I get per company? All open jobs. Large Workday or SmartRecruiters employers can have thousands, so use maxPerCompany and filters to stay focused.

Why are some salary fields empty? Many companies don't publish pay. Greenhouse ranges are usually only shown for US roles under pay-transparency laws. Use onlyWithSalary to keep only jobs with pay data.

Is this legal? The actor reads the official public job-board APIs that companies publish so their jobs can be shown on other sites. No personal data is collected. Use the data in line with the applicable terms and laws, such as the GDPR.

What's the difference between companies and presets? companies is your own list. presets are lists we curate and verify. You can use both in the same run.

🧰 More data tools from us

  • Job Search API: search open jobs across 10,000+ company career sites by title, location, remote and salary, without a company list.
  • Wellfound Jobs Scraper: startup jobs from Wellfound (AngelList) with salary, equity and company stage.
  • Europages Scraper: European B2B suppliers and manufacturers with website, phone and address.

💬 Support

Need another ATS, a preset for your industry, or found a bug? Open an issue on the Issues tab. We usually reply within 24 hours. If this actor saves you time, a ⭐ review helps a lot.