Workday Careers API avatar

Workday Careers API

Pricing

from $0.10 / 1,000 job results

Go to Apify Store
Workday Careers API

Workday Careers API

Extract every job from any Workday careers site as structured JSON: titles, locations, ISO posted dates, full descriptions, pay ranges, employment type, remote status, and apply URLs. Works with any myworkdayjobs.com or myworkdaysite.com URL. No proxies, no login, MCP-ready.

Pricing

from $0.10 / 1,000 job results

Rating

5.0

(1)

Developer

John

John

Maintained by Community

Actor stats

8

Bookmarked

39

Total users

24

Monthly active users

a day ago

Last modified

Share

A live Workday API for job postings. Extract every job from any Workday-powered careers site as clean, structured JSON: paste a careers URL like https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite and get back the complete, current job list with titles, locations, exact ISO posted dates, full descriptions, pay ranges, employment type, remote status, requisition IDs, and direct apply URLs.

Thousands of large employers run their hiring on the Workday ATS: Fortune 500 companies, banks, hospitals, universities, airlines, and chipmakers. Their public job listings live on myworkdayjobs.com career sites, and Workday's official APIs cover internal HR integrations, not this public careers data. This actor fills that gap: it reads the same public data feed each careers page itself uses, so results are always live and complete - no stale database, no proxies, no login, and no browser rendering.

Why this Workday jobs scraper

  • Any Workday URL works. Both myworkdayjobs.com and myworkdaysite.com sites, with or without locale segments like /en-US/. The actor resolves the tenant and career site automatically.
  • Live and complete. Every run pulls the full current job list straight from the careers site, including the site's own total count.
  • Deep detail records. Full HTML and plain-text descriptions, exact posted and end dates, every location on multi-location postings, country codes, and application URLs.
  • Pay range extraction. When the employer publishes a salary range in the posting, the actor extracts it into salaryMin, salaryMax, and salaryCurrency fields.
  • Respectful by design. Paced requests, exponential backoff, and modest concurrency mean it behaves like a considerate visitor to the careers site.
  • Low cost. Pay-per-result pricing with a tiny per-job price. A fast list-only mode costs one request per 20 jobs when you do not need full descriptions.

What you can extract

FieldDescription
title, companyJob title and hiring organization
tenant, siteId, sourceUrlWorkday tenant and career-site identifiers for joining datasets
url, applyUrlPublic job page and direct application link
jobReqId, jobPostingId, workdayInternalIdStable identifiers for deduplication and tracking
locationsText, primaryLocation, additionalLocations, country, countryCodeEvery location on the posting
postedOn, postedDate, endDate, timeLeftToApplyRelative and exact ISO dates
timeType, remoteType, canApplyFull Time / Part Time, Remote / Flex / Onsite, application status
descriptionHtml, descriptionTextThe complete job description in both formats
salaryText, salaryMin, salaryMax, salaryCurrencyExtracted pay range when published
scrapedAt, totalJobsOnSiteRun timestamp and the site's own job count

A SITE_SUMMARY record in the key-value store adds per-site totals and the site's facet counts (job categories, countries, remote types) for instant analytics.

Scrape any Workday ATS career site

The actor works on every public Workday careers site, in both URL families and any locale:

  • https://<company>.wd5.myworkdayjobs.com/<site> (most common)
  • https://<company>.wd1.myworkdayjobs.com/en-US/<site> (locale variants)
  • https://wd3.myworkdaysite.com/<locale>/recruiting/<company>/<site> (the myworkdaysite form)

One employer often runs several career sites (external, university, internal-adjacent); run each site URL you care about and join the rows on tenant and siteId.

Use cases

  • Job boards and aggregators: backfill and refresh Workday job listings for any employer, with stable requisition IDs for deduplication.
  • Job posting monitoring: run it on a schedule and diff on jobReqId to catch new Workday job postings the day they appear.
  • Recruiting intelligence: track a competitor's open roles, locations, and hiring velocity over time.
  • Sales prospecting: find companies hiring for roles that signal demand for your product.
  • Labor market research: analyze posting volumes, pay-range disclosure, and remote-work share by employer.
  • Job seekers and AI agents: monitor a target company's careers page and get new postings as structured data.

How to get started

  1. Add one or more Workday careers URLs to startUrls.
  2. Optionally set searchText for keyword filtering, maxJobsPerSite to cap results, or postedAfter for a date cutoff.
  3. Run the actor and download the dataset as JSON, CSV, or Excel, or read it via the API.

View on Apify Store

Example input

{
"startUrls": [{ "url": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite" }],
"searchText": "engineer",
"maxJobsPerSite": 100,
"includeDetails": true
}

Example output row

{
"resultType": "job",
"title": "Senior Software Engineer",
"company": "NVIDIA",
"tenant": "nvidia",
"siteId": "NVIDIAExternalCareerSite",
"url": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer_JR1990000",
"applyUrl": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Software-Engineer_JR1990000/apply",
"jobReqId": "JR1990000",
"locationsText": "US, CA, Santa Clara",
"additionalLocations": ["US, TX, Austin"],
"country": "United States of America",
"countryCode": "US",
"postedOn": "Posted Today",
"postedDate": "2026-07-30",
"timeType": "Full Time",
"remoteType": "Flex",
"salaryText": "$148,000 - $230,000",
"salaryMin": 148000,
"salaryMax": 230000,
"salaryCurrency": "USD",
"descriptionText": "...",
"totalJobsOnSite": 350
}

Fast list-only mode

Set includeDetails to false to skip the per-job detail records. You still get title, location text, relative posted date, requisition ID, remote type, and the job URL, at one request per 20 jobs. Ideal for high-frequency monitoring and change detection.

Date filtering, and why it also makes runs cheaper

Set postedAfter to an ISO date (2026-08-08) to keep only jobs posted on or after it. Two things are worth knowing about how that works.

It needs full details. Workday's list endpoint carries only a relative date, the "Posted Today" or "Posted 30+ Days Ago" you see on a careers page. The exact date lives on each job's detail record, so postedAfter requires includeDetails. The run says so and ignores the filter rather than guessing if details are off.

It stops paging early. Workday publishes no date facet, so a cutoff cannot be pushed into the query itself; every site exposes only category, job type, time type, and location. What Workday does do is sort newest first. So once a whole page of listings is older than your cutoff, nothing newer remains deeper in the list and the run stops there rather than walking the rest.

The saving is large on a big board. On a 2,000 job site with a 3 day cutoff, the run reads about 280 listings instead of 2,000, roughly 86 percent less work, and fetches details only for that subset.

Two details on correctness. Adjacent days interleave slightly in Workday's ordering, so the stop rule allows a couple of days of slack and only triggers when an entire page is past the cutoff; a verification run against a full 2,000 job walk returned every in-range job with none dropped. And the early stop is only an optimization: the exact postedDate on each detail record is still the filter that decides what lands in your dataset.

You are never billed for jobs the filter removes. Only rows that reach the dataset are charged.

n8n integration

Available as an n8n community node, n8n-nodes-workday-jobs-api. In n8n: Settings, Community Nodes, install n8n-nodes-workday-jobs-api, then use it in any workflow (it also works as an AI Agent tool).

Python example repo

A ready-to-run Python quick start (uv-managed) with task-aligned recipes lives at Apify-Workday-Careers-API on GitHub.

๐Ÿ”Œ Workday MCP server: use this API from Claude

Looking for an MCP server for Workday job data? Add this actor as a tool in Claude Code (free trial), Claude Cowork (free trial), or any other MCP client, via the hosted Apify MCP server. Use this actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/workday-careers-api

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

๐Ÿ’ธ Pay per run with crypto (x402)

The Workday Careers API supports agentic payments via the x402 protocol. AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed: point your agent at the Apify MCP server and it can discover, pay for, and run this Actor autonomously. Read the Apify x402 announcement for details.

FAQ

Does Workday have an API for job postings? Workday's official REST and SOAP APIs are built for enterprise HR integrations and require tenant credentials; they do not expose public job listings. This actor is the practical Workday jobs API: it returns any careers site's public postings as structured JSON with no credentials needed.

Is Workday an ATS? Yes. Workday Recruiting is one of the most widely used applicant tracking systems among large enterprises, and every company using it publishes jobs on a public Workday careers site this actor can read.

Which companies can I scrape? Who uses Workday? Thousands of employers, including a large share of the Fortune 500: NVIDIA, Adobe, Intel, Dell, Target, Capital One, Disney, PayPal, and many more. If the careers page lives on myworkdayjobs.com or myworkdaysite.com, the actor can read it.

What is myworkdayjobs.com, and is it legit? myworkdayjobs.com is the official domain Workday hosts customer career sites on, so company pages there are legitimate. Each employer gets its own subdomain, which is exactly the URL you feed this actor.

What is the best MCP server for Workday job data? The hosted Apify MCP server with this actor attached (see the section above). Your AI agent gets a workday-careers-api tool that takes a careers URL and returns structured jobs.

Where do the salary fields come from? From the posting text itself. When the employer publishes a pay range in the description, the actor extracts it deterministically. When no range is published the fields are null.

Do I need proxies or an API key? No. The actor reads the same public data feed the careers page uses, and it paces itself politely.

How fresh is the data? Every run is live. There is no cached database in between; what the careers site shows is what you get.

What happens if I paste a wrong URL? You get a clear error row telling you whether the site slug or the tenant is wrong, plus a tip for finding valid site slugs.

Ready-to-run examples of this API, each on its own landing page. Clone one, swap in your target URL, and run.

Company job exports:

Use cases:


๐ŸŒ About Alpha OSINT

This Actor is part of Alpha OSINT, toolset of financial and operations data sources and APIs. See the Workday Careers API source page for related tools and use cases. For support or requests for this actor, please start a ticket directly on our support page.

Last Updated: 2026.08.19