๐Ÿ’ผ Workday Jobs Scraper avatar

๐Ÿ’ผ Workday Jobs Scraper

Pricing

from $3.50 / 1,000 results

Go to Apify Store
๐Ÿ’ผ Workday Jobs Scraper

๐Ÿ’ผ Workday Jobs Scraper

Workday job scraper for any myworkdayjobs or myworkdaysite careers portal. Get titles, salaries, descriptions, normalised locations, skills, seniority and company data โ€” 20+ filters, streamed live to your dataset.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Workday Jobs Scraper is an Apify Actor and Workday job scraper that extracts job postings from any public Workday career site, including myworkdayjobs and myworkdaysite boards, in bulk. Paste careers URLs and get descriptions, normalised locations, salary and skills in JSON, CSV or Excel. Pay per job: from $3.50 per 1,000 jobs on the Gold, Platinum and Diamond plans ($5.00 on the Free plan). ๐Ÿš€ Try it free

What can Workday Jobs Scraper do?

  • ๐Ÿ”— Any Workday careers URL - scrape jobs from any Workday career site and bulk scrape multiple career portals: myworkdayjobs links, myworkdaysite recruiting links, pre-filtered search links and single-job links.
  • ๐Ÿ“„ Full job data - description as clean text or original HTML, requisition id, hiring entity, posting and closing dates.
  • ๐Ÿ“ Clean locations - normalised job locations and time zones, with city, region, country and coordinates, so you can filter by place.
  • ๐Ÿ’ฐ Salary extraction - currency, range and pay period when the posting states pay.
  • ๐Ÿง  Built-in enrichment - job skills and seniority extraction, work arrangement, employment type, benefits, education, visa sponsorship and 40 job categories, with no API key.
  • ๐ŸŽฏ More than 20 filters - job title, location, company, keywords, posting date, salary, remote, visa sponsorship and more.
  • ๐Ÿ”„ Change tracking - flags changed postings between runs for daily monitoring of hiring.
  • โšก Live results - every job is saved to the dataset as soon as it is ready, with API access, schedules and integrations on Apify.

Use it as a Workday career page scraper to collect open positions from many employers at once. Recruiters use it as a Workday job listings scraper. Staffing teams use it as a Workday ATS scraper for vacancies. Job boards use it as a Workday job feed. Analysts use it as a Workday job extractor. It also works like a career site job listing API for recruiting sites. Teams use it as a Workday job search scraper or a Workday career sites API. Employer research teams use it as a company career page scraper for ATS career sites.

What data can I extract from Workday?

FieldDescription
๐Ÿ†” id, url, source, source_type, source_domain, source_slugStable job id, public job link and where the posting was collected from.
๐Ÿ’ผ title, organization, organization_url, organization_logo, domain_derivedJob title, hiring entity, its link, logo and company domain.
๐Ÿ“… date_posted, date_created, date_valid_through, date_modified, modified_fieldsPosting date, collection time, closing date and what changed since the last run.
๐Ÿ“ locations, locations_alt, location_type, location_requirements, locations_derivedLocations as published, plus the normalised City, Region, Country values.
๐ŸŒ cities_derived, counties_derived, regions_derived, countries_derived, timezones_derived, lats_derived, lngs_derivedLocation parts, timezones and coordinates.
๐Ÿ’ฐ salary, ai_salary_currency, ai_salary_value, ai_salary_min_value, ai_salary_max_value, ai_salary_unit_text, ai_benefitsPay as published and as structured values, plus benefits found in the text.
๐Ÿ• employment_type, ai_employment_type, ai_working_hours, ai_work_arrangement, ai_work_arrangement_office_days, ai_remote_location, ai_remote_location_derivedEmployment type, weekly hours, on-site, hybrid or remote setup and remote location.
๐Ÿง  ai_experience_level, ai_key_skills, ai_keywords, ai_education, ai_job_language, ai_visa_sponsorshipSeniority, skills, keywords, education, description language and sponsorship signal.
๐Ÿ“š ai_taxonomies_a, ai_taxonomies_primaryJob categories and the main category.
๐Ÿ“ description_text, ai_core_responsibilities, ai_requirements_summaryFull description (text or HTML) and short summaries of duties and requirements.
๐Ÿ‘ค ai_hiring_manager_name, ai_hiring_manager_email_addressHiring contact, only when the posting names one.
๐Ÿข org_linkedin_name, org_linkedin_industry, org_linkedin_size, org_linkedin_headcount, org_linkedin_website, org_linkedin_slug, org_linkedin_slogan, org_linkedin_followers, org_linkedin_headquarters, org_linkedin_type, org_linkedin_founded_date, org_linkedin_specialties, org_linkedin_locations, org_linkedin_description, org_linkedin_recruitment_agency_derived, org_crunchbase_categories, org_crunchbase_total_investment, org_logo_permalinkOptional company facts such as industry, size, headcount, website, headquarters and founding date.
๐Ÿ“ฆ compact, rawA short 12-field summary and the untouched source payload, in the default row shape.

Fields stay empty when a posting does not publish the data. Company org_* fields are filled only when you pick a company data source.

What can you do with the data from Workday?

๐ŸŽฏ Monitor competitor hiring and hiring trends by company

  1. Add competitor boards to startUrls and set postedAt to 7 days.
  2. Keep trackChanges on and schedule the run daily.
  3. Compare date_modified and modified_fields to see which postings changed.

๐Ÿ’ฐ Benchmark salaries by role

  1. Turn on hasSalary and add titleSearch terms such as Data:*.
  2. Add locationSearch values like Germany.
  3. Open the Salary & Benefits view and export the pay columns.

๐ŸŒ Find remote Workday jobs

  1. Select Remote OK and Remote Solely in aiWorkArrangementFilter.
  2. Turn on aiVisaSponsorshipFilter to keep jobs offering visa sponsorship.
  3. Export the dataset as CSV or Excel for your job board or spreadsheet.

๐Ÿ“Š Build job market data by employer

  1. Paste many employer URLs in startUrls and raise results_wanted.
  2. Set outputFormat to full and stats to on for category counts.
  3. Load the Workday job postings dataset into your database or BI tool as a job aggregator data feed.

๐Ÿข Recruitment lead generation from job postings

  1. Turn on includeCompanyDetails and choose a companyProvider.
  2. Use organizationSearch and liOrganizationSizeFilter to target employers.
  3. Export organization, domain_derived and the org_* fields.

How do I use Workday Jobs Scraper?

  1. Open Workday Jobs Scraper on Apify and click Try for free.
  2. Paste one or more careers URLs into Careers portal URLs (startUrls).
  3. Set Jobs to collect (results_wanted) and leave Open every job for the full description on for complete data.
  4. Add optional filters such as titleSearch, locationSearch, postedAt or hasSalary.
  5. Click Start and watch jobs appear in the Dataset tab while the run is going.
  6. Open the Output tab for ready-made views, or export JSON, CSV or Excel from the Dataset tab.
  7. Schedule the run or call it through the Apify API to keep the data fresh.

You can scrape Workday jobs without code. To scrape myworkdayjobs.com job postings or get all jobs from a Workday site, raise results_wanted and max_pages.

To find a company's Workday careers URL, open the employer's careers page and copy the address when it opens on a myworkdayjobs.com or myworkdaysite.com page.

How much does it cost to scrape Workday?

Workday Jobs Scraper uses pay-per-event pricing: you pay one result event for every job saved to the dataset. Platform usage is billed in addition. Jobs skipped by your filters or that could not be loaded are not charged.

PlanPrice per jobPer 1,000 jobs
๐Ÿ†“ Free$0.005$5.00
๐Ÿฅ‰ Bronze$0.0045$4.50
๐Ÿฅˆ Silver$0.004$4.00
๐Ÿฅ‡ Gold, Platinum and Diamond$0.0035$3.50

Each run also pays an Actor start event of $0.00005 per GB of memory, minimum one event. The default memory is 4 GB (4096 MB), so a start costs 4 events = $0.0002.

Example: 100 jobs on the Free plan cost 100 x $0.005 = $0.50, plus the $0.0002 start event, so $0.5002 in event charges. 500 jobs on the Gold plan cost 500 x $0.0035 = $1.75, plus $0.0002, so $1.7502.

If you set a maximum cost per run, the run stops saving jobs when that limit is reached and keeps the jobs already collected.

Is scraping Workday free?

No. Workday Jobs Scraper is billed per saved job at the rate of your Apify plan, from $5.00 per 1,000 jobs on the Free plan down to $3.50 on Gold, Platinum and Diamond. You can control spend with Jobs to collect or a maximum cost per run.

How much does Workday Jobs Scraper cost per 1,000 results?

One thousand jobs cost $5.00 on the Free plan, $4.50 on Bronze, $4.00 on Silver and $3.50 on Gold, Platinum and Diamond, plus the $0.0002 start event for each run. Apify platform usage is billed in addition to these event prices.

Input

Give the Actor one or more Workday careers URLs and, optionally, filters and output settings. Only startUrls is required. Everything else has a default. Search Workday jobs by keyword with titleSearch or descriptionSearch, and filter Workday jobs by posting date with postedAt and startAt.

Portals and limits

FieldTypeRequiredDescriptionDefault / example
startUrlsarrayYesWorkday careers URLs: boards, locale paths, hosted boards, search links with ?q= or single-job links.https://sysco.wd5.myworkdayjobs.com/syscocareers
results_wantedintegerNoTotal jobs to save across all portals (1 to 500,000). The run never exceeds limit.20
limitintegerNoSafety cap on jobs (up to 5,000). The run stops at the lower of this and results_wanted; the Actor raises values below 200 to 200 when the run starts.20
paginationintegerNoBoard pages to read per portal, 0 for all pages up to the page safety cap.0
max_pagesintegerNoPage safety cap per portal (1 to 500), 20 jobs per page.20
detailsbooleanNoOpen each job for the full description, salary and company. Turn off for a faster listing-only run.true
statsbooleanNoLog live category counts per portal and store them in the run summary.true

Search and keyword filters

FieldTypeRequiredDescriptionDefault / example
titleSearcharrayNoKeep jobs whose title matches a term. :* gives prefix matching.Software Engineer, Data:*
titleExclusionSearcharrayNoDrop jobs whose title matches a term.Intern
locationSearcharrayNoKeep jobs in these places, written as City, Region, Country.Germany
locationExclusionSearcharrayNoDrop jobs in these places.London, England, United Kingdom
locationsarrayNoLoose contains match against every location on the job.Ankeny
descriptionSearcharrayNoKeep jobs whose title or description mentions a term.Python:*
descriptionExclusionSearcharrayNoDrop jobs whose title or description mentions a term.night shift
organizationSearcharrayNoKeep jobs posted by these hiring entities.Sysco:*
organizationExclusionSearcharrayNoDrop jobs from these hiring entities.FreshPoint
domainFilterarrayNoKeep jobs whose company domain matches exactly.sysco.com
domainExclusionFilterarrayNoDrop jobs whose company domain matches.example.com
postedAtstringNoOldest posting date, absolute or relative.7 days or 2026-06-01
startAtstringNoNewest posting date to keep.2026-07-20

Smart job filters

FieldTypeRequiredDescriptionDefault / example
aiEmploymentTypeFilterarrayNoFULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM, OTHER.["FULL_TIME"]
aiWorkArrangementFilterarrayNoOn-site, Hybrid, Remote OK, Remote Solely.["Remote Solely"]
aiExperienceLevelFilterarrayNo0-2, 2-5, 5-10, 10+ years.["2-5"]
aiTaxonomiesFilterarrayNoKeep jobs in any of 40 categories such as Healthcare or Software.["Healthcare"]
aiTaxonomiesPrimaryFilterarrayNoThe top category must be one of these.["Engineering"]
aiTaxonomiesExclusionFilterarrayNoDrop jobs touching any of these categories.["Retail"]
aiLanguageFilterarrayNoDescription languages to keep.English
hasSalarybooleanNoKeep only postings that publish pay.false
aiVisaSponsorshipFilterbooleanNoKeep only postings that state visa sponsorship.false
removeAgencybooleanNoDrop postings that look like staffing or recruitment agencies.false
hasNoLocationbooleanNoKeep only jobs without a resolved location. Do not combine with location filters.false

Company data

FieldTypeRequiredDescriptionDefault / example
includeCompanyDetailsbooleanNoAdd org_* company fields to each job.false
companyProviderstringNoCompany data source from the dropdown. Some sources need your own key.none
companyApiKeystringNoKey for the sources that need one. Stored encrypted.-
liIndustryFilterarrayNoKeep companies with an exact, case-sensitive industry.Retail
liIndustryExclusionFilterarrayNoDrop companies with these industries.Staffing
liOrganizationSizeFilterarrayNoKeep companies in headcount buckets such as 10,001+ employees.["10,001+ employees"]
liOrganizationEmployeesGteintegerNoMinimum company employees.1000
liOrganizationEmployeesLteintegerNoMaximum company employees.50000

The company filters need a company data source. If none is selected, the Actor skips them and logs a warning so you still get results.

Output shape, speed and extras

FieldTypeRequiredDescriptionDefault / example
descriptionTypestringNotext for clean text or html for the original description.text
outputFormatstringNoRow shape: all, full, compact or raw.all
proxyConfigurationobjectNoOptional connection settings, off by default.{"useApifyProxy": false}
browserFallbackbooleanNoTry a second way to load pages that still fail.true
concurrencyintegerNoJobs collected at the same time (1 to 20).4
requestDelaynumberNoPause between requests in seconds (0 to 10).0.35
requestTimeoutintegerNoSeconds to wait before retrying a slow page (5 to 300).45
maxRetriesintegerNoAttempts per request (1 to 10).3
llmEnrichmentbooleanNoAlso read each description with an AI model using your own key.false
llmApiKeystringNoYour own API key for AI enrichment. Stored encrypted.-
llmModelstringNoModel id used for AI enrichment; a default is preset.preset
geocodebooleanNoNormalise locations into city, region, country and coordinates.true
timezoneLookupbooleanNoAdd the timezone of each resolved location.true
domainProbebooleanNoWork out the employer's own website domain.true
trackChangesbooleanNoRemember each job between runs and fill date_modified and modified_fields.true
persistCachebooleanNoKeep resolved locations between runs for faster repeat runs.true
debugLogbooleanNoWrite more detail to the run log.false

Input example

{
"startUrls": ["https://sysco.wd5.myworkdayjobs.com/syscocareers"],
"results_wanted": 50,
"titleSearch": ["Data:*", "Software Engineer"],
"locationSearch": ["United States"],
"postedAt": "30 days",
"hasSalary": true,
"outputFormat": "all",
"descriptionType": "text"
}

Output

Every job goes to the default Apify dataset and is saved the moment it is ready. Export it as JSON, CSV, Excel, XML or HTML from the Console or through the API. The Output tab offers seven table views: Job Overview, Locations & Geo, Salary & Benefits, AI Insights, Company & Employer, Description & Summary and Source & Change tracking.

With the default row shape all, each row holds the full record plus a compact summary and a raw payload. Values below are fake examples.

{
"id": 1234567890,
"date_posted": "2026-10-01T00:00:00",
"date_created": "2026-10-17T09:30:00",
"title": "Senior Data Analyst",
"organization": "Example Company",
"organization_url": "https://example.com",
"date_valid_through": null,
"locations_alt": ["Example City, Example Region"],
"salary": null,
"employment_type": ["Full time"],
"url": "https://example.com/careers/job/Example-City/Senior-Data-Analyst_R-0001",
"source_type": "ats",
"source": "workday",
"source_domain": "example.com",
"source_slug": "example/careers",
"organization_logo": "https://example.com/logo.png",
"cities_derived": ["Example City"],
"regions_derived": ["Example Region"],
"countries_derived": ["United States"],
"locations_derived": ["Example City, Example Region, United States"],
"timezones_derived": ["America/Chicago"],
"lats_derived": [41.6],
"lngs_derived": [-93.6],
"domain_derived": "example.com",
"ai_salary_currency": "USD",
"ai_salary_min_value": 80000,
"ai_salary_max_value": 100000,
"ai_salary_unit_text": "YEAR",
"ai_benefits": ["Health insurance", "401(k)"],
"ai_experience_level": "5-10",
"ai_work_arrangement": "Hybrid",
"ai_key_skills": ["SQL", "Tableau"],
"ai_employment_type": ["FULL_TIME"],
"ai_job_language": "English",
"ai_visa_sponsorship": false,
"ai_taxonomies_a": ["Data & Analytics"],
"ai_taxonomies_primary": "Data & Analytics",
"date_modified": null,
"modified_fields": null,
"description_text": "Example description of the role...",
"org_linkedin_name": null,
"org_linkedin_industry": null,
"compact": {
"title": "Senior Data Analyst",
"company": "Example Company",
"requisition_id": "R-0001",
"locations": "Example City, Example Region",
"country": "United States",
"job_type": "Full time",
"posted_at": "2026-10-01T00:00:00.000Z",
"posted_on_text": "Posted 16 Days Ago",
"apply_url": "https://example.com/careers/job/Example-City/Senior-Data-Analyst_R-0001/apply",
"job_url": "https://example.com/careers/job/Example-City/Senior-Data-Analyst_R-0001",
"description_text": "Example description of the role...",
"source": "workday"
}
}

The raw field keeps the source posting as published. With outputFormat set to compact or raw, each row holds only that part.

At the end of a run, a run-summary record in the key-value store lists the totals:

{
"source": "workday",
"scraped_at": "2026-10-17T09:35:00+00:00",
"count": 50,
"start_urls": ["https://example.com/careers"],
"stats": {
"duration_seconds": 42.5,
"jobs_seen": 120,
"jobs_prefiltered_out": 40,
"jobs_filtered_out": 30,
"jobs_written": 50,
"filter_reasons": {"titleSearch": 40},
"sites": [{"tenant": "example", "site": "careers", "total_available": 1200, "collected": 50}]
}
}

Notes and limitations

  • Only public job postings are collected, and fields stay empty when a posting does not publish them.
  • Salary fields are filled only when the posting states pay, either as structured data or in the description text.
  • ai_* fields come from built-in text extraction, so treat them as helpful estimates, not verified facts.
  • Company org_* fields are empty unless includeCompanyDetails is on and a companyProvider is selected.
  • The job count is capped by results_wanted and limit, and by max_pages per portal (20 pages of 20 jobs by default). Raise max_pages for narrow filters on large boards.
  • Change tracking compares each job with its saved state from your previous run, so date_modified is empty on the first run.
  • A job description that is too long to store is shortened so the row can be saved, and the run log says so.
  • The dataset views are built for the full record, so some columns are empty when you pick the compact or raw row shape.

FAQ

Workday Jobs Scraper collects job postings that employers publish publicly on their careers sites. Laws and site terms differ by country, so you are responsible for compliance, including GDPR and CCPA. This is not legal advice. Read Is web scraping legal? and consult a lawyer for your case.

Do I need a Workday account, cookies or an API key?

No. This Workday scraper needs no API key: you only paste public careers URLs, and it needs no Workday login, cookies or Workday API key. A key is needed only for optional extras: your own key for AI enrichment, or for the premium company data sources. The built-in extraction needs no key.

How many jobs can I get per run?

By default the run saves 20 jobs. Raise results_wanted to collect more, up to the limit cap, which allows at most 5,000 jobs per run. Each portal is read up to the max_pages cap, which is 20 pages of 20 jobs by default. Increase max_pages for large boards or narrow filters.

Can I get Workday jobs with salary ranges?

Yes, when the posting states pay. The Actor reads structured salary data and pay mentioned in the description, then fills currency, minimum, maximum and period, for example YEAR or HOUR. Turn on hasSalary to keep only postings that publish pay. Postings without pay information are skipped by that filter.

How do I find a company's Workday careers URL?

Open the employer's careers page and start a job search. If the address opens on a myworkdayjobs.com or myworkdaysite.com page, copy it from the browser into startUrls. You can paste a board link, a search link with a keyword or a single job link, and add many portals in one run.

Can I export Workday jobs to CSV or Excel?

Yes. Open the Dataset tab after the run to download Workday job listings as CSV, Excel, JSON, XML or HTML. The same data is available through the Apify API. Use the Output tab to browse the seven prebuilt table views before you download, then pick the columns you need.

Can I schedule runs and track new job postings between runs?

Yes. Use Apify schedules to run Workday Jobs Scraper daily or weekly, and connect results to tools with webhooks or integrations such as Make, Zapier and n8n. With trackChanges on, a repeat run fills date_modified and modified_fields for postings that changed since the previous run.

Can I use Workday Jobs Scraper with the Apify API or an MCP server?

Yes. Every Apify Actor can be started, scheduled and read through the Apify API, and AI agents can call Actors through Apify's MCP server. The API tab of this Actor shows ready-made request examples, and the full reference is in the Apify API documentation.

Why am I getting fewer jobs than expected?

Check results_wanted and limit first, then your filters, because jobs that fail a filter are skipped. A title filter on a big board may need a higher max_pages. The run-summary record shows how many jobs were seen and filtered out. Some boards also publish fewer open positions than expected.

Workday Jobs Scraper not working?

Check that every URL in startUrls is a public Workday careers link, loosen your filters and run again. If the problem continues, open the Issues tab of this Actor with your run link and a short description. Describe what you expected and what happened so the problem can be reproduced.

ActorUse it to
๐Ÿ”— Indeed Job ScraperScrape public Indeed job listings from search links or phrases, with salary, workplace type, benefits and skills.
๐Ÿ”— Website Lead IntelligenceTurn a list of company websites into a scored outreach list with verified emails and named decision-makers.

Support and disclaimer

Found a bug or need a feature? Open an issue in the Issues tab. For custom solutions, integrations or questions, contact hello.dataminds@gmail.com. Workday Jobs Scraper is independent and not affiliated with Workday, Inc.; Workday and other trademarks belong to their owners. It collects publicly available data, and you are responsible for complying with applicable laws and the terms of the sites you use. Learn more about Workday at workday.com.

Last updated: 2026-10-17