Workday Jobs Scraper & API – Any Career Site, New Job Alerts
Pricing
from $1.50 / 1,000 job results
Workday Jobs Scraper & API – Any Career Site, New Job Alerts
Scrape jobs from any Workday career site (myworkdayjobs.com) with country, title, and keyword filters. Get descriptions, locations, dates, and apply links, plus new, updated, and closed jobs between runs for alerts and hiring signals.
Pricing
from $1.50 / 1,000 job results
Rating
0.0
(0)
Developer
Pharaoh Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Every job from any Workday career site, plus what changed since your last run
Paste the career-site URLs of the companies you care about: any *.myworkdayjobs.com or myworkdaysite.com site, such as NVIDIA, Salesforce, Intel, Adobe, or Mastercard. You get clean job records with titles, all locations, ISO country codes, posting dates, requisition IDs, apply links, and full descriptions.
Turn on change tracking and every scheduled run tells you which jobs are new, updated, or closed. That's a ready-made feed for job boards, recruiting alerts, and hiring-signal tools.
Built for:
- Job boards and aggregators that need fresh, deduplicated jobs from enterprise employers on Workday.
- Recruiters and talent-intelligence teams who want to know the day a target company opens or closes a role.
- B2B sales teams who use new hiring as a buying signal (for example, a company starts hiring data engineers in Germany).
- Analysts and investors tracking hiring velocity by company, country, or team.
Why this Workday scraper
| Country filter on the site | Ask for Germany, AE, or "Saudi Arabia". The Actor finds each site's own location filter (Workday names it differently per site) and applies it before downloading, so a 2,000-job site returns only the jobs you asked for. |
| New, updated, and closed jobs | Each job is labelled against the previous run of the same monitor. Closed jobs are reported only when a site's full listing was read, so a truncated run never produces false closures. |
| Fast scheduled runs | In "Changes only" mode, detail pages are read only for new and updated jobs. A repeat run over five large employers took 11 seconds instead of 46. |
| Real countries | ISO 3166-1 codes from Workday's own job data, plus location parsing that keeps "US, CA" as California, not Canada. |
| Any URL form | A career-site URL, a locale URL (/en-US/...), a job link, or a myworkdaysite.com/recruiting/... URL all work. |
| Polite and compliant | robots.txt is checked for every site, there's a per-site rate limit (2 requests per second by default), and no proxies or logins are used. Contact details inside descriptions are redacted by default. |
Quick start
- Open a company's careers page. If its job links go to
something.wd5.myworkdayjobs.com/..., copy that URL. - Paste one or more URLs under Workday career-site URLs.
- Optionally add Countries, Search text, titles, locations, or keywords.
- Run. To monitor, save it as a task with a schedule (for example daily) and switch Output to Changes only.
{"careerSiteUrls": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite","https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"],"countries": ["Germany", "United Arab Emirates", "Saudi Arabia"],"searchText": "","jobTitles": [],"postedWithinDays": 0,"maxJobsPerSite": 500,"includeDescriptions": true,"trackChanges": true,"outputMode": "changes","monitorId": "enterprise-gulf-germany"}
Output
{"jobId": "workday:example:external:Solutions-Architect---AI--Middle-East_JR1000001","company": "Example","hiringEntity": "Example Technologies FZ-LLC","siteUrl": "https://example.wd5.myworkdayjobs.com/External","title": "Solutions Architect - AI, Middle East","location": "United Arab Emirates, Dubai / Saudi Arabia, Riyadh","locations": ["United Arab Emirates, Dubai", "Saudi Arabia, Riyadh"],"country": "AE","countryName": "United Arab Emirates","countries": ["AE", "SA"],"workplaceType": "hybrid","timeType": "Full time","postedAt": "2026-10-16","postedOnText": "Posted Yesterday","jobReqId": "JR1000001","jobUrl": "https://example.wd5.myworkdayjobs.com/External/job/United-Arab-Emirates-Dubai/Solutions-Architect---AI--Middle-East_JR1000001","applyUrl": "https://example.wd5.myworkdayjobs.com/External/job/United-Arab-Emirates-Dubai/Solutions-Architect---AI--Middle-East_JR1000001/apply","description": "Help customers in the Gulf deploy AI.\nDesign architectures\n…","hasDetails": true,"scrapedAt": "2026-10-18T09:00:00.000Z","changeType": "new","changedFields": [],"firstSeenAt": "2026-10-18T09:00:00.000Z","lastSeenAt": "2026-10-18T09:00:00.000Z","closedAt": null}
RUN_SUMMARY (default key-value store) lists every site with its status and error, jobs on the site, jobs listed, whether the listing was complete, whether the country filter ran on the site or locally, and matching, saved, new, updated, and closed counts by country.
Use it from code, n8n, Make, or an AI agent
curl -X POST "https://api.apify.com/v2/acts/pharaoh_data~workday-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"careerSiteUrls":["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],"countries":["DE"],"outputMode":"changes","monitorId":"nvidia-de"}'
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("pharaoh_data/workday-jobs-scraper").call(run_input={"careerSiteUrls": ["https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"],"countries": ["AE", "SA"],"outputMode": "changes",})new_jobs = [job for job in client.dataset(run["defaultDatasetId"]).iterate_items() if job["changeType"] == "new"]
- Alerts: schedule a task, then add a webhook or the Slack, email, or Google Sheets integration on "Run succeeded".
- AI agents (MCP):
https://mcp.apify.com/?actors=pharaoh_data/workday-jobs-scraper
Limits and good to know
- Workday returns at most 2,000 jobs per search. For bigger employers, narrow with Countries or Search text.
maxJobsPerSitecaps listing at 2,000. - Descriptions need one request per job. In "All current jobs" mode with descriptions on, the first run of a large site takes a few minutes at the default 2 requests per second. "Changes only" mode keeps later runs short.
- Supported hosts:
*.myworkdayjobs.comandwd*.myworkdaysite.com. Custom career domains that embed Workday aren't supported; use the underlying Workday URL. - The Actor uses the public JSON endpoints that Workday career pages themselves load. They aren't a documented API and can change. Per-site errors are reported in
RUN_SUMMARY, and other sites still run. - Use the data in line with each employer's site terms and applicable law. Descriptions are employer content; contact details in them are redacted by default.
Pricing
Pay per event: you pay per saved job record (including closed-job records), plus Apify's small Actor start event. If the Pricing tab lists a Job change event, records saved in "Changes only" mode are billed at that price. See the Pricing tab for current amounts.
FAQ
How do I find a company's Workday URL?
Open its careers page and click any job. If the address contains myworkdayjobs.com, copy everything up to the site name (for example https://company.wd5.myworkdayjobs.com/External). A job link also works.
Why did a site fail with HTTP 422? The site name in the URL is wrong. Workday site names are case-sensitive; copy the URL straight from the careers page.
Why are some countries empty? Without detail pages, a listing that says "3 Locations" has no readable country. Keep Include job descriptions on, or use the Countries filter, which is applied on the site.