Workday Jobs Scraper
Pricing
from $1.00 / 1,000 job listings
Workday Jobs Scraper
Extract public job listings from Workday career sites (API-first), with optional descriptions, deduplication, and per-source limits.
Pricing
from $1.00 / 1,000 job listings
Rating
0.0
(0)
Developer
Vamsi Krishna
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public job listings from Workday career sites into a clean, structured Apify dataset.
This actor is built for recruiting research, job-board enrichment, hiring-market monitoring, and company career-page tracking. It only works with publicly accessible Workday career pages.
Why Use It
- API-first extraction from Workday public CXS endpoints when available.
- Correct public job URLs with locale and career-site paths preserved.
- Enriched records with requisition IDs, Workday tenant/site, locations, remote/workplace signals, job family/category, and description text.
- Practical filters for India, city targeting, IT roles, fresher/entry-level jobs, remote roles, and recently posted jobs.
- Per-source limits so large companies do not consume the whole run.
- Cost controls with
maxItemsandmaxItemsPerSource, so users can cap paid results before starting large runs. - Run summary diagnostics for debugging empty or filtered runs.
What It Does
- Reads one or more Workday career site URLs.
- Uses Workday public CXS endpoints when available for faster and cleaner extraction.
- Falls back to public page crawling when needed.
- Saves one dataset item per job listing.
- Deduplicates jobs by requisition ID, URL, or title/location/company.
- Supports keyword, location, freshness, IT-role, and fresher/entry-level filters.
- Can fetch job descriptions using CXS detail endpoints or public HTML pages.
Supported URLs
Examples:
https://company.wd1.myworkdayjobs.com/en-US/Externalhttps://company.wd5.myworkdayjobs.com/en-US/Careershttps://wd1.myworkdaysite.com/en-US/recruiting/tenant/site
The actor supports common public Workday hosts such as:
myworkdayjobs.comwd1.myworkdayjobs.comwd3.myworkdayjobs.comwd5.myworkdayjobs.commyworkdaysite.com
Input
Key fields:
startUrls- Workday career URLs to scrape.companyOverrides- Optional friendly company-name mapping by URL, tenant, or site.keyword- Optional keyword search, for examplesoftware engineer.location- Optional location filter, for exampleIndia.countryandcities- Optional location filters for cleaner country/city targeting.remoteOnly- Keep only jobs detected as remote.experienceLevel-all,fresher,entry_level,mid, orsenior.jobFunction-all,software,data,cloud,security,qa,support, orproduct.maxItems- Maximum jobs to save for the whole run.maxItemsPerSource- Optional per-company/source limit.includeDescription- Fetch job descriptions when available.descriptionMode-auto,cxs,html, ornone.postedWithinDays- Keep recently posted jobs only, when dates are available.itOnly- Best-effort filter for IT/software/data/engineering roles.fresherOnly- Best-effort filter for fresher, graduate, trainee, intern, and entry-level roles.dedupeMode-requisitionId,url,titleLocationCompany, ornone.proxyConfiguration- Optional Apify proxy settings.
Example input:
{"startUrls": [{"url": "https://relx.wd3.myworkdayjobs.com/en-US/relx"}],"companyOverrides": {"relx": "RELX"},"keyword": "software engineer","location": "India","country": "India","cities": ["Bengaluru", "Hyderabad", "Pune"],"experienceLevel": "entry_level","jobFunction": "software","maxItems": 100,"maxItemsPerSource": 25,"includeDescription": true,"descriptionMode": "auto","dedupeMode": "requisitionId"}
Output
Each saved dataset item may include:
jobIdtitlecompanysourceCompanyrequisitionIdtenantsitelocationlocationscountrycityremoteTypeworkplaceTypeisRemoteemploymentTypetimeTypejobFamilyjobCategorydetectedSenioritydetectedFunctionpostedDatejobUrlapplyUrldescriptionHtmldescriptionrequirementssalaryexternalPathdetailApiUrlsourceUrlsourceTypescrapedAt
The actor also saves a RUN_SUMMARY record to the default key-value store with per-source counts and diagnostic information.
API Usage
Run from JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/workday-jobs-scraper').call({startUrls: [{ url: 'https://relx.wd3.myworkdayjobs.com/en-US/relx' }],keyword: 'software engineer',country: 'India',maxItems: 50,includeDescription: true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run with curl:
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~workday-jobs-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://relx.wd3.myworkdayjobs.com/en-US/relx"}],"maxItems":25}'
Cost Guidance
Pricing is pay per saved job listing plus a small start event. The actor only charges the result event when a job is saved to the default dataset. Use maxItems and maxItemsPerSource to control spend before running large source lists.
Examples:
maxItems: 25saves up to 25 paid job listings.maxItems: 100saves up to 100 paid job listings.maxItemsPerSource: 20spreads results across companies instead of letting one employer consume the full run.
Recommended Settings
For fast runs:
{"includeDescription": false,"descriptionMode": "none","maxItemsPerSource": 25}
For richer job descriptions:
{"includeDescription": true,"descriptionMode": "auto"}
For fresher IT jobs:
{"keyword": "software engineer","location": "India","country": "India","experienceLevel": "entry_level","jobFunction": "software","itOnly": true,"fresherOnly": true,"includeDescription": true}
Reliability Notes
Workday implementations vary by company. Some tenants expose rich public CXS data, while others expose limited metadata or block public detail endpoints. The actor handles these differences best-effort and avoids saving incomplete records when required fields such as title or jobUrl are missing.
If a run returns no jobs:
- Check that the URL is a public Workday career site.
- Try removing restrictive filters such as
postedWithinDays,itOnly, orfresherOnly. - Try
descriptionMode: "none"for a faster listing-only run. - Use
RUN_SUMMARYto see which sources returned jobs and which did not.
Local Development
npm installnpm run buildnpm testapify runapify push
Compliance
This actor only targets publicly accessible job listings. It does not bypass login, CAPTCHA, paywalls, private APIs, or access controls. Use it responsibly and respect the target website's terms of service and applicable laws.