A lot of large companies run their careers page on Workday. If you've ever tried to track openings across several of them, you know the pain: every site looks the same but lives on its own subdomain, the pages render with JavaScript, and copying listings by hand doesn't scale.
I needed this for my own job search, so I built a small Apify Actor that pulls Workday job listings into structured data. This post shows how to use it from the browser and from Python.
What you get
Each job comes back with these fields:
| Field | What it is |
|---|---|
title |
Job title |
company |
Employer |
location |
Location as listed |
country |
Country |
timeType |
Full time / part time |
postedOn |
Posting label as shown on the site |
postedDate |
Posting date |
jobId |
Workday job ID |
url |
Direct link to the posting |
Option 1: Run it in the browser
- Open Workday Jobs Scraper and click Try for free.
- Fill in the input form.
- Click Start. When the run finishes, export the results as CSV, JSON, or Excel.
Option 2: Run it from Python
pip install apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"careerSiteUrls": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],
"searchText": "data",
"maxJobsPerSite": 100
}
run = client.actor("slate_cyclone/workday-jobs-scraper").call(run_input=run_input)
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["postedDate"], job["company"], job["title"], job["url"])
Ideas for using the data
-
Watch target companies. Schedule the Actor daily on Apify and compare
jobIds to spot new openings. -
Build a niche job board. Filter by
countryortimeTypeand publish what's left. - Look at hiring trends. Count postings per company or location over time.
Cost
It's pay-per-result: $0.80 per 1,000 jobs, and you only pay for what you scrape.
If you run into a Workday site it doesn't handle, leave a comment and I'll take a look.
This post was written with AI assistance.
Top comments (0)