Workday Jobs Scraper

Extract public Workday career-site jobs, descriptions, requisition IDs, locations, and job families for competitor monitoring, recruiting research, and AI briefs.

Data fields

FieldTypeDescription
titlestringValue exported as title.
companystringValue exported as company.
jobIdstring | nullValue exported as jobId.
workdayIdstring | nullValue exported as workdayId.
externalPathstringValue exported as externalPath.
urlstringValue exported as url.
locationsTextstring | nullValue exported as locationsText.
locationsarrayValue exported as locations.

Input preview

startUrls🏢 Workday career site URLs *
searchText🔎 Keyword search
maxItemsMaximum jobs
includeJobDetails📄 Include job descriptions
companyNameCompany name override
proxyConfiguration🌐 Proxy configuration

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

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, or analyst.
  • 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 searchText to narrow a company career site by keyword.
  • Include descriptions: Keep includeJobDetails enabled 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 maxItems to 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:

  1. Add one or more public Workday career-site URLs, use a consistent companyName override, and schedule the input weekly in Apify.
  2. Keep includeJobDetails: true when your model needs descriptions, exact locations, job families, or employment types; use false for a faster listing-level count.
  3. Send the completed dataset via the Apify API or webhook to n8n, a warehouse, or your AI workflow.
  4. Compare snapshots using company, jobId, workdayId, and url, then summarize new roles, changing job families, remote signals, and location expansion.
  5. Preserve url citations 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: includeJobDetails gives cleaner locations, descriptions, and IDs.
  • Turn details off for speed: Use includeJobDetails: false for quick list-level monitoring.
  • Use company overrides: Set companyName for cleaner dashboards when Workday tenant names are abbreviated.
  • Use the run safety budget for controlled runs: Leave maxRunSeconds at 300 for normal exports. If a platform migration or short controlled run interrupts collection, the Actor writes WORK_CHECKPOINT_V1. It resumes automatically after an in-run migration; for a separate run, copy that record into resumeCheckpoint with 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.
  • remoteType is 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.

Common questions

Questions and answers reused from the canonical actor README.

Does it need a Workday login or cookie?

No. Provide a public Workday career-site URL. The Actor does not access applicant accounts or login-protected pages.

Can I export the results to CSV, JSON, Excel, or an API workflow?

Yes. Every saved job is a dataset row that you can export from Apify or retrieve through the Apify API.

Why are some fields empty?

Workday tenants decide which posting fields they publish. Description, exact locations, job family, date, and remote labels can be unavailable on a particular public posting.

What happens if one company career site is unavailable?

The run keeps rows from the other supplied public career sites and writes a RUN_SUMMARY record with source-level errors and any sources not started before the run deadline. It also checkpoints in-progress work as WORK_CHECKPOINT_V1 so platform migrations do not discard already completed progress.