Workday.com Scraper
Under maintenancePricing
from $1.50 / 1,000 results
Workday.com Scraper
Under maintenanceExtract job listings from Workday-powered corporate career pages worldwide. Titles, locations, departments, job IDs & full descriptions. Fortune 500 & enterprise coverage. $1.50/1,000 results.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Workday Scraper

Collect job listings from any company that uses the Workday ATS platform — all in one run. Add any myworkdayjobs.com URL to scrape any company instantly. Comes pre-loaded with 9 verified open companies (Intel, Pfizer, Novartis, Medtronic, PayPal, CrowdStrike, Zoom, NXP, Workday Inc). No API key, no registration, no browser required.
Why this scraper?
🌍 9 verified open companies pre-loaded
Intel, Pfizer, Novartis, Medtronic, PayPal, CrowdStrike, Zoom, NXP Semiconductors, and Workday Inc — ready to scrape without any configuration.
Note: Many large corporations (Shell, Adidas, Goldman Sachs, BASF, etc.) use protected Workday instances that require a browser session. These cannot be scraped via the public API. The scraper detects them automatically and skips to the next company.
🔗 Add any company instantly
Paste any myworkdayjobs.com URL from a company career site and the scraper extracts jobs automatically. Works with any Workday tenant worldwide.
🔍 Keyword + location search
Filter listings by job title keywords and location across all selected companies in a single run.
📄 Full job descriptions included
Retrieves complete job descriptions, contract type (full time / part time), job family, and all structured fields available on the career site.
♻️ Cross-run deduplication
Enable Skip reposts to track which jobs were already seen across previous runs (90-day memory). Avoid processing the same listing twice in scheduled pipelines.
⚡ Lightweight and fast
Pure API calls — no browser, no proxy. A run across 10 companies with 50 jobs each completes in under 3 minutes.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | [] | Workday career site URLs to scrape. Any page from a company's Workday site works. Leave empty to use the pre-seeded company list. |
companies | Array | [] | Filter the pre-seeded list by company name (e.g. ["Philips", "Shell"]). Leave empty to scrape all 21 companies. |
searchQuery | String | "" | Keyword filter (e.g. "software engineer"). Leave empty for all jobs. |
location | String | "" | Location filter (e.g. "Amsterdam"). Combined with the search query. |
maxResults | Integer | 100 | Maximum jobs to collect per company. Lower this when scraping all 21 companies to manage run time. |
fetchDetails | Boolean | true | Fetch the full job description from each listing's detail page. Disable to collect list-level data faster. |
daysOld | Integer | — | Only return jobs posted within this many days. Leave empty for all available jobs. |
skipReposts | Boolean | false | Skip listings already seen in previous runs (cross-run deduplication). |
Output schema
Always present
| Field | Type | Description |
|---|---|---|
id | string|null | Workday job requisition ID |
url | string | Direct link to the job on the company's career site |
title | string|null | Job title |
company | string | Company name |
companyWebsite | string | Company Workday career site URL |
city | string|null | City extracted from location text |
country | string|null | Country extracted from location text |
locationText | string|null | Raw location string as returned by Workday |
remote | boolean | true if "remote" appears in the location text |
salaryMin | null | Not available via Workday's public API |
salaryMax | null | Not available via Workday's public API |
publishDate | string|null | Publication date (YYYY-MM-DD) |
publishDateISO | string|null | Publication date (ISO 8601) |
isRepost | boolean | true if seen in a previous run |
originalPublishDate | string|null | Date first seen (when isRepost: true) |
source | string | Workday tenant domain |
careerSite | string | Career site identifier within the tenant |
scrapedAt | string | ISO 8601 timestamp of this run |
contentHash | string | 16-character MD5 of id + title + location |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
descriptionHtml | string|null | Full job description as HTML |
descriptionText | string|null | Plain text version of the description |
descriptionMarkdown | string|null | Markdown version of the description |
summary | string|null | First 300 characters of the description |
contractType | string|null | Employment type (e.g. "Full time", "Part time") |
jobFunction | string|null | Job family or function category |
Example output
{"id": "R-12345","url": "https://philips.wd3.myworkdayjobs.com/en-US/PhilipsExternalCareerSite/job/Amsterdam/Senior-Software-Engineer_R-12345","title": "Senior Software Engineer","company": "Philips","companyWebsite": "https://philips.wd3.myworkdayjobs.com","city": "Amsterdam","country": "Netherlands","locationText": "Amsterdam, Netherlands","remote": false,"salaryMin": null,"salaryMax": null,"publishDate": "2026-04-22","publishDateISO": "2026-04-22T00:00:00.000Z","contractType": "Full time","jobFunction": "Engineering","descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>","descriptionText": "We are looking for a Senior Software Engineer...","descriptionMarkdown": "We are looking for a Senior Software Engineer...","summary": "We are looking for a Senior Software Engineer to join our Connected Care division…","isRepost": false,"originalPublishDate": null,"source": "philips.wd3.myworkdayjobs.com","careerSite": "PhilipsExternalCareerSite","scrapedAt": "2026-04-25T10:00:00.000Z","contentHash": "a3f1c2d4e5b67890"}
Examples
Search for software engineering roles across all pre-seeded companies
{"searchQuery": "software engineer","maxResults": 50,"fetchDetails": true}
Scrape a specific company by pasting their Workday URL
{"startUrls": [{ "url": "https://yourcompany.wd3.myworkdayjobs.com/en-US/ExternalCareers" }],"searchQuery": "data analyst","maxResults": 200}
Daily feed — only new jobs posted today, skip already-seen listings
{"companies": ["Shell", "Philips", "ASML"],"daysOld": 1,"skipReposts": true,"fetchDetails": true}
Collect all jobs without descriptions for a fast overview
{"companies": ["Adidas", "Zalando", "H&M Group"],"maxResults": 500,"fetchDetails": false}
💰 Pricing
$0.89 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.09 |
| 1,000 | ~$0.89 |
| 10,000 | ~$8.90 |
| 100,000 | ~$89.00 |
Flat-rate alternatives typically charge $10–$30/month regardless of usage. At $0.89/1k this is the most affordable real-time Workday scraper on Apify.
Use the Max results per company cap to control spend precisely.
Performance
| Scope | Approx. time |
|---|---|
| 1 company, 50 jobs, with descriptions | ~30 seconds |
| 10 companies, 50 jobs each | ~4 minutes |
| All 55 companies, 20 jobs each | ~10 minutes |
| Single company, full catalogue (500+ jobs) | ~8 minutes |
Known limitations
- Salary data: Workday's public API does not expose salary information for most companies.
salaryMinandsalaryMaxare alwaysnull. - Gated listings: Some companies configure their Workday instance to require login for certain roles. These listings are not accessible and are skipped automatically.
- Company catalogue changes: Companies occasionally change their Workday tenant ID or career site name. Add the updated URL via
startUrlsif a pre-seeded company stops returning results. - Location parsing: Location is returned as free-text by Workday and is parsed on a best-effort basis. Complex multi-location strings may not parse perfectly.
Technical details
- Source: myworkdayjobs.com — Workday ATS platform used by thousands of companies worldwide
- Memory: 512 MB
- Repost storage: KeyValueStore
workday-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Part of the Unfenced Group European job board scraper portfolio — 50+ job markets covered. Built by unfenced-group · Issues? Open a ticket or send a message.