Workday Jobs Scraper - All Jobs from Any Workday Career Site
Pricing
from $0.10 / 1,000 jobs
Workday Jobs Scraper - All Jobs from Any Workday Career Site
All open jobs from any company's Workday career site, with descriptions and posting dates.
Pricing: $0.15 per 1,000 jobs. On a schedule (only new jobs): $0.002 per career site checked + $0.15 per 1,000 new, changed or removed jobs.
What does Workday Jobs Scraper do?
All open jobs from any company's Workday career site, with descriptions and posting dates. Every job comes in one
clean table: company, title, locations, on-site/remote/hybrid where the site gives it (workplaceType), employment
type, posting date, the job link, the apply link and the full description as plain text.
Run it once for a list, or schedule it to get only the new jobs each day. The tool remembers what it has seen, so a daily check costs a fraction of a cent when nothing is new.
What you get
| Input | Workday career site links, like https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| Per job | Company, title, locations, on-site/remote/hybrid where the site gives it (workplaceType), employment type, posting date, job and apply links, full description |
| Coverage | The whole career site on every run (Workday sorts by relevance, so the tool pages through all jobs) |
| Filters | Keywords, location (text + country field), remote only, posting dates |
| Schedule | Only new jobs, or new + changed + removed jobs |
| Price | $0.15 per 1,000 jobs; on a schedule $0.002 per career site checked |
Use cases
- Track hiring at your target companies or competitors: new roles and closed roles.
- Feed a job board, a newsletter or a Slack channel with fresh openings.
- Sales and recruiting signals: which companies are hiring for what, right now.
Input
| Field | What it does |
|---|---|
| Workday career sites | One per line: https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| Company names | Or type names (Walmart, Nvidia): looked up in our directory of 3,498 public Workday boards |
| Keywords + where to search | Only jobs with these words in the title, or in the title and description |
| Posted after / before | A date window (jobs without a date are kept) |
| Location contains / exclude / remote only | Match the location text and the country the board gives (Germany also matches a board's DE); drop places; only remote jobs |
| Max jobs per board | No fixed cap (default 10,000 per board) |
| Output mode | All jobs, only new jobs, or new + changed + removed jobs |
Output
One row per job, with the same keys for every job system:
{"id": "workday:<company>:<job id>","changeType": "new","firstSeenAt": "2026-10-05T18:30:00Z","ats": "workday","company": "Salesforce, Inc.","title": "Cloud Account Executive, Marketing Technologies: Higher Education","department": null,"team": null,"locations": ["District of Columbia - Washington", "Massachusetts - Boston", "New York - New York"],"remote": null,"workplaceType": "Office - Flexible","employmentType": "Full time","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"postedAt": "2026-10-05","url": "…","applyUrl": "…","descriptionText": "…"}
Every row has every key (null when the job system doesn't give a value). changeType is new, changed,
unchanged or removed; a changed row lists changedFields and the previous values. Emails and phone numbers
inside descriptions are replaced by [redacted] unless you switch that off. Rows have no recruiter name or contact
fields.
If a board doesn't exist or doesn't answer, you get one row with changeType: "status" and a statusCode
(not_found, rate_limited, source_error) instead of an error, and you're not charged for it.
Schedule it: only new jobs, every day
- Add your boards and save it as a task.
- Run it once with Baseline only switched on. It remembers today's jobs and lists nothing. Or skip this and accept that the first run lists every current job once.
- Set Output mode to Only new results (or New, changed and removed) and add a schedule.
- Connect an integration (Slack, Google Sheets, Zapier, Make, n8n), or put a webhook URL in the input.
Each saved task keeps its own memory, and switching a task between modes keeps it.
Apify webhook template (Integrations → Webhook → payload):
{"datasetUrl": "https://api.apify.com/v2/datasets/{{resource.defaultDatasetId}}/items?clean=true&format=json"}
Each run also saves a summary (OUTPUT in the run's key-value store): counts of new, changed, unchanged and removed
jobs per board.
How much does it cost?
- $0.15 per 1,000 jobs listed (on paid Apify plans 10-30% less).
- On a schedule (only new, changed or removed jobs): $0.002 per career site checked plus $0.15 per 1,000 new, changed or removed jobs. Checking 10 boards daily with a few new jobs costs about $0.69 a month.
- Status rows (errors) are free. Set a spending limit on the run and the tool stops there.
Good to know
salaryPeriodisyear,month,week,dayorhour, whatever word the board uses (its own wording stays insalaryText); a rare period (every 2 weeks, one-time) comes as the board wrote it.- "Removed" jobs are reported only when a board was fetched completely and without filters, so a hiccup never reports every job as closed.
- Freshness: every run reads each job board live (no cache);
fetchedAton each row says when. - Workday sites don't publish pay, department or team as data. Where a US pay range is published, it's inside
descriptionText. - Workday sorts jobs by relevance, not date, so every run pages through the whole site (up to Max jobs). It reads the JSON the career site itself uses, which isn't an official API and can change; if it does, you get a status row and we fix it.
How it compares
| Instead of | With this tool |
|---|---|
| Checking career pages by hand | Every open job of every board in one table, with the same columns for every company |
| A general web scraper | Reads the job board's own job data, so titles, locations and dates come as fields, not page text |
| Re-running a full export daily | 'Only new' mode lists just the jobs added since the last run; nothing new costs a fraction of a cent |
FAQ
Where do I find a company's Workday link? Open the company's careers page and click a job: the address contains myworkdayjobs.com. Paste the part up to the site name, for example https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite.
Does it get every job, not just the first pages? Yes. It pages through the whole career site on every run, up to Max jobs (default 10,000 per board).
How do I get only new jobs every day? Save the input as a task, set Output mode to 'Only new results' and add a schedule.
Is this an official Workday API? No. It reads the job data the public career site itself uses. If Workday changes it, you get a status row and we fix the tool.
Can I also scrape Greenhouse or Lever boards? Yes, with the ATS Jobs Scraper below, which reads seven job systems in one run.
Source: each company's public job board on Workday. This tool is not affiliated with or endorsed by Workday.
More Afterstar tools
- ATS Jobs Scraper - Career Site Jobs: Greenhouse, Lever, Workday: Paste company career-page links (Greenhouse, Lever, Ashby, Workday and 3 more) and get every open job in one table.
- Greenhouse Jobs Scraper - Any Company's Job Board: All open jobs from any company's Greenhouse job board, with departments, offices and pay ranges where published.
- Ashby Jobs Scraper - Any Company's Job Board + Pay: All open jobs from any company's Ashby job board, with compensation where the company publishes it.
- Arbeitsagentur Jobs Scraper - Germany Jobs from the Jobbörse: Jobs from Germany's federal job board (Bundesagentur für Arbeit) for any search and place, with full descriptions and, where given, salary ranges. Schedule it in new-only mode to get just the new jobs.
Found a problem or need a field? Open an issue on the Issues tab.