Workday Job Scraper — Enterprise Careers Sites at Scale avatar

Workday Job Scraper — Enterprise Careers Sites at Scale

Pricing

from $0.00005 / actor start

Go to Apify Store
Workday Job Scraper — Enterprise Careers Sites at Scale

Workday Job Scraper — Enterprise Careers Sites at Scale

Scrape every open job from any Workday careers site (*.myworkdayjobs.com). Handles tenant, host and site resolution, pagination, and per-job detail fetching for full descriptions.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

ATS Data

ATS Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape every open job from any Workday careers site (*.myworkdayjobs.com). Handles tenant, host and site resolution, pagination, and per-job detail fetching for full descriptions.

Input: ["nvidia.com","https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"]
Output: every open job — normalized, deduplicated, salary parsed

What you actually get

Real rows from a live run:

Job titleCompanyDepartmentLocationLevelSalary
Software Engineer, Linux GraphicsnvidianullUS, CA, Santa Claramidnull
Senior Applied Research Scientist, Multimodal Foundation ModelsnvidianullUS, CA, Santa Claraseniornull

Salary reads null when the company doesn't publish one — it is never guessed or filled in. Workday's list endpoint also omits department, so that field is null unless the posting carries it.

Straight to a spreadsheet

Export as CSV and nested fields flatten with / — no post-processing:

title,companySlug,department,locations/0,workplaceType,seniority,salary/min,salary/max,salary/currency,postedAt,source
"Software Engineer, Linux Graphics",nvidia,,"US, CA, Santa Clara",,mid,,,,2026-08-25,workday
"Senior Applied Research Scientist, Multimodal Foundation Models",nvidia,,"US, CA, Santa Clara",,senior,,,,2026-08-25,workday

Full records also carry jobId, employmentType, applyUrl, descriptionText, descriptionHtml, contentHash and scrapedAt. Turn off includeDescription for a smaller, faster payload.


Input

Accepts any of these, mixed freely:

Company domain (nvidia.com) or a Workday careers URL (https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite).

FieldTypeDefaultDescription
companiesarraySee above
onlyNewJobsbooleanfalseReturn only jobs added or changed since the previous run
trackingKeystringdefaultTrack multiple company lists independently
includeRemovedJobsbooleanfalseAlso emit jobs that disappeared
includeDescriptionbooleantrueInclude full description text and HTML
maxJobsPerCompanyinteger0Cap per company (0 = no limit)
workdayFetchDetailsbooleantrueFetch each job's description (one extra request per job)

You don't need to know the board slug. Pass the company domain and it gets resolved automatically.


Change tracking — turn it into a hiring monitor

Set onlyNewJobs: true and schedule the Actor. Each run returns only what changed:

  • added — posted since the last run
  • updated — title, salary, location or description changed
  • removed — job closed or pulled

The first run stores a baseline; every run after that is a diff. Useful for sales intelligence (hiring is a buying signal), recruiting, and keeping a job index fresh without re-ingesting everything.


Output

{
"jobId": "workday:acme:12345",
"source": "workday",
"companySlug": "acme",
"companyDomain": "acme.com",
"title": "Senior Backend Engineer",
"department": "Engineering",
"team": "Platform",
"locations": ["New York, NY", "Remote (US)"],
"workplaceType": "hybrid",
"employmentType": "FullTime",
"seniority": "senior",
"salary": { "min": 180000, "max": 240000, "currency": "USD", "period": "year" },
"descriptionText": "…",
"descriptionHtml": "…",
"applyUrl": "https://…",
"postedAt": "2026-04-07T17:12:35.753Z",
"scrapedAt": "2026-08-24T18:03:28.104Z",
"contentHash": "593a0ec77ef05d3c",
"changeType": "added"
}

contentHash changes only when meaningful content changes — use it for your own diffing.

seniority is derived from the title: intern, junior, mid, senior, principal, manager, director, executive.


Salary

Salary ranges are parsed out of the posting text, handling the formats companies actually use. Version numbers, headcounts and date ranges are not mistaken for salary.

$173,000.00 - $259,600.00/yr → 173000259600 USD/year
€55k–€70k per year → 5500070000 EUR/year
USD 90000 to 120000 annually → 90000120000 USD/year
The salary range is $10,000/month → 10000 USD/month

Companies that don't publish salary return salary: null. Nothing is invented.


Speed

No browser, no proxies — just the public JSON endpoint Workday already serves.

BoardJobsTime
Workday / nvidia2,000depends on detail fetching

A note on workdayFetchDetails

Workday's list endpoint returns no description, and for jobs open in several offices it returns "2 Locations" instead of naming them.

  • true (default) — one extra request per job. You get the full description and the real location (US, CA, Santa Clara).
  • false — much faster and cheaper, but descriptions are empty and multi-office jobs read "N Locations".

Use false when you only need titles and a job count; use the default when you need usable data.


Need more than Workday?

ATS Job Scraper covers Greenhouse, Lever, Ashby and Workday in a single run with the same output schema — useful when your company list spans several ATS platforms.


Notes

  • Only public job board data is collected — the same pages any visitor can open. No accounts, no logins, no personal candidate data.
  • Companies that can't be matched to a Workday board are skipped with a warning; the rest of the run continues.