Workday Jobs Scraper & New-Job Monitor avatar

Workday Jobs Scraper & New-Job Monitor

Pricing

Pay per event

Go to Apify Store
Workday Jobs Scraper & New-Job Monitor

Workday Jobs Scraper & New-Job Monitor

Cheap daily monitoring of Workday career sites (myworkdayjobs.com): after one baseline run, each scheduled run returns only NEW jobs (plus free CLOSED rows). Clean rows with full description, posted date, remote type and salary range when posted.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Jacob

Jacob

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

Watch the Workday career sites of the companies you care about, and get only the new jobs each day. You run one baseline, and after that every scheduled run returns, and bills, only postings that appeared since the last run. Jobs that disappeared come back as free CLOSED rows.

That makes it cheap to keep a daily watch on target employers for recruiting, job boards, sales signals or your own job hunt. You don't pay to re-download the same 2,000 jobs every morning.

Workday (*.myworkdayjobs.com) runs the career sites of many large employers, such as NVIDIA and Salesforce. The actor reads the same public job data the career page shows every visitor and returns clean rows with:

  • Full description as clean text (HTML optional)
  • Real posting date (ISO), not just "Posted 30+ Days Ago"
  • Remote type as the employer publishes it. isRemote is true only for fully remote roles (hybrid or "Flexible" roles are false). hasRemoteLocation is true if any listed location is remote.
  • Every location, plus country and ISO country code; the requisition ID, apply link, and full-time/part-time
  • Salary range, when the employer posts one (salaryMin, salaryMax, salaryCurrency, salaryPeriod). In our test that was 14 of 50 jobs (28%), mostly US/Canada roles under pay-transparency laws.

Monitor mode: after a baseline run, pay only for new jobs

Turn on Only new jobs since my last run and schedule it daily:

  1. The first run returns today's jobs, labelled FIRST_RUN, as a baseline.
  2. Every later run returns only the jobs that appeared since then (NEW), plus free CLOSED rows for postings that disappeared.

The baseline run costs the same as a normal scrape: every current job is billed once. After that, a daily run on a large employer usually returns only that day's new postings. A run with no new jobs costs only the $0.005 start fee. Seen-job IDs are kept in a named key-value store in your account (stateStoreName), so you can run separate monitors side by side.

Want everything with change labels instead? Turn on Label every job NEW / SEEN.

Handles Workday's limits properly

  • Workday serves 20 jobs per page (bigger pages fail), and the actor pages through them.
  • Workday caps any one search at 2,000 results. When a site has more, the actor tries to split the search by one of the site's own filters (location, job family and so on) that covers every job, and removes duplicates. This usually gets the full set, and maxJobsPerSite goes up to 10,000. If no filter covers every job, the run stops at 2,000 for that site and says so in SUMMARY (capped: true).
  • Requests go one at a time, 1 s apart by default, with backoff on rate limits. Realistic throughput with descriptions on is about 1.5 s per job, or roughly 2,000 to 2,500 jobs per hour. List-only mode (descriptions off) is about 20 jobs per request. The default run timeout is 4 hours. If a run gets close to its timeout, it stops cleanly, saves monitor state, and notes stoppedForTimeout in SUMMARY.

Input example

{
"careerSiteUrls": [
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite",
"https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"
],
"searchText": "engineer",
"maxJobsPerSite": 200,
"postedWithinDays": 7,
"remoteOnly": false,
"locationContains": ["texas", "remote"],
"onlyNewJobs": true
}

To find a company's Workday URL, open their careers page, click any job, and copy the address once it shows myworkdayjobs.com. Locale parts like /en-US/ and direct job links are fine.

Output example (one row, trimmed)

Real result from Oct 26, 2026. changeStatus and firstSeenAt appear when tracking or monitor mode is on.

{
"jobId": "JR354555",
"title": "Commercial/Enterprise Account Executive, Salesforce Analytics",
"company": "salesforce",
"url": "https://salesforce.wd12.myworkdayjobs.com/External_Career_Site/job/Illinois---Chicago/...",
"location": "Illinois - Chicago",
"additionalLocations": ["New York - New York", "Georgia - Atlanta", "Texas - Dallas Metro - Remote"],
"country": "United States of America", "countryCode": "US",
"remoteType": "Office - Flexible", "isRemote": false, "hasRemoteLocation": true,
"timeType": "Full time",
"postedDate": "2026-10-25", "postedDaysAgo": 0,
"salaryMin": 77550, "salaryMax": 189350, "salaryCurrency": "USD", "salaryPeriod": "year",
"salaryText": "$77,550 - $189,350 annually",
"descriptionText": "To get the best candidate experience, please consider applying ...",
"changeStatus": "NEW"
}

There are two dataset views: Jobs (key columns) and Jobs with descriptions (all fields).

Pricing

You pay per delivered job row, plus a small per-run start fee (see the Pricing tab). CLOSED rows are free. In monitor mode, the first (baseline) run bills every current job once. After that you only pay for new jobs, so daily runs cost very little. If you need a one-off bulk dump of every job, there are cheaper per-row scrapers; this one is built for ongoing monitoring. To cap spend, use Max jobs per site or a maximum charge on the run.

Responsible by design

  • Public job postings only. No logins, no candidate data, no applications.
  • robots.txt respected. If a site's robots.txt disallows a career site, it's skipped and reported in the run summary.
  • No evasion. If a site blocks us (403, a challenge page, redirect bursts, or repeated 429s), the actor stops that site and records why. It never rotates proxies or solves CAPTCHAs.
  • No personal data. Recruiter and hiring-manager fields are never collected. Email addresses and phone numbers inside descriptions are replaced with [email redacted] / [phone redacted].

Run summary

The default key-value store record SUMMARY lists, per site: jobs listed, rows delivered, new and closed counts, requests made, and any site skipped or blocked (with the reason).

More tools from Ikas

Reliability

A canary checks a known career site every day, including listing, detail, required fields and redaction, so breaking changes get caught the same day.