Workday, Greenhouse, Lever & Ashby Jobs Scraper + Change Alerts
Under maintenancePricing
from $0.80 / 1,000 job returneds
Workday, Greenhouse, Lever & Ashby Jobs Scraper + Change Alerts
Under maintenanceScrape jobs from Workday, Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee career sites using just a company domain. Re-run to get only new and filled roles, tagged with hiring signals for sales teams and recruiting agencies. Pay only for companies found.
Pricing
from $0.80 / 1,000 job returneds
Rating
0.0
(0)
Developer
Signalyard
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
Scrape every open job from a company's career site using just its domain, across Workday, Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee. Re-run it (or schedule it) to get only the roles that were posted or filled since the last check, each tagged with the hiring signal it suggests. Built for sales teams and recruiting agencies. You only pay for companies we find.
Supported hiring platforms: Workday, Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee.
Why sales and recruiting teams use it
- Hiring = buying intent. A company posting its first Head of Security is about to buy security tools. Five new Account Executive roles means the sales team is growing and needs tooling.
- Changes, not dumps. Schedule it daily or weekly in
changesmode and you get a short feed of what's new instead of re-downloading thousands of unchanged jobs. - Just domains. You don't need to know which hiring platform a company uses or what its board is
called. Paste
stripe.comand the tool finds the board. - Clean, official sources. It reads each platform's public job-board API (the same feeds companies use to show jobs on their own careers pages). No logins, no browser automation, no personal data.
Input
{"companies": ["stripe.com", "linear.app", "https://jobs.lever.co/palantir"],"outputMode": "changes","titleKeywords": ["security", "data engineer"],"locationKeywords": ["New York", "Remote"]}
| Field | What it does |
|---|---|
companies | Domains or job-board URLs. |
outputMode | all = every open job; new = posted since last run; changes = new + removed. |
titleKeywords / excludeKeywords | Whole-word filters on title, department and team. |
locationKeywords, remoteOnly | Location filters. |
signals | Your own tag → keywords map (defaults: leadership-hire, security, data-ai, sales-expansion, revops-crm). |
stateStoreName | Separate "memory" per watchlist. |
Output (one row per job)
{"status": "new","company": "openai.com","ats": "ashby","title": "Senior Technical Program Manager - Security","department": "Security","location": "US - Remote; New York City; Seattle; Washington, DC; San Francisco","remote": true,"compensation": "$165.4K – $285K • Offers Equity • Multiple Ranges","postedAt": "2026-06-25T17:30:54.205+00:00","url": "https://jobs.ashbyhq.com/openai/c414f15f-...","signals": ["security"],"firstSeenAt": "2026-11-02T19:40:56.884Z","matchedBy": "slug-guess"}
status is baseline (first run), new, seen or removed. A run summary (companies resolved,
not found, ambiguous matches, new and removed counts) is saved as OUTPUT in the default key-value store.
matchedBy tells you how the board was found:
input-url: you gave the board URL.careers-page: a link was found on the company's website.slug-guess: a board named like the domain. These are checked against the board's public name and how recent its postings are, but treat them as likely rather than certain. Pass the board URL to pin it.
Pricing (pay per event)
| Event | Price |
|---|---|
| Company checked (only when a job board is found) | $0.004 |
| Job returned | $0.0008 |
You only pay for companies we find. Companies on unsupported platforms are listed as "not found" in the run summary and cost nothing.
Watching 500 companies weekly in changes mode costs roughly $10/month. Downloading every job
from a database priced per job usually costs far more for the same accounts.
Limitations (v0.1)
- Workday: found automatically when the company's careers page links to it, or when its board uses a common name. Some large employers use unusual board names that can't be guessed. Paste the Workday URL (e.g.
https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite) to pin it. - Workday dates: Workday only shows vague dates ("Posted 30+ Days Ago"), so
postedAtis filled for recent jobs only. The original text is inpostedText, andfirstSeenAttracks exactly when the tool first saw each job. - Workday size: Workday returns at most 2,000 jobs per board.
- Not yet supported: iCIMS, SuccessFactors, BambooHR, Personio, Teamtailor.
- Careers pages that only render with JavaScript fall back to the name-based guess.
- Greenhouse and Lever boards rarely publish salary ranges; Ashby boards often do.
Developer notes
src/ats.js: board detection + one reader per platform (normalized output).src/signals.js: filters and signal tags.src/main.js: Apify glue: input, change detection (named key-value store), dataset, pay-per-event charges.- Run locally: put input in
storage/key_value_stores/default/INPUT.json, thennpm start. - Deploy:
npm i -g apify-cli,apify login,apify push. Then set pay-per-event prices in Console → Actor → Publication → Monetization, using the event namescompany-checkedandjob-result.