Careers Page Jobs Scraper - Greenhouse, Lever, Workday & More
Pricing
from $1.50 / 1,000 results
Careers Page Jobs Scraper - Greenhouse, Lever, Workday & More
Turn any company careers page into structured job data. Auto-detects Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Personio, Recruitee, BambooHR and Workable boards and returns title, location, remote flag, salary, description and apply link in one schema. Pay per job.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
HerbCode LLC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Careers Page Jobs Scraper (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Personio, Recruitee, BambooHR, Workable)
Turn any company careers page into clean, structured job data. Paste the careers URL (or the ATS job-board URL) and get every open position with title, location, remote flag, department, employment type, posting date, salary (when published) and the full description - all in one unified schema, whichever ATS the company uses.
Works with the nine most common applicant tracking systems used on tech and enterprise careers pages:
| ATS | Example source you can paste |
|---|---|
| Greenhouse | https://boards.greenhouse.io/stripe or greenhouse:stripe |
| Lever | https://jobs.lever.co/spotify |
| Ashby | https://jobs.ashbyhq.com/ramp |
| Workday | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| SmartRecruiters | https://jobs.smartrecruiters.com/SmartRecruiters |
| Personio | https://demo.jobs.personio.de |
| Recruitee | https://company.recruitee.com |
| BambooHR | https://company.bamboohr.com/careers |
| Workable | https://apply.workable.com/company |
| Any company careers page | https://www.example.com/careers - the page is scanned for an embedded ATS board and the right API is used automatically |
No proxies, no browser, no login: every provider is read through the public job-board endpoint the ATS vendor publishes for careers-site embedding, so runs are fast (hundreds of jobs in seconds) and reliable.
What you can do with it
- Job alerts - schedule a daily run over the companies you care about, filter by keyword/location/remote, push new rows to Slack, email or a Google Sheet via Apify integrations.
- Recruiting and sales intelligence - track which companies are hiring for which roles (headcount signals, tech-stack signals from descriptions, expansion into new locations).
- Job boards and aggregators - keep a niche board fresh with direct links to the original posting and apply page.
- Market research - salary ranges, remote policies and role mix across hundreds of employers in one dataset.
- AI agents - the plain-text description field is ready for LLM summarization or matching against a CV.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
sources | array of strings | required | ATS board URLs, provider:slug shorthands, or company careers pages. One per company. |
keywords | array | [] | Keep jobs whose title contains any of these (case-insensitive). |
excludeKeywords | array | [] | Drop jobs whose title contains any of these. |
locations | array | [] | Keep jobs whose location contains any of these strings. |
remoteOnly | boolean | false | Keep only remote jobs. |
postedAfter | date | - | Drop jobs published before this date (jobs without a date are kept). |
includeDescription | boolean | true | Include the job description. Turn off for faster Workday / SmartRecruiters / BambooHR runs. |
descriptionFormat | text / html / both | text | Plain text is best for spreadsheets and LLMs. |
parseSalaryFromText | boolean | true | Parse $120,000 - $150,000-style ranges out of descriptions when the ATS gives no structured pay. |
maxJobsPerSource | integer | 0 (all) | Cap per company. |
maxJobs | integer | 0 (all) | Cap for the whole run - hard cost ceiling. |
searchText | string | - | Server-side search for Workday boards only. |
sourceConcurrency | integer | 3 | Companies fetched in parallel. |
Example input:
{"sources": ["https://boards.greenhouse.io/stripe","https://jobs.lever.co/spotify","https://jobs.ashbyhq.com/ramp","https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],"keywords": ["engineer", "developer"],"remoteOnly": true,"postedAfter": "2026-09-01","maxJobsPerSource": 200}
Output
One dataset item per job. Every provider is mapped to the same fields; a field is null when the ATS does not expose it.
{"id": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","provider": "ashby","company": "ramp","companySlug": "ramp","title": "Security Engineer, Cloud","department": "Engineering","team": "Backend","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],"remote": true,"workplaceType": "hybrid","employmentType": "FullTime","postedAt": "2026-04-07T17:12:35.753Z","updatedAt": null,"salary": { "min": 211400, "max": 290600, "currency": "USD", "interval": "year", "raw": "$211.4K - $290.6K" },"descriptionText": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams...","descriptionHtml": null,"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","sourceUrl": "https://jobs.ashbyhq.com/ramp","scrapedAt": "2026-09-21T16:43:08.071Z"}
A RUN_SUMMARY record in the key-value store lists how many sources succeeded, how many jobs were fetched/filtered/emitted and any per-source errors, so a failing board never silently disappears.
Export as JSON, CSV, Excel, XML or RSS from the Dataset tab, or read it through the API / MCP.
Pricing
Pay per event, no subscription:
| Event | Price | What it means |
|---|---|---|
| Actor start | $0.005 | Once per run. |
job-result | $0.0015 (= $1.50 per 1,000 jobs) | One per job saved to the dataset. Jobs removed by your filters are free. |
Example: watching 25 companies with ~1,500 open jobs costs about $2.26 per full refresh. Use keywords, locations, remoteOnly, postedAfter and maxJobs to pay only for the rows you want. Free-plan users can run it within their free platform credit.
Limits and notes
- Only published, public postings are returned - exactly what the company shows on its careers site. Nothing behind a login is accessed.
- Posting dates: Greenhouse, Lever, Ashby, SmartRecruiters, Personio, Recruitee, BambooHR and Workable expose exact timestamps; Workday exposes the posted date on the detail page (fetched when
includeDescriptionis on) and otherwise a relative "Posted 3 Days Ago" string that is converted to a date. - Structured salary is available from Lever, Ashby and Recruitee when the employer publishes it; for other providers the description is parsed with
parseSalaryFromText. - Workday boards can list thousands of jobs; each job needs one detail request for the description. Use
searchText,maxJobsPerSourceorincludeDescription: falseto keep runs short. - Auto-detection of a company careers page works when the page links or embeds one of the supported ATS boards. If it does not, pass the board URL directly.
- Teamtailor, iCIMS, Taleo, SuccessFactors and Jobvite are not supported yet - open an issue to request one.
FAQ
Is this legal? The Actor reads job-board endpoints that ATS vendors publish specifically for displaying jobs on third-party sites (e.g. Greenhouse Job Board API, Lever Postings API, Ashby Job Posting API). Only public job postings are collected; no personal data and no login-protected content.
How fresh is the data? Each run reads live from the ATS, so the dataset reflects the board at the moment of the run. Schedule the Actor to keep a feed current.
Can I deduplicate across runs? Use the id + provider + companySlug fields as a stable key, or the dataset deduplication options in Apify integrations.