Workday Job Board Scraper — Enterprise Careers Sites
Pricing
$2.00 / 1,000 job postings
Workday Job Board Scraper — Enterprise Careers Sites
Scrape open roles from any Workday careers site by URL. Handles the tenant/site/datacenter routing automatically and returns title, location, posted date, requisition ID, job family and apply URL.
Pricing
$2.00 / 1,000 job postings
Rating
0.0
(0)
Developer
Berkan Kaplan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Workday Job Board Scraper — Enterprise Careers Sites 🚀
foXLabs hiring series: Greenhouse · Lever · Ashby · SmartRecruiters · Personio · Teamtailor
🎉 Turn any company's Workday board into clean, structured hiring data — no login, no API key, one row per open role. Built for recruiters, sales & competitive-intelligence teams, and anyone scoring hiring intent at scale.
🔍 What is the Workday Job Board Scraper — and when should you use it?
Workday powers the careers site of most large enterprises (NVIDIA, Salesforce and thousands more). Give this actor a Workday careers-site URL and it returns every open role with the full description and employment type — fetched from Workday's own CXS API, no login.
Use it when you need: every open role at a target company, hiring-intent signals (which functions a company is growing), a recruiter sourcing list across many companies, or a clean read of a competitor's headcount plans — from the CXS API behind every myworkdayjobs careers site, no key.
Use something else when: the company doesn't run on Workday. Point the matching actor at its ATS instead — every actor in the foXLabs hiring series emits the same schema, so their outputs concatenate into one hiring-intent table: Greenhouse · Lever · Ashby · SmartRecruiters · Personio · Teamtailor.
🤖 Use with AI agents
Already on the Apify MCP server? Ask for this Actor by name: foxlabs/workday-job-board-scraper.
Your agent can pay for its own runs. This Actor is pay-per-event with agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — no Apify account or API token of its own. Billing is per delivered role, never for errors.
Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want to pull a company's open roles using the Apify Actor `foxlabs/workday-job-board-scraper`.Input: `queries` is a list of a Workday careers-site URL (e.g. `https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite`). `maxResultsPerQuery` caps rows per company (default 200).Start with: {"queries":["https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"],"maxResultsPerQuery":50}Ask me which companies to track, run the Actor, then summarise the roles as a table.
The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/workday-job-board-scraper.md.
📋 Overview
Everything you need to turn a Workday careers board into clean, structured data — role details, metadata and hiring signals — in one actor, with no login, cookies or API key.
Why teams pick this actor:
- ✅ Whole board in one call — every open role, no per-tool stitching.
- ⚡ Slug- or URL-native — paste what you already have; the actor resolves the rest.
- 📄 Complete descriptions — full role text, HTML stripped to clean plain text.
- 🔗 Same schema across the series — join with the six sibling ATS actors on
companyBoard. - 💰 Pay only for results — per-row pricing, empty/failed lookups never billed.
- 🤖 Agent-ready — MCP + x402 agentic payments.
- 🏢 Enterprise coverage — the ATS of the Fortune 500.
- 📄 Full descriptions — fetched per role from Workday's job detail endpoint, not just a listing.
🎬 Quick Start
curl -X POST "https://api.apify.com/v2/acts/foxlabs~workday-job-board-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"],"maxResultsPerQuery":50}'
🚀 Getting Started (3 steps)
- Choose your companies — a Workday careers-site URL (e.g.
https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite). - Set the cap —
maxResultsPerQuerylimits rows per company (default 200). - Run and export — a clean dataset as JSON, CSV or Excel.
📥 Input
{"queries": ["https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite","https://salesforce.wd12.myworkdayjobs.com/en-US/External_Career_Site"],"maxResultsPerQuery": 200,"maxConcurrency": 5,"includeRaw": false}
| Field | Type | Description |
|---|---|---|
queries | array | a Workday careers-site URL (e.g. https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite). |
maxResultsPerQuery | integer | Caps rows per company (default 200). |
maxConcurrency | integer | How many companies to fetch at once. |
includeRaw | boolean | Attach the source's untouched record under raw. |
requestDelayMs | integer | Politeness delay between requests. |
proxyConfiguration | object | Optional. |
📤 Output
One row per open role, saved to the dataset.
| Field | Type | Description |
|---|---|---|
companyName | Tenant name | |
companyBoard | tenant/site — join key across runs | |
jobId | Requisition ID | |
jobTitle | Role title | |
location | Location | |
country | ISO country code | |
isRemote | Remote flag | |
employmentType | Employment / time type | |
postedAt | Posted date (ISO) | |
postedRaw | Workday's own wording (e.g. "Posted Today") | |
description | Full description, HTML stripped | |
applyUrl | Apply link | |
sourceUrl | Public posting URL |
Every row also carries query, scrapedAt, and — when a lookup fails — an error.
💼 Use cases
1. Enterprise hiring intent Input: a competitor's Workday URL, weekly. Output: full role list + descriptions. Use: track which functions a large enterprise is growing.
2. Account expansion signals Input: target enterprise URLs. Output: roles by function over time. Use: spot new teams and initiatives early.
3. Recruiter sourcing Input: several careers URLs. Output: roles + apply links + descriptions. Use: source across enterprise employers.
🔗 Integration
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('foxlabs/workday-job-board-scraper').call({ queries: ['https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite'], maxResultsPerQuery: 50 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('foxlabs/workday-job-board-scraper').call(run_input={'queries': ['https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite'], 'maxResultsPerQuery': 50})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the actor API → handle the JSON dataset → push to a sheet, CRM or dashboard.
📊 Pricing
Pay-per-event: $0.002 per delivered role. Empty or failed lookups are never billed. View current pricing.
❓ FAQ
Do I need an account, login or API key? No. This reads the CXS API behind every myworkdayjobs careers site — no key.
What do I search by? A Workday careers-site URL (e.g. https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite).
How current is the data? Every run queries the source live, so results are as fresh as the board itself.
Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.
What happens on a bad input or empty board? You get a row with your query and an error — nothing is silently dropped, and you're not charged.
Is scraping this legal? It reads a public job feed the company publishes for syndication — job data, not personal data. See below.
🐛 Troubleshooting
- "… is not a Workday careers URL" — pass the full careers URL including the
wdNsubdomain and site name. - Slower than the other ATS actors — Workday needs one detail request per role for the description; that is expected.
- An error row — the URL is wrong or the site is private.
⚠️ Trademark
Independent, third-party tool. Not affiliated with, endorsed by or connected to Workday, Inc.. "Workday" and related marks belong to their owners and are used here for identification only.
⚖️ Is it legal to scrape this data?
This actor reads only publicly published job-posting data — no private or personal user data. Your results can still contain personal data (e.g. a name in a description); personal data is protected by the GDPR and similar laws, so only process it with a legitimate basis. See Apify's blog post on the legality of web scraping.
🤝 Support & contact
- 🌐 Website: data.foxlabs.com.tr
- 📧 Email: info@foxlabs.com.tr
- 🐛 Issues: open a ticket in the Actor's Issues tab
- 🧰 More clean B2B data actors: Fox Labs on Apify
Changelog
0.4.1 — 2026-09-06
- Added
country. Structured ISO country code from the requisition location (100% of roles), for clean country filtering alongside the free-textlocation.
0.4 — 2026-09-06
- Enabled AI-agent payments (x402). Standby mode was removed because Apify's x402 agentic-payment eligibility requires it off; the actor now runs as a standard pay-per-event run that agents can discover, run and pay for over x402 (USDC on Base) or Skyfire without an Apify account. Batch and MCP usage are unchanged.
0.3 — 2026-09-05
- Output schema linked in
actor.json(outputfield) so the Store shows the Output tab. - Standby mode (real-time API). The actor now also runs as an always-on HTTP API:
GET /search?query=<query>&maxResults=Nreturns open roles as JSON, billed per role (pay-per-event). Batch runs are unchanged. Endpoint and OpenAPI schema appear in the Standby tab.
0.2 — 2026-09-05
- Full job descriptions added. The actor previously returned only title, location, date and apply link — no description. It now makes a per-posting detail call to Workday's CXS job endpoint and returns the full description (HTML stripped) and employment type. Empty columns the source never provides have been dropped.
0.1
- Initial release: open-roles listing from any Workday careers site (title, location, posted date, apply URL).