Extract public job postings from Workday-hosted company career sites, including titles, URLs, requisition IDs, locations, employment type, remote signals, categories, and descriptions.
Use it to build hiring intelligence datasets, monitor competitor job pages, track role demand, enrich sales triggers, or keep public Workday job feeds synced through the Apify API.
At a glance
- Workday career site export: Paste one or more public Workday career site URLs and save structured job rows.
- Keyword filtering: Send optional search text such as
engineering,remote,sales, oranalyst. - Job detail enrichment: Include description text, exact locations, Workday IDs, employment type, and category fields.
- Company normalization: Let the actor infer a company name from the Workday tenant or set your own override.
- Automation-ready output: Download CSV/JSON/Excel exports or stream hiring data into dashboards, agents, CRMs, and warehouses.
What can it do?
Workday Jobs Scraper calls public Workday career-site endpoints, paginates through job listings, optionally fetches each job detail page, and saves one dataset row per public job posting.
- Extract public jobs: Save titles, URLs, company names, Workday IDs, requisition IDs, locations, and timestamps.
- Search within Workday: Use
searchTextto narrow a company career site by keyword. - Include descriptions: Keep
includeJobDetailsenabled for description HTML, plain text, categories, and employment fields. - Handle multiple companies: Process more than one Workday career site in the same run.
- Control spend and size: Use
maxItemsto cap saved jobs across all supplied start URLs.
Weekly competitor hiring intelligence with AI
Build a verified brief from named competitors that use public Workday career sites:
- Add one or more public Workday career-site URLs, use a consistent
companyNameoverride, and schedule the input weekly in Apify. - Keep
includeJobDetails: truewhen your model needs descriptions, exact locations, job families, or employment types; usefalsefor a faster listing-level count. - Send the completed dataset via the Apify API or webhook to n8n, a warehouse, or your AI workflow.
- Compare snapshots using
company,jobId,workdayId, andurl, then summarize new roles, changing job families, remote signals, and location expansion. - Preserve
urlcitations and the underlying rows so every AI-generated claim can be checked against its public posting.
Portfolio routing: Choose this Actor for known companies on Workday. Use LinkedIn Jobs Scraper for broad public job discovery by keyword and location, or ATS Jobs Scraper for normalized boards across Greenhouse, Lever, Ashby, Recruitee, SmartRecruiters, and Personio. The Actors return separate schemas, so map company, title, location, identifiers, and URLs in your downstream workflow.
Common workflows
- Competitive hiring intelligence: Track roles, locations, seniority patterns, and remote signals from public Workday sites.
- Recruiting market research: Export job titles and descriptions for skill, role, or location analysis.
- Sales trigger monitoring: Watch target accounts for hiring in relevant teams or regions.
- Talent analytics: Compare job families, employment types, and posting volume over time.
- Job board ingestion: Feed public Workday postings into downstream search, alerting, or enrichment systems.
What data can you extract?
The actor returns one dataset row per saved Workday job posting.
| Field | Description |
|---|---|
title |
Job title |
company |
Company name inferred from the Workday tenant or set by companyName |
jobId |
Public requisition or job ID when available |
workdayId |
Workday internal posting ID when available |
externalPath |
Workday job path |
url |
Public job posting URL |
locationsText |
Human-readable location text |
locations |
Location list from job details |
postedOn |
Posted label from Workday |
postedDate |
Detail-page start or posted date when available |
employmentType |
Employment or time type when available |
jobFamily |
Workday job family when available |
category |
Job family group or category when available |
remoteType |
Inferred Remote or Hybrid signal when present in location text |
descriptionHtml |
Job description HTML when detail fetching is enabled |
descriptionText |
Plain-text job description when detail fetching is enabled |
sourceUrl |
Input Workday career site URL |
scrapedAt |
ISO timestamp for the scrape |
Example input
{
"startUrls": [
{
"url": "https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"
}
],
"searchText": "engineering",
"maxItems": 25,
"includeJobDetails": true,
"companyName": "NVIDIA",
"proxyConfiguration": {
"useApifyProxy": false
}
}
Example output
{
"title": "Senior Software Engineer",
"company": "NVIDIA",
"jobId": "JR1999999",
"workdayId": "abc123",
"externalPath": "/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer_JR1999999",
"url": "https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer_JR1999999",
"locationsText": "US, CA, Santa Clara",
"locations": ["US, CA, Santa Clara"],
"postedOn": "Posted 2 Days Ago",
"postedDate": null,
"employmentType": "Full time",
"jobFamily": "Engineering",
"category": "Engineering",
"remoteType": null,
"descriptionText": "We are looking for a senior software engineer...",
"sourceUrl": "https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite",
"scrapedAt": "2026-07-03T10:00:00.000Z"
}
Tips for best results
- Use the public career site URL: Start from a Workday-hosted careers page, not a private applicant portal.
- Search narrowly first: Test with one company, one keyword, and
maxItems: 25. - Keep details on for analysis:
includeJobDetailsgives cleaner locations, descriptions, and IDs. - Turn details off for speed: Use
includeJobDetails: falsefor quick list-level monitoring. - Use company overrides: Set
companyNamefor cleaner dashboards when Workday tenant names are abbreviated. - Use the run safety budget for controlled runs: Leave
maxRunSecondsat 300 for normal exports. If a platform migration or short controlled run interrupts collection, the Actor writesWORK_CHECKPOINT_V1. It resumes automatically after an in-run migration; for a separate run, copy that record intoresumeCheckpointwith the same collection settings.
Limits and practical notes
- The actor extracts public Workday-hosted job postings only.
- It does not access private applicant accounts, candidate data, saved applications, or login-gated pages.
- Some Workday tenants use custom site names, regions, or posting fields, so a few fields can be empty.
remoteTypeis inferred from location text and may be empty when Workday does not label a role as remote or hybrid.- Source career pages can change structure or availability over time.
API usage
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~workday-jobs-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"startUrls":[{"url":"https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"}],"searchText":"engineering","maxItems":25}'
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/workday-jobs-scraper').call({
startUrls: [{ url: 'https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite' }],
searchText: 'engineering',
maxItems: 25,
includeJobDetails: true
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/workday-jobs-scraper").call(run_input={
"startUrls": [{"url": "https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite"}],
"searchText": "engineering",
"maxItems": 25,
"includeJobDetails": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
MCP and AI agents
Use this actor from MCP-compatible tools through the official Apify MCP Server. The focused URL below exposes this Actor; the general server can search and run the wider Apify catalog.
Add it to Claude Code:
claude mcp add --transport http apify-workday-jobs https://mcp.apify.com?tools=fetch_cat/workday-jobs-scraper
Or add this JSON configuration to an MCP client:
{
"mcpServers": {
"apify-workday-jobs": {
"url": "https://mcp.apify.com?tools=fetch_cat/workday-jobs-scraper"
}
}
}
Example prompts:
- "Scrape public engineering jobs from this Workday career site and summarize the locations."
- "Monitor these Workday companies weekly and flag new remote roles."
- "Export public Workday job descriptions for hiring-market analysis."
Legality and responsible use
This actor extracts publicly available job postings from Workday-hosted career sites.
Use the data responsibly, follow Workday site terms, Apify's terms, and applicable employment, privacy, and anti-spam laws.
Do not use the actor to access private candidate data, applicant accounts, or login-protected workflows.
Support
If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.
Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.
Need help?
Start with one Workday career site, one keyword, and a small maxItems value. If parsing fails, confirm the URL is a public Workday career site and not a login-protected applicant page.
Privacy and data handling
This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.
Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.
You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.