Career Page Jobs Scraper: Greenhouse, Lever, Ashby, Workday +8
Pricing
$1.00 / 1,000 job scrapeds
Career Page Jobs Scraper: Greenhouse, Lever, Ashby, Workday +8
Scrape job postings from any company careers page. Works with Workable, SmartRecruiters, Personio, Recruitee, Teamtailor, BambooHR, Greenhouse, Lever, Ashby, Workday, Breezy and Pinpoint (auto-detected). Normalized jobs with location, remote, salary, description, apply URL.
Pricing
$1.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
PulseData
Maintained by CommunityActor stats
0
Bookmarked
18
Total users
12
Monthly active users
41 minutes ago
Last modified
Categories
Share
Career Page Jobs Scraper reads the public job boards of 12 applicant tracking systems (ATS) and returns every open position as one normalized record: title, locations, remote flag, department, employment type, salary where available, posting date, full description and apply link. You paste career page or job board URLs, and the actor detects the ATS for you. It costs $1 per 1,000 jobs today, with descriptions included. From 9 October 2026 the price is $2 per 1,000 jobs.
Supported ATS (auto-detected): Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Personio, Recruitee, Teamtailor, BambooHR, Breezy HR, Pinpoint.
Works with Workable, SmartRecruiters, Personio, Recruitee, Teamtailor and BambooHR
There is no separate PulseData actor for these six systems. Paste the company's public job board URL. Each example is a real board:
| ATS | Example board | Notes |
|---|---|---|
| Workable | https://apply.workable.com/huggingface/ | Descriptions need one extra request per job. |
| SmartRecruiters | https://careers.smartrecruiters.com/BoschGroup | Large boards; set maxJobsPerCompany to test first. Returns seniority. |
| Personio | https://360t.jobs.personio.de | .de and .com boards. Returns seniority. |
| Recruitee | https://bunq.recruitee.com | Returns salary when the company fills the pay field. |
| Teamtailor | https://oatly.teamtailor.com | Returns salary when published. |
| BambooHR | https://gitkraken.bamboohr.com/careers | Descriptions need one extra request per job. |
If you only have the company's own careers page and it embeds one of these boards in its HTML, the actor finds the board for you.
Features
- Scrape jobs from any company careers page. Paste
https://example.com/careersand the actor scans the page for an embedded or linked board of one of the 12 systems above. - Scrape Greenhouse, Lever and Ashby job boards with one input list, including EU-hosted Greenhouse and Lever boards.
- Export Workday jobs from any
myworkdayjobs.comcareer site. - Scrape Workable, SmartRecruiters, Personio, Recruitee, Teamtailor, BambooHR, Breezy and Pinpoint jobs with the same input and output as the big four.
- One schema for every ATS. The same field names come back whichever system the company uses, so you can mix hundreds of companies in one dataset.
- Filter jobs by keyword, location, remote and posting date before they are saved (and before you pay for them).
- Export jobs to CSV, JSON or Excel from the Apify dataset, or pull them over the API.
- No proxies needed in normal use. The actor calls the public job board endpoints each ATS already serves to browsers.
Use cases
- Job boards and aggregators: pull fresh postings from a list of companies on a schedule and keep your own board in sync.
- Sales and lead generation: a company hiring a "Salesforce Administrator" or "Head of SEO" is often buying tooling for that team. Put those words in
keywordsand watch a target account list. - Talent intelligence and research: hiring volume by department, location, remote policy and published salary ranges over time.
- Job alerts: schedule a daily run with
postedWithinDays: 1and send new jobs to Slack, email or a webhook.
Input
{"startUrls": [{ "url": "https://boards.greenhouse.io/stripe" },{ "url": "https://jobs.lever.co/spotify" },{ "url": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite" }],"keywords": ["engineer", "data"],"locations": ["Remote", "Berlin", "United States"],"remoteOnly": false,"postedWithinDays": 30,"includeDescription": true,"maxJobsPerCompany": 200}
| Field | Type | Default | What it does |
|---|---|---|---|
startUrls | array | (required) | Career pages or ATS job board URLs. |
keywords | array | [] | Keep only jobs whose title contains one of these words (case-insensitive). |
locations | array | [] | Keep only jobs whose location, secondary locations or country contain one of these strings. |
remoteOnly | boolean | false | Keep only jobs flagged as remote by the ATS or whose location mentions remote. |
postedWithinDays | integer | 0 | Keep only jobs posted or updated in the last N days. 0 means no limit. Jobs without any date are kept. |
includeDescription | boolean | true | Return the description as HTML and plain text. For Workday, SmartRecruiters, BambooHR, Workable and Breezy this costs one extra request per job. |
maxJobsPerCompany | integer | 0 | Cap on jobs returned per career page. 0 means no limit. |
proxyConfiguration | object | { "useApifyProxy": false } | Optional Apify Proxy. Only needed if you hit rate limits. |
Supported URL shapes (the six systems in the table above use the board URLs shown there):
| ATS | Example |
|---|---|
| Greenhouse | https://boards.greenhouse.io/stripe, https://job-boards.greenhouse.io/company, EU: https://job-boards.eu.greenhouse.io/company |
| Lever | https://jobs.lever.co/spotify, https://jobs.eu.lever.co/company |
| Ashby | https://jobs.ashbyhq.com/ramp |
| Workday | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| SmartRecruiters | also https://jobs.smartrecruiters.com/BoschGroup |
| Breezy HR | https://company.breezy.hr |
| Pinpoint | https://company.pinpointhq.com |
| Company site | https://example.com/careers. The page HTML is scanned for boards of the systems above. This works for server-rendered pages; for pages that load the board with JavaScript, paste the board URL directly. |
Output
One dataset item per job:
{"title": "Security Engineer, Cloud","company": "ramp","location": "New York, NY (HQ)","locations": ["New York, NY (HQ)", "Remote (Canada)"],"country": "USA","remote": true,"workplaceType": "Hybrid","department": "Engineering","team": "Backend","employmentType": "FullTime","seniority": null,"salary": "$211.4K–$290.6K","postedAt": "2026-04-07T17:12:35.753Z","updatedAt": null,"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245","applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application","descriptionHtml": "<h1><strong>About Ramp</strong></h1><p>…</p>","descriptionText": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams…","ats": "ashby","atsJobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245","sourceUrl": "https://jobs.ashbyhq.com/ramp","scrapedAt": "2026-08-19T12:41:29.000Z"}
Which fields are filled depends on what each ATS publishes. seniority comes from SmartRecruiters, Personio and Recruitee. salary comes from the ATS where it has a pay field (Lever, Ashby, Teamtailor, BambooHR, Recruitee, Breezy, Pinpoint); otherwise the actor looks for a pay range in the first part of the description text. With includeDescription off, descriptionHtml and descriptionText are left out.
If a URL fails (unknown board, no ATS found on a careers page), the dataset gets one row with sourceUrl and error (for example NO_SUPPORTED_ATS_DETECTED). These rows are not charged.
Pricing
Pay per event: you pay for each job saved to the dataset.
- Now: $0.001 per job ($1 per 1,000 jobs).
- From 9 October 2026: $0.002 per job ($2 per 1,000 jobs).
Worked example: 50 company career pages with an average of 120 open jobs each is 6,000 jobs. That is $6.00 at the current price and $12.00 from 9 October 2026. Jobs removed by keywords, locations, remoteOnly or postedWithinDays are not charged, so filtering to engineering roles only (say 1,500 jobs) brings the same run down to $1.50 now, or $3.00 after the change. Error rows cost nothing.
FAQ
Do I have to tell the actor which ATS a company uses? No. A job board URL is matched against the 12 known URL patterns. Any other URL is fetched and its HTML is searched for links, iframes or scripts that point to a supported board.
What can it not do?
It does not render JavaScript, so a careers page that builds its board entirely in the browser may return NO_SUPPORTED_ATS_DETECTED; paste the board URL instead. It does not support systems outside the 12 listed (for example iCIMS, Taleo or SuccessFactors), and it does not log in or read internal job postings.
Do I need proxies?
Normally no. The endpoints are public and the actor retries on HTTP 429 and 5xx with backoff. Turn on proxyConfiguration only if you run very large lists and see rate limits.
How does maxJobsPerCompany interact with the filters?
For Greenhouse, Lever, Ashby, Teamtailor, Personio, Recruitee and Pinpoint the cap is applied after filtering. For Workday, SmartRecruiters, Workable, BambooHR and Breezy the actor stops fetching at the cap to save detail requests, and filters then run on those jobs, so a run with both a cap and filters can return fewer jobs than the cap.
How accurate is postedAt?
It is the date the ATS publishes. Workday list pages only say "Posted 3 Days Ago", so with includeDescription off the Workday date is approximate and missing for "30+ days" jobs; with descriptions on, the job's start date from the detail page is used.
Which export formats and integrations are available? JSON, CSV, Excel, XML and HTML. You can call it from the Apify API, connect it to Google Sheets, Make, Zapier or n8n, or use it as an MCP tool.
Example pages
Example runs of this actor with real job boards:
- Scrape jobs from Workable career pages
- Scrape jobs from SmartRecruiters career pages
- Scrape jobs from Personio career pages
- Scrape jobs from Teamtailor career pages
- Scrape jobs from Recruitee career pages
- Find remote jobs across company career pages
- Get jobs posted in the last 7 days
- Find engineering jobs across company career pages
The single-ATS versions have their own example runs:
- Export all Stripe job openings (Greenhouse)
- Export all Spotify job openings (Lever)
- Export all OpenAI job openings (Ashby)
- Export NVIDIA job openings from Workday (Workday)
- Find remote jobs on Greenhouse job boards
- Get jobs posted on Lever in the last 7 days
Related actors
- Greenhouse Jobs Scraper: accepts bare board tokens such as
stripe. - Lever Jobs Scraper: accepts bare company names.
- Ashby Jobs Scraper: accepts bare board names.
- Workday Jobs Scraper: for
myworkdayjobs.comcareer sites. - Website Tech Stack Detector: add the tech stack of the companies you find hiring, for lead scoring.
- LinkedIn Ad Library Scraper: see whether a company that is hiring is also running recruitment or product ads on LinkedIn.
- Google Ads Transparency Center Scraper: pair hiring signals with a company's Google ad activity.