Workday Jobs Scraper
Pricing
from $1.20 / 1,000 job results
Workday Jobs Scraper
Scrape open jobs from any company's Workday careers site, even past Workday's 2,000-job limit. Or get only new and closed jobs since your last run. Enter a careers link, a website or a company name.
Pricing
from $1.20 / 1,000 job results
Rating
0.0
(0)
Developer
Novasphere
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Get the open jobs from any company's Workday careers site in a clean format. Run it once for the full list, or on a schedule to get only the jobs that were posted or taken down since the last run.
It reads the same public job API that the careers site uses, so there's no login, no browser and no proxy.
Use it to
- Watch hiring at big employers that use Workday: competitors, customers, prospects
- Send new roles to Slack, email, a spreadsheet or your own job board
- Give an AI agent a tool for "who is hiring for X at these companies"
- Build hiring-signal data for sales or research
Input
Paste one careers site link per line. It's the address of the company's job search page:
| Company | Link |
|---|---|
| NVIDIA | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| Intel | https://intel.wd1.myworkdayjobs.com/External |
| Salesforce | https://salesforce.wd12.myworkdayjobs.com/External_Career_Site |
A link to any single job on the site works too, and so do myworkdaysite.com links. Don't have the link? Enter the company's name (NVIDIA) or website (nvidia.com) and the Actor finds its Workday site. Some companies have several (Salesforce has nine, for Slack, Tableau, internships and more): the Actor picks the main one and the run summary lists the others, so you can add any you want.
Then pick what to output:
- All open jobs: everything currently on each site that passes your filters.
- Only changes since the last run: jobs that are new since the previous run, plus jobs that have been taken down. Runs with the same Feed name share their memory, so use one feed name per watchlist. The first run counts every job as new, unless you tick Skip existing jobs on the first run.
Optional filters: words in the job title (include or exclude), seniority, job function, location, remote / hybrid / on-site, and posted within the last N days.
{"companies": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],"mode": "changes","feedName": "nvidia-engineering","titleKeywords": ["engineer"],"locationKeywords": ["Santa Clara"]}
Output
One item per job:
{"change": "new","company": "Intel","title": "Senior Member of Technical Staff, Thin Films Engineer","location": "US, Oregon, Hillsboro","workplaceType": null,"employmentType": "full-time","seniority": "senior","jobFunction": "engineering","department": null,"team": null,"salary": null,"salaryText": null,"postedAt": "2026-10-19T00:00:00Z","url": "https://intel.wd1.myworkdayjobs.com/External/job/US-Oregon-Hillsboro/Senior-Member-of-Technical-Staff--Thin-Films-Engineer_JR0284988","applyUrl": "https://intel.wd1.myworkdayjobs.com/External/job/US-Oregon-Hillsboro/Senior-Member-of-Technical-Staff--Thin-Films-Engineer_JR0284988","platform": "workday","board": "intel.wd1.myworkdayjobs.com/intel/External","jobId": "JR0284988","allLocations": ["US, Oregon, Hillsboro", "US, Arizona, Phoenix"],"country": "US","updatedAt": null,"firstSeenAt": "2026-10-22T08:00:12Z","closedAt": null,"checkedAt": "2026-10-22T08:00:12Z"}
| Field | What it is |
|---|---|
change | new or closed in changes mode; empty when listing all open jobs |
company | Made from the site address (nvidia becomes Nvidia) |
title, location, allLocations | As the employer lists them |
country | Two-letter country code of the main location |
workplaceType | remote, hybrid or onsite when the site says (many Workday sites don't) |
employmentType | full-time or part-time, from Workday's time type |
seniority | intern, entry, senior, lead, manager, director or executive, read from the job title. Empty when the title doesn't say |
jobFunction | Area of work (engineering, sales, data, design, people, ...), read from the job title, then the department or team |
salary, salaryText | Pay range, when the employer states one in the description |
postedAt | When the job was posted (ISO 8601, UTC) |
url, applyUrl | The job's page on the careers site |
platform, board, jobId | Where the job came from. board is the site address, jobId the requisition ID |
firstSeenAt, closedAt | Changes mode: when this feed first saw the job, and when it noticed it was gone |
checkedAt | When the site was read |
description | Plain-text job description, only if you tick Include the job description |
department and team are always empty: Workday's public job pages don't have them.
Each run also saves a summary to its key-value store under OUTPUT: sites checked, sites not found or unreadable (with the reason), and job counts.
Speed
Workday shows 20 jobs per page, and each job's locations, country, job type and description are on a separate page. The Actor reads those only for the jobs it outputs. A run that outputs a few dozen jobs takes seconds; a full list of a site with thousands of jobs takes a few minutes. The title filter and Max jobs per careers site keep runs short.
Running it as a change feed
- Set What to output to Only changes and give the feed a name.
- Add a schedule, for example daily.
- Connect an integration (webhook, Slack, email, Google Sheets, Zapier, Make) to receive each run's new and closed jobs.
Using it from an AI agent or code
Every input is plain JSON, so it works through the Apify API, the Python and JavaScript clients, and Apify's MCP server (https://mcp.apify.com) for Claude, ChatGPT and other agents. The input also accepts a comma-separated string for companies and the keyword fields.
Good to know
- Not affiliated with or endorsed by Workday. The name only says which careers sites this reads.
- Only public job data is read. There's no candidate or employee data.
- Job descriptions are the employer's text. Respect each employer's terms if you republish them.
- Workday shows at most 2,000 jobs per search. For bigger sites (NVIDIA has over 2,700) the Actor splits the search by job category or another filter the site offers, so every job is read. If a site can't be split, the run summary says so, and changes mode doesn't report the jobs it couldn't see as closed.
- Each employer writes locations its own way, for example
US, Oregon, Hillsboro(Intel) orAustralia - Melbourne(Salesforce). Check a few results before setting a location filter. - In changes mode every job on a site is tracked, and filters only decide what's output, so changing a filter later won't resend old jobs.
- In changes mode, if a run stops at your maximum charge, the changes it couldn't output are kept and come out on the next run.
- The feed's memory is kept in your account in a key-value store named
workday-jobs-feed-<feed name>. Delete it to start the feed fresh. - Sites that can't be found or read are listed in the run summary; the rest of the run carries on.
- Tracking companies on other job boards too? The multi-platform version reads Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and BambooHR in one run. To search new jobs across thousands of companies at once, try Career Site Job Search.