๐Ÿ’ผ Career Site Jobs Scraper โ€” 25+ ATS & RMP Platforms avatar

๐Ÿ’ผ Career Site Jobs Scraper โ€” 25+ ATS & RMP Platforms

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
๐Ÿ’ผ Career Site Jobs Scraper โ€” 25+ ATS & RMP Platforms

๐Ÿ’ผ Career Site Jobs Scraper โ€” 25+ ATS & RMP Platforms

Extract job listings from 25 ATS & RMP Platforms. Only $1/1000 jobs. Supports Lever, Greenhouse, Workable, Ashby, Teamtailor, Personio, SmartRecruiters, BambooHR, Workday, iCIMS, Recruitee, JOIN, Pinpoint, Rippling, JazzHR, Comeet and more ATS career portals soon.

Pricing

from $1.00 / 1,000 job results

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

3

Bookmarked

81

Total users

17

Monthly active users

20 hours ago

Last modified

Share

Career Site Jobs Scraper: 25 ATS Platforms

Extract job listings from company career pages built on 25 ATS platforms covering ~60% of the Fortune 500. Returns title, location, department, employment type, remote flag, apply URL, and full description. No login required. HTTP-only, no browser overhead.

Supported Platforms

Tier 1: Full Coverage (original 16 platforms)

PlatformExample URLData
Leverhttps://jobs.lever.co/spotifyTitle, location, department, employment type, description, dates
Greenhousehttps://boards.greenhouse.io/anthropicTitle, location, department, description, dates
Ashbyhttps://jobs.ashbyhq.com/rampTitle, location, department, employment type, remote, description, dates
Workablehttps://apply.workable.com/ometriaTitle, location, department, remote, dates
Teamtailorhttps://career.teamtailor.comTitle, location, department, remote, description, dates
Personiohttps://personio-gmbh.jobs.personio.deTitle, location, department, employment type
SmartRecruitershttps://jobs.smartrecruiters.com/BoschGroupTitle, location, department, employment type, remote, dates
BambooHRhttps://freshworks.bamboohr.com/careers/listTitle, location, department, employment type
Workdayhttps://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSiteTitle, location, employment type, remote, description, dates
iCIMShttps://careers-costco.icims.com/jobs/searchTitle, location (best-effort HTML extraction)
Recruiteehttps://everdrop.recruitee.comTitle, location, department, employment type, remote, description, dates
JOINhttps://join.com/companies/agicapTitle, location, department, employment type, dates
Pinpointhttps://edenred.pinpointhq.comTitle, location, department, employment type, description
Ripplinghttps://ats.rippling.com/rippling/jobsTitle, location, department, employment type, remote, description, dates
JazzHRhttps://agatlaboratories.applytojob.com/applyTitle, location, department
Comeethttps://www.comeet.com/jobs/fiverr/60.002Title, location, department, employment type, remote, dates

Tier 2: Enterprise ATS (Stream A Phase 1)

PlatformExample URLNotes
Phenom{"platform":"phenom","company":"https://jobs.cvshealth.com"}35 F500 companies. SSR inline JSON extraction. Pass as object with platform+company.
Eightfoldhttps://careers.nyl.eightfold.ai/careers15 F500 companies. PCSX + apply/v2 dual API fallback.
Oracle Recruitinghttps://eeho.fa.us2.oraclecloud.com/hcmUI/CandidateExperience/...27 F500 companies. REST finder API with comma-separated params.
TalentBrewhttps://jobs.walgreens.com/en22 F500 companies. AJAX JSON+HTML pagination.

Tier 3: Enterprise ATS (Stream A Phase 2)

PlatformExample URLNotes
Brassringhttps://sjobs.brassring.com/TGnewUI/Search/Home/Home?partnerid=25526&siteid=50327 F500 companies. Session-based Ajax API. Pagination at 50/page, no cap.
ADPhttps://workforcenow.adp.com/mascsr/...?cid=GUID3 F500 companies. Two portal types: WorkforceNow (public OData) and MyJobs (Bearer token).
Avaturehttps://ally.avature.net/careers/SearchJobs/3 F500 companies. HTML scraping with JSON-LD detail enrichment. Supports cross-domain redirects.
Taleohttps://textron.taleo.net/careersection/textron/jobsearch.ftl2 F500 companies (modern API portals). Classic FTL portals require browser rendering: use the Website Job Extractor (Browser) actor for those deployments.

Pass any mix of company URLs; the actor detects the platform automatically and normalises output across all 25 platforms.

Known Unsupported Deployments

12 Fortune 500 companies use deployment-specific anti-bot configurations that prevent HTTP-only scraping. The platforms themselves are supported; these are individual deployment limitations:

CompanyPlatformReason
American AirlinesSuccessFactorsWAF blocks TLS-fingerprinted requests
CorningSuccessFactorsWAF blocks TLS-fingerprinted requests
Edison InternationalSuccessFactorsWordPress CWS career site, JavaScript-only job loading
Valero EnergyTaleoClassic FTL portal requires browser-initialized session
D.R. HortonTaleoClassic FTL portal requires browser-initialized session
Cincinnati FinancialTaleoClassic FTL portal requires browser-initialized session
Vulcan MaterialsTaleoClassic FTL portal requires browser-initialized session
NVRTaleoTBE variant, DWR facade has no job search method
Delta AirlinesAvatureAWS WAF JavaScript challenge
Jacobs SolutionsAvatureAWS WAF JavaScript challenge
ProgressiveJobviteCloudflare JavaScript challenge
SAICJobviteCloudflare JavaScript challenge

Not sure which ATS a company uses? Feed the company website into the Website Job Extractor with skipAtsExtraction: true and it auto-detects supported ATS platforms and returns the ATS portal URL, which you can then feed back into this actor for cheaper structured extraction.

Coming Soon

These platforms are on the roadmap for future releases:

  • Jobvite: browser-based handler for Cloudflare-protected portals
  • Breezy HR: REST API investigation in progress
  • Zoho Recruit: API-based extraction planned

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/career-site-jobs-scraper

Example prompts once connected:

"Use career-site-jobs-scraper to get all open engineering roles at Anthropic (Greenhouse) and Ramp (Ashby). Return as a table with title, location, and apply URL."

"Use career-site-jobs-scraper to scrape job listings from Spotify (Lever), Rippling (Rippling), and Fiverr (Comeet). Which companies have the most remote roles?"

"Use career-site-jobs-scraper to scrape jobs from NVIDIA (Workday), Bosch (SmartRecruiters), and everdrop (Recruitee). Filter for roles in Germany."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.

Features

  • 25 ATS platforms: covers ~302 Fortune 500 companies (~60% of F500) across 16 standard + 9 enterprise ATS platforms
  • Auto-detection: paste any career page URL; platform detection is automatic
  • Normalised output: consistent field names across all platforms
  • Full pagination: follows all pages; no hidden caps (Brassring verified at 23K+ jobs)
  • Deduplication: duplicate job IDs are automatically excluded
  • Optional descriptions: toggle full HTML descriptions on/off to control payload size
  • No credentials needed: all platforms use public endpoints (ADP MyJobs auto-acquires Bearer token)
  • Pay-per-result: only pay for jobs you receive

Data Extracted

FieldExample
id"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
title"Senior Software Engineer"
company"spotify"
ats_platform"lever"
location"San Francisco, CA"
department"Engineering"
employment_type"Full-time"
remotefalse
description"<div>We are looking for...</div>"
apply_url"https://jobs.lever.co/spotify/a1b2c3d4/apply"
job_url"https://jobs.lever.co/spotify/a1b2c3d4"
created_at"2026-01-15T09:00:00Z"
updated_at"2026-04-01T12:00:00Z"
scraped_at"2026-04-25T14:00:00Z"

Data availability by platform

Platformlocationdepartmenttyperemotedescriptiondates
LeverYYYYYY
GreenhouseYY--YY
AshbyYYYYYY
WorkableYY-Y-Y
TeamtailorYY-YYY
PersonioYYY---
SmartRecruitersYYYY-Y
BambooHRYYY---
WorkdayY-YYYY
iCIMSY-----
RecruiteeYYYYYY
JOINYYY--Y
PinpointYYY-Y-
RipplingYYYYYY
JazzHRYY----
ComeetYYYY-Y

Y = available for most companies. Blank = not provided by the platform's public API.

Pricing

Pay-per-result pricing. You only pay for jobs you receive.

EventPriceDescription
Actor start$0.001One-time per run
Job scraped$0.001 eachPer job listing returned ($1 / 1,000 jobs)

Examples:

  • 200 jobs from 4 companies = $0.20 total
  • 1,000 jobs across 10 companies = $1.00 total
  • 10,000 jobs across 20 companies = $10.00 total

No monthly fees. No minimum spend.

Input

FieldTypeDescriptionDefault
queriesarrayCareer page URLs or {platform, company} objectsrequired
maxJobsPerCompanyintegerMax jobs per company. 0 = no limit.500
includeDescriptionbooleanInclude full HTML job description in outputtrue
proxyConfigurationobjectApify proxy settingsAuto

Supported URL formats

https://jobs.lever.co/{company}
https://boards.greenhouse.io/{company}
https://apply.workable.com/{company}
https://jobs.ashbyhq.com/{company}
https://{company}.teamtailor.com
https://{company}.jobs.personio.de
https://jobs.smartrecruiters.com/{company}
https://{company}.bamboohr.com/careers/list
https://{company}.wd{N}.myworkdayjobs.com/{site}
https://careers-{company}.icims.com/jobs/search
https://{company}.recruitee.com
https://join.com/companies/{slug}
https://{company}.pinpointhq.com
https://ats.rippling.com/{company}/jobs
https://{company}.applytojob.com/apply
https://www.comeet.com/jobs/{company}/{uid}

Alternatively, pass an object:

{"platform": "lever", "company": "stripe"}

Usage Examples

Scrape a single company (Lever)

{
"queries": ["https://jobs.lever.co/spotify"],
"maxJobsPerCompany": 200
}

Scrape multiple companies across all 16 platforms

{
"queries": [
"https://jobs.lever.co/spotify",
"https://boards.greenhouse.io/anthropic",
"https://jobs.ashbyhq.com/ramp",
"https://apply.workable.com/ometria",
"https://career.teamtailor.com",
"https://personio-gmbh.jobs.personio.de",
"https://jobs.smartrecruiters.com/BoschGroup",
"https://freshworks.bamboohr.com/careers/list",
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
"https://everdrop.recruitee.com",
"https://join.com/companies/agicap",
"https://edenred.pinpointhq.com",
"https://ats.rippling.com/rippling/jobs",
"https://agatlaboratories.applytojob.com/apply",
"https://www.comeet.com/jobs/fiverr/60.002"
],
"maxJobsPerCompany": 500,
"includeDescription": false
}

Use explicit platform + company

{
"queries": [
{"platform": "greenhouse", "company": "anthropic"},
{"platform": "lever", "company": "spotify"},
{"platform": "ashby", "company": "ramp"},
{"platform": "workable", "company": "ometria"},
{"platform": "teamtailor", "company": "career"},
{"platform": "personio", "company": "personio-gmbh"},
{"platform": "smartrecruiters", "company": "BoschGroup"},
{"platform": "bamboohr", "company": "freshworks"},
{"platform": "recruitee", "company": "everdrop"},
{"platform": "join", "company": "agicap"},
{"platform": "pinpoint", "company": "edenred"},
{"platform": "comeet", "company": "fiverr/60.002"}
],
"maxJobsPerCompany": 100
}

Output

Results are exported to the default dataset. The All fields table view shows title, company, ATS platform, location, department, employment type, remote status, and apply link at a glance.

Export to JSON, CSV, Excel, or connect via the Apify API.

FAQ

Do I need API keys for any of the platforms? No. All sixteen platforms expose their job board data through public unauthenticated endpoints designed for job aggregators and career site widgets.

What if a company isn't found? The actor logs a warning and continues to the next query. It does not fail the entire run.

Are descriptions always available? Greenhouse, Lever, Ashby, Teamtailor, Recruitee, Pinpoint, and Rippling include descriptions when includeDescription is true. Workday returns descriptions via individual job detail requests. Workable, Personio, SmartRecruiters, BambooHR, iCIMS, JOIN, JazzHR, and Comeet do not return descriptions from their public listing endpoints.

How fresh is the data? The actor fetches live data at run time. Jobs posted or closed within the last hour will be reflected immediately.

Can I mix URL formats and explicit platform objects in the same run? Yes. Every entry in queries is parsed independently.

Which platforms are best for the DACH market? Personio is especially popular with German, Austrian, and Swiss companies. SmartRecruiters is used by large European employers like Bosch. Teamtailor, Recruitee, and JOIN are widely used across Europe.

Which platforms are best for Fortune 500 companies? Workday is the dominant ATS for Fortune 500 enterprises (NVIDIA, Salesforce, etc.). iCIMS is also widely used by large US corporations. SmartRecruiters serves large European enterprises.

Are there any limitations with iCIMS or BambooHR? iCIMS portals are JavaScript-rendered SPAs. The actor extracts what it can from the HTML source, but some portals behind AWS WAF may not yield results. BambooHR has been deprecating public career page endpoints, some companies may return empty results or redirects.

How do I find the ATS career page URL for a company?

Most companies link to their career page from their website footer ("Careers", "Jobs", "Join us"). Once on the career page, check where the jobs are actually hosted:

  1. Check the URL in your browser: if you see jobs.lever.co/company, boards.greenhouse.io/company, company.bamboohr.com, apply.workable.com/company, etc., you already have the URL. Just paste it.
  2. Right-click "View Page Source": search for domains like lever.co, greenhouse.io, ashbyhq.com, personio.de, teamtailor.com, etc. Many companies embed their ATS as an iframe or link.
  3. Check the network tab: open browser DevTools (F12), go to Network, reload the careers page, and look for API requests to known ATS domains.
  4. Look at job listing URLs: click any open position. If it redirects to jobs.lever.co/... or apply.workable.com/..., that's your ATS.
  5. Use the LLM Website Job Extractor: the Website Job Extractor with skipAtsExtraction: true discovers a company's careers page from the homepage, detects the ATS, and returns an ats_url you can feed back into this actor for cheaper structured extraction on the next run.

How to use the 2-actor discovery pipeline:

  1. Run Website Job Extractor on company website URLs with skipAtsExtraction: true. The extractor crawls the homepage nav, probes common subdomains (jobs.*, careers.*), and emits ats_system + ats_url when a supported ATS is detected.
  2. Filter the output: rows with ats_system in the supported list (workday, phenom, oracle_recruiting, icims, greenhouse, lever, etc.) can be routed to this actor.
  3. Feed the collected ats_url values into Career Site Jobs Scraper for fast, structured, pay-per-result extraction (~$1 per 1,000 jobs vs LLM token costs).

Part of the Hiring Data Pipeline

This actor works standalone or as part of a 3-actor stack that covers virtually every company careers page on the internet:

  1. Career Site Jobs Scraper (this actor): extracts jobs from 24 HTTP-supported ATS platforms at $1 per 1,000 jobs. Best for companies whose careers page is a known ATS portal.
  2. Website Job Extractor. LLM-powered HTTP extractor for custom-built careers pages that don't run on any commercial ATS. Auto-detects supported ATS (with skipAtsExtraction: true) and emits ats_url so you can route detected companies to this actor on the next run.
  3. Website Job Extractor (Browser). Playwright-based variant for JavaScript-rendered careers pages. Auto-triggered by the HTTP extractor when a page requires browser rendering (enablePlaywrightFallback: true).

Chain them via Apify integrations or MCP for end-to-end automation.

Fortune 500 use case

We audited all 500 Fortune 500 careers pages and published:

F500 coverage by this actor: 293 companies (58.6%) run on one of the 24 supported ATS platforms. Workday alone accounts for 126 F500 deployments. The remaining 207 companies are handled by the Website Job Extractor + Browser variant.

For issues or feature requests, visit the Issues tab.