Workday Jobs Scraper
Pricing
from $1.50 / 1,000 job postings
Workday Jobs Scraper
Scrape job postings from any Workday career site by URL. Exact posting dates, salary ranges parsed to numbers, full descriptions. Export to CSV, JSON, Excel, or XML.
Pricing
from $1.50 / 1,000 job postings
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

๐ผ Workday Jobs Scraper
๐ Export any Workday career site in seconds. 32 fields per posting, exact ISO posting dates instead of "Posted 30+ Days Ago", and salary ranges parsed into numbers on 78% of postings.
Workday powers the careers page of a large share of the Fortune 500, and every one of those pages sits on a public JSON service that nobody has to log into. This Actor reads that service directly. Point it at a career site URL such as https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, or at a single job URL, and it returns a flat row per posting with the title, company, locations, remote type, employment type, req ID, apply link, full description in both plain text and HTML, and the pay range when the employer discloses one.
Coverage measured on live sites while building this Actor: NVIDIA 2,000 reachable postings, Salesforce 1,542, Adobe 753, Workday 377, Red Hat 145. Across a 40-posting sample spanning those five employers, 31 postings carried a disclosed pay range and every one of them parsed into salaryMin, salaryMax, salaryCurrency and salaryPeriod. A 45-posting run finished in 10 seconds. No login, no API key, no proxy required.
| ๐ฏ Target Audience | ๐ก Primary Use Cases |
|---|---|
| Recruiters and talent intelligence teams | Track a competitor's open roles, headcount growth, and pay bands week over week |
| Compensation analysts | Build salary benchmarks from pay-transparency ranges published by real employers |
| Job board and aggregator operators | Feed a niche board with fresh postings straight from employer career sites |
| Market researchers and investors | Read hiring velocity as a signal of which business units a company is expanding |
| Job seekers and career coaches | Export every open role at a target employer into a spreadsheet and sort by pay |
๐ What the Workday Jobs Scraper does
- ๐ข Any Workday career site. Paste the URL. The Actor resolves the tenant and site name itself, including locale-prefixed URLs like
/en-US/,/details/job links, and direct API URLs. - ๐
Exact posting dates. Workday shows visitors a relative string like "Posted 30+ Days Ago". This Actor returns
postedDateas a real ISO date, so a posting from 2026-01-24 is dated, not bucketed. - ๐ฐ Salary parsed into numbers. Pay-transparency ranges live inside the description prose, never in a structured field. The Actor extracts
salaryMin,salaryMax,salaryCurrencyandsalaryPeriodacross 20 currencies, and keeps the original text insalaryText. - ๐๏ธ Filters by plain name. Every Workday tenant invents its own internal facet codes. Red Hat literally names them
a,b,c. You type "Engineering", "Remote", "Intern" or "United States of America" and the Actor resolves the name against that site's live facet list. - ๐ Keyword search.
searchTextis passed to Workday's own search, exactly as the career site's search box does. - ๐ Description twice.
descriptionTextis clean plain text with entities decoded, ready for an LLM or a spreadsheet.descriptionkeeps the original HTML for rendering. - ๐ Multiple sites per run. Queue as many career sites and single job URLs as you like in one run, deduplicated by posting.
๐ก Why it matters: the two fields hiring analysts actually need, when a role opened and what it pays, are the two Workday never hands you in a usable form. This Actor derives both.
๐ฌ Full Demo (๐ง Coming soon)
๐ Output
Every run writes one flat row per job posting. 32 fields, always the same keys, so the dataset is safe to load straight into a pipeline.
| Field | Type | Description |
|---|---|---|
๐ผ imageUrl | string | Employer logo served by the career site |
๐ title | string | Job title |
๐ข company | string | Hiring legal entity, as Workday records it |
๐ jobUrl | string | Public job page |
๐ฎ applyUrl | string | Direct link to the application form |
๐ jobReqId | string | Employer requisition ID, for example JR2022179 |
๐งพ jobPostingId | string | Workday posting slug |
๐ workdayId | string | Internal Workday record ID |
๐ location | string | Primary location |
๐บ additionalLocations | array | Every other location the posting covers |
#๏ธโฃ locationCount | integer | Total locations for this posting |
๐ country | string | Country of the primary location |
๐ณ countryCode | string | ISO alpha-2 country code |
๐ remoteType | string | Remote, Hybrid, Onsite, Flex, as the employer labels it |
โฑ timeType | string | Full time or Part time |
๐
postedDate | string | Exact ISO date the posting went live |
๐ postedOn | string | Workday's own relative label |
๐ endDate | string | Posting end date when the employer sets one |
โ timeLeftToApply | string | Application window remaining |
โ
canApply | string | Yes or No |
๐ต salaryMin | number | Lower bound of the disclosed range |
๐ฐ salaryMax | number | Upper bound of the disclosed range |
๐ฑ salaryCurrency | string | ISO currency code |
๐ salaryPeriod | string | YEARLY, MONTHLY or HOURLY |
๐งฎ salaryText | string | The range exactly as printed in the posting |
๐ descriptionText | string | Full description as plain text |
๐งฌ description | string | Full description as original HTML |
๐ descriptionLength | integer | Character count of the plain-text description |
๐ท tenant | string | Workday tenant the posting came from |
๐ careerSite | string | Career site name inside that tenant |
๐ scrapedAt | string | ISO timestamp of collection |
โ error | string | Populated only on a failed row |
Fields the employer chooses not to publish come back as Not Disclosed rather than an empty cell, so a blank always means a real gap in the source and never a parsing failure.
Three real records from a live run
{"imageUrl": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/assets/logo","title": "Senior Deep Reinforcement Learning Engineer - Autonomous Driving","company": "2100 NVIDIA USA","jobUrl": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Deep-Reinforcement-Learning-Engineer---Autonomous-Driving_JR2022179","applyUrl": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Deep-Reinforcement-Learning-Engineer---Autonomous-Driving_JR2022179/apply","jobReqId": "JR2022179","jobPostingId": "Senior-Deep-Reinforcement-Learning-Engineer---Autonomous-Driving_JR2022179","workdayId": "9ba2757cdaf01037707d2f57c4200000","location": "US, CA, Santa Clara","additionalLocations": [],"locationCount": 1,"country": "United States of America","countryCode": "US","remoteType": "Not Disclosed","timeType": "Full time","postedDate": "2026-08-27","postedOn": "Posted Today","endDate": "Not Disclosed","timeLeftToApply": "Not Disclosed","canApply": "Yes","salaryMin": 224000,"salaryMax": 356500,"salaryCurrency": "USD","salaryPeriod": "YEARLY","salaryText": "224,000 USD - 356,500 USD","descriptionText": "NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing for more than 25 years...","description": "<p>NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing...</p>","descriptionLength": 3773,"tenant": "nvidia","careerSite": "NVIDIAExternalCareerSite","scrapedAt": "2026-08-27T20:58:32.097Z","error": null}
{"title": "Senior Systems Software Engineer - Advanced Technology Group","company": "2100 NVIDIA USA","jobReqId": "JR2014995","location": "US, OR, Hillsboro","country": "United States of America","countryCode": "US","timeType": "Full time","postedDate": "2026-08-27","postedOn": "Posted Today","canApply": "Yes","salaryMin": 152000,"salaryMax": 241500,"salaryCurrency": "USD","salaryPeriod": "YEARLY","salaryText": "152,000 USD - 241,500 USD","descriptionLength": 3911,"tenant": "nvidia","careerSite": "NVIDIAExternalCareerSite","scrapedAt": "2026-08-27T20:58:32.070Z","error": null}
{"title": "Senior Firmware Engineer - CSP Engagements","company": "2100 NVIDIA USA","jobReqId": "JR1999599","location": "US, CA, Santa Clara","country": "United States of America","countryCode": "US","timeType": "Full time","postedDate": "2026-08-27","postedOn": "Posted Today","canApply": "Yes","salaryMin": 184000,"salaryMax": 287500,"salaryCurrency": "USD","salaryPeriod": "YEARLY","salaryText": "184,000 USD - 287,500 USD","descriptionLength": 4423,"tenant": "nvidia","careerSite": "NVIDIAExternalCareerSite","scrapedAt": "2026-08-27T20:58:32.128Z","error": null}
โจ Why choose this Actor
| What you get | |
|---|---|
| Dates you can sort on | postedDate is a real ISO date. Sorting by "Posted 30+ Days Ago" is not a thing you can do. |
| Pay as numbers | salaryMin and salaryMax are numeric, so a spreadsheet can average them. 31 of 40 sampled postings across five employers carried a range. |
| Filters that work on every tenant | Facet codes differ per employer, and this Actor resolves your plain-language filter against the live facet list of whichever site you scrape. |
| Honest empties | Not Disclosed marks what the employer withheld. There are no silently blank columns. |
| No credentials, no proxy | The service is public and answered 12 out of 12 burst requests from a plain connection. Proxy support is included and off by default. |
| Stable schema | The same 32 keys on every row, so scheduled runs never break a downstream pipeline. |
| Runs on Apify | Schedule it, trigger it by webhook, or call it from the API. Export to CSV, JSON, Excel, or XML. |
๐ How it compares to alternatives
Prices and run counts below were read from the Apify Store API while pricing this Actor. The two most popular Workday scrapers publish no dataset schema at all, so their field coverage is listed as not published rather than guessed.
| Feature | ParseForge Workday Jobs Scraper | Workday Job Scraper (12,454 runs) | Workday Jobs API (6,903 runs) | Workday Jobs Scraper Fast Edition (3,449 runs) |
|---|---|---|---|---|
| Published output fields | 32 | Not published | Not published | 12 |
| Exact ISO posting date | Yes | Not published | Not published | No, relative label only |
| Salary parsed to numbers | Yes, 20 currencies | Not published | Behind an AI filter flag | No |
| Filter by job category, type, remote type, location | Yes, by plain name | No | Yes, on a pre-indexed database | Keyword and location text only |
| Reads the employer's live career site | Yes | Yes | No, serves a pre-built index | Yes |
| Plain text and HTML description | Both | Not published | Configurable | HTML only |
| Single job URL supported | Yes | No | No | No |
The Workday Jobs API is a different product rather than a direct competitor: it serves a pre-indexed database enriched with AI and LinkedIn data across many employers. Use it when you want breadth. Use this Actor when you want what a specific employer's career site says right now.
The one ceiling worth knowing before you buy. Workday itself returns at most 2,000 postings for any single query, and an offset past 2,000 silently wraps back to the first page. This Actor detects the wrap and stops instead of shipping duplicates, and it prints the true total so you always know your coverage. To go past 2,000 on a very large employer, split the run with a keyword or a category filter. No scraper can lift this cap, because it is enforced by Workday's own service.
๐ How to use
- Create a free Apify account with $5 in credit.
- Open the Actor and paste a Workday career site URL into Workday Career Site URLs. Anything on
myworkdayjobs.comworks: a career site, a locale-prefixed URL, or a single job link. - Optionally type a keyword into Search Keyword, and plain-language values into the filter fields, for example
Engineering,Remote,Intern,United States of America. - Set Max Items. Free-plan runs preview 10 results.
- Click Start. A 45-posting run takes about 10 seconds.
- Open the Dataset tab and download CSV, JSON, Excel, or XML, or pull the results from the API.
A first run:
{"startUrls": [{ "url": "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite" }],"jobCategories": ["Engineering"],"maxItems": 100}
๐ผ Business use cases
๐ Competitor hiring intelligence.
A talent intelligence team schedules a weekly run across the Workday sites of eight competitors. Because postedDate is exact, they diff week over week and see precisely which roles opened in the last seven days, which teams are growing, and which requisitions quietly closed.
๐ฐ Compensation benchmarking.
A compensation analyst pulls every US posting from twelve employers and averages salaryMin and salaryMax by title and state. Pay-transparency law puts the numbers in the description prose, and this Actor is what turns that prose into two numeric columns a pivot table can read.
๐ฐ Running a niche job board.
An aggregator serving healthcare recruiters queues the Workday sites of forty hospital systems, filters on the Nursing category, and republishes the fresh postings with applyUrl pointing straight at the employer's own form.
๐ Investment and market research.
An analyst tracks hiring velocity at a portfolio company by counting postings per category each month. A sustained jump in Engineering headcount ahead of an earnings call is a signal that shows up in the career site long before it shows up in a filing.
๐ Automating Workday Jobs Scraper
- Make: trigger a scenario on each finished run and route new postings into a CRM or an ATS.
- Zapier: connect the run-finished event to Google Sheets and append every new row automatically.
- Slack: post a digest of postings opened today, filtered on
postedDate, into a recruiting channel every morning. - Airbyte: sync the dataset into Snowflake, BigQuery, or Postgres for joins against your own headcount data.
- GitHub: run the Actor on a schedule from a workflow and commit the CSV so the history is versioned.
- Google Drive: drop each run's spreadsheet into a shared folder for the recruiting team.
Anything that speaks HTTP works too. The Apify API exposes runs, datasets, and webhooks directly.
๐ Beyond business use cases
- Research: labour economists study how quickly pay-transparency disclosure spread across employers and states by measuring how often a range appears at all.
- Personal: a job seeker exports every open role at five dream employers, sorts by
salaryMax, and tracks which ones they have applied to. - Non-profit: a workforce development programme maps entry-level and intern postings by region to steer training toward roles that are actually open.
- Experimentation: feed
descriptionTextinto an LLM to cluster required skills, or chart posting volume against a company's product launches.
๐ค Ask an AI assistant about this scraper
Paste this into ChatGPT, Claude, or any assistant that can browse:
I want to collect job postings from Workday career sites. Look at https://apify.com/parseforge/workday-jobs-scraper and tell me how to configure a run that pulls every Engineering role in the United States from a given employer, and how to turn the salaryMin and salaryMax fields into a pay-band report.
The Actor's input schema is published, so an assistant can read the field list and write the run configuration for you.
โ Frequently Asked Questions
๐ Do I need a Workday login or an API key?
No. Every career site on myworkdayjobs.com exposes a public JSON service, and that is what this Actor reads. Nothing behind a login is touched.
๐ข Which companies does it work with? Any employer whose careers page is hosted on Workday. It was verified against NVIDIA, Salesforce, Adobe, Workday, and Red Hat while it was built, and it resolves the tenant automatically rather than shipping a hardcoded list.
๐ What URL should I paste?
The career site URL is ideal, for example https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Locale-prefixed URLs, /job/ and /details/ links to a single posting, and direct API URLs all work.
๐
Why does postedDate differ from what the website shows?
The website shows a rounded label such as "Posted 30+ Days Ago". postedDate is the exact date the employer published the posting, taken from the same record the page is rendered from. Both are in the output, so you can use whichever you prefer.
๐ฐ Why is salary Not Disclosed on some rows? Because the employer did not publish a range. Pay transparency is required in some jurisdictions and not in others. Across a 40-posting sample from five employers, 31 disclosed a range and 9 did not, and the misses were concentrated in roles outside those jurisdictions.
๐งฎ How is the salary extracted?
Workday has no structured pay field, so the range is read out of the description text. The Actor takes the first range that is either marked with a currency or sits next to compensation wording, recognises 20 currencies, and detects yearly, monthly, and hourly periods. The untouched source string is kept in salaryText so you can always audit it.
๐ Why did I get 2,000 results instead of the full 2,700? Workday returns at most 2,000 postings per query and wraps back to the first page beyond that. The Actor stops at the wrap rather than shipping duplicates. Split the run with a keyword or a category filter to reach the rest.
๐๏ธ My filter value was ignored. What happened? Every employer defines its own facet values. If your value is not one of them, the run log prints the list that site does offer so you can pick from it. Matching is case-insensitive and partial, so "Engineering" matches "Product Development and Engineering".
๐ Do I need a proxy? No. The service answered 12 out of 12 burst requests from a plain connection during testing, so proxy support is included but off by default. Turn it on for very large runs or if your network throttles outbound traffic.
โก How fast is it? A 45-posting run finished in about 10 seconds, and a 5-posting cloud run in under 5 seconds. Listing pages are fixed at 20 postings by Workday, and detail requests run concurrently.
๐ฆ What formats can I export? CSV, JSON, Excel, and XML from the dataset tab, or straight from the Apify API.
๐ Can I scrape several employers in one run? Yes. Queue as many career site URLs and single job URLs as you like. Postings are deduplicated across the whole run.
๐ Is the full job description included?
Yes, twice. descriptionText is clean plain text with HTML entities decoded, and description keeps the original HTML.
๐ Integrate with any app
Results land in an Apify dataset, which means webhooks, the REST API, scheduled runs, and the official Python and JavaScript clients all work out of the box. Wire a run-finished webhook into your own service and the postings arrive as JSON the moment a run completes.
๐ Recommended Actors
- Greenhouse Jobs Scraper for employers on Greenhouse.
- Lever Jobs Scraper for employers on Lever.
- SmartRecruiters Jobs Scraper for employers on SmartRecruiters.
- Workable Jobs Scraper for employers on Workable.
- Ashby Jobs Board Scraper for employers on Ashby.
๐ก Pro Tip: browse the complete ParseForge collection.
๐ Need Help? Open our contact form
โ ๏ธ Disclaimer: this is an independent tool and is not affiliated with, endorsed by, or connected to Workday, Inc. or any employer whose career site you scrape. It collects only publicly available data.