Sales trigger events
A company opening five data-engineering roles is about to buy data infrastructure. Run delta mode daily over your prospect list and route new postings by department into your CRM as timed outreach triggers.
Hiring signals
The ATS Job Board Scraper is an API that collects structured job postings across Workday, Greenhouse, Lever and Ashby from a plain list of company names, in one normalized schema — and in delta mode returns only what changed since the last run: which companies opened new roles and which postings quietly disappeared.
Capabilities
Most job scrapers stop at Greenhouse and Lever because they have friendly APIs. Workday hosts most Fortune 500 careers sites, and this actor speaks its native wday/cxs JSON protocol: automatic tenant discovery from a bare company name, full pagination, relative-date normalization.
The actor fingerprints every run in a key-value store; the next delta run emits only change: “new” and change: “removed” postings. Scheduled daily against a prospect list, that diff is the signal recruiters, sales teams and investors actually pay for.
Company, title, department, location, remote flag, employment type, posted/updated dates, apply URL — identical fields whether the source was Workday or Ashby. No per-ATS parsing on your side, ever.
Plain names are auto-discovered on every enabled source; companies that can't be found are logged and skipped — never a crashed run.
{
"company": "nvidia",
"source": "workday",
"job_id": "JR2018037",
"title": "Senior Systems Software Engineer",
"department": "Engineering",
"location": "US, CA, Santa Clara",
"remote": false,
"employment_type": "Full time",
"posted_at": "2026-07-28",
"change": "new",
"url": "https://nvidia.wd5.myworkdayjobs.com/..."
}{
"companies": ["stripe", "nvidia", "lever:palantir",
"https://jobs.ashbyhq.com/openai"],
"keywords": ["engineer", "data"],
"locations": ["Remote", "New York"],
"mode": "delta"
}Bare names are auto-discovered per ATS (nvidia → nvidia.wd5.myworkdayjobs.com). Prefixes and full board URLs pin a source.
Playbook
A company opening five data-engineering roles is about to buy data infrastructure. Run delta mode daily over your prospect list and route new postings by department into your CRM as timed outreach triggers.
Track which competitors are hiring for what, where — and which searches quietly closed. Removed postings are as informative as new ones.
Hiring velocity by department is an alternative-data signal for private and public companies alike. A normalized daily feed across four ATS systems makes it measurable.
Seed a niche job board from the source ATS systems with one schema, instead of maintaining four scrapers.
Integration
Synchronous REST, official clients, schedules with webhooks — or expose it directly to an AI agent through the Apify MCP server. More patterns on the integrations page.
curl -X POST \
"https://api.apify.com/v2/acts/splendorous_astrolabe_xs9~ats-jobs-workday/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"companies": ["stripe", "nvidia", "lever:palantir",
"https://jobs.ashbyhq.com/openai"],
"keywords": ["engineer", "data"],
"locations": ["Remote", "New York"],
"mode": "delta"
}'from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("splendorous_astrolabe_xs9/ats-jobs-workday").call(
run_input={
"companies": ["stripe", "nvidia", "lever:palantir",
"https://jobs.ashbyhq.com/openai"],
"keywords": ["engineer", "data"],
"locations": ["Remote", "New York"],
"mode": "delta"
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item){
"mcpServers": {
"public-signal": {
"url": "https://mcp.apify.com/?actors=splendorous_astrolabe_xs9/ats-jobs-workday",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}Pricing
Billed through your Apify account's usage credit. The free plan includes $5 of usage every month — no card needed to try it.
| Billable event | Price | Charged |
|---|---|---|
| Job posting | $0.0015 | per result row in the dataset |
A full sweep returning 1,000 postings costs $1.50; a daily delta run emitting 40 changes costs $0.06.
Questions
Workday, Greenhouse, Lever and Ashby — one actor, one normalized schema. Workday support is native (wday/cxs protocol), including tenant auto-discovery and full pagination.
Each run persists a fingerprint of every posting. The next delta run compares against it and emits only records with change: “new” or change: “removed” — you pay only for the diff, not the whole board.
Yes — keywords, locations and a remoteOnly flag are built in, applied before rows are billed.
No. Plain company names are auto-discovered on every enabled source; URLs or source prefixes (lever:palantir) are only needed to pin ambiguous cases.
Related
Fresh LLC and corporation registrations from official state portals, normalized and cleaned of formation-mill noise. Day-one B2B leads.
SAM.gov opportunities, fresh awards, and the money mode: expiring federal contracts 6–12 months before the recompete RFP drops.
A full sweep returning 1,000 postings costs $1.50; a daily delta run emitting 40 changes costs $0.06.