Workday Jobs Scraper - Career Site Job Listings API
Pricing
$1.20 / 1,000 job returneds
Workday Jobs Scraper - Career Site Job Listings API
Scrape live job postings from any company career site on Workday (myworkdayjobs.com). Paste the career site URL, or search a built-in index of large employers on Workday by keyword, location and country. Clean JSON, no login, no proxies.
Pricing
$1.20 / 1,000 job returneds
Rating
0.0
(0)
Developer
DataSignals Lab
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Workday Jobs Scraper: live listings from any Workday career site, or search 82 companies
Get every open job from a company that runs its careers page on Workday, as clean JSON, in seconds. Paste the career site URL or the company slug, or leave the list empty and search a built-in index of 82 Workday companies by keyword, location and country. Built for recruiters, job boards, sales teams and data pipelines that need Workday jobs straight from the source, not a day later from an aggregator.
The data comes from the public endpoint Workday itself publishes for every customer's job board. No login, no API key, no proxies, no browser. A posting is in your dataset the moment the employer publishes it.
Run it with the default input and you get the live openings of nvidia and the other prefilled Workday companies, capped at 500 jobs, with descriptions included.
What you get from the Workday Jobs Scraper
One row per open job. The schema is identical across all seven DataSignals Lab ATS scrapers (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Teamtailor, Workday), so you can merge feeds without remapping a single field.
| field | meaning |
|---|---|
title | job title exactly as the employer published it |
company | the slug or site you asked for |
platform | always workday |
job_id | the employer's own posting id, stable across runs |
location | location text as the employer wrote it |
country | normalised country name derived from the location, null when unknown |
remote | true, false or null (only set on explicit signals) |
department | team or department when the employer provides it |
employment_type | full time, part time, contract or internship when provided |
posted_at | ISO 8601 UTC timestamp when the posting went live, null when the platform does not expose it |
apply_url | direct link to the posting on the employer's career site |
description | plain-text description, HTML removed, up to 4000 characters (absent when includeDescription is off) |
Example row:
{"title": "Senior Backend Engineer","company": "nvidia","platform": "workday","job_id": "4012345","location": "Amsterdam, Netherlands","country": "Netherlands","remote": false,"department": "Engineering","employment_type": "Full-time","posted_at": "2026-09-28T09:14:02+00:00","apply_url": "https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/Senior-Backend-Engineer_JR1980000","description": "We are looking for ..."}
How to scrape Workday jobs with this Actor
In the Apify Console:
- Open the Actor page and click Try for free. The input form is prefilled with example Workday companies.
- Replace the
companieslist with your own slugs or career site URLs, one per line. To search the whole index instead, clear the list and type one or morekeywords, optionally with acountry. - Set
maxJobsto the number of rows you are willing to pay for. The run stops there. - Click Start. Open the Output tab to browse the jobs, then export as JSON, CSV or Excel, or copy the dataset URL.
Through the API, from your own code or an automation:
- Call
POST https://api.apify.com/v2/acts/datasignalslab~workday-jobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKENwith the input JSON as the body. The response is the dataset itself, so one call gives you the jobs. - For larger runs, start the Actor asynchronously with
/runs, attach a webhook, and read the dataset when the run finishes. - Schedule the run in the Console (hourly, daily, weekly) and point the schedule at the same input. Every run writes a fresh dataset.
Input
| field | what it does |
|---|---|
companies | The full career site URL, or tenanthttps://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Empty means: search the built-in index. |
keywords | match on title and department, case-insensitive. Empty returns every open job. |
location | substring match on the location text, for example Berlin or New York. |
country | normalised country filter, for example Germany. Resolves Remote Canada and Mountain View, CA alike. More reliable than location for countries. |
remoteOnly | keep only jobs the employer flagged as remote. Default false. |
maxJobs | hard stop across all companies and your budget cap. Default 500, 0 means no limit. |
maxJobsPerCompany | cap per employer, so one large company does not fill the whole result. Default 0, no cap. |
includeDescription | plain-text description up to 4000 characters. Default true. Off gives a lighter dataset. |
searchDescriptions | also match keywords in descriptions. Default false, because nearly every description mentions words like engineer. |
companyFilter | only used when companies is empty: keep index companies whose name contains this text. |
maxCompanies | only used when companies is empty: how many index companies to walk. Default 25, 0 means the whole index. |
Named companies, every open job:
{ "companies": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite", "https://abbott.wd5.myworkdayjobs.com/abbottCareers"] }
Search the index for a role in one country:
{ "keywords": ["data engineer"], "country": "Germany", "maxCompanies": 100, "maxJobs": 300 }
Remote roles only, titles and links without descriptions:
{ "companies": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite", "https://abbott.wd5.myworkdayjobs.com/abbottCareers"], "remoteOnly": true, "includeDescription": false, "maxJobs": 200 }
Pricing: how much does it cost
You pay per job returned: $1.20 per 1,000 jobs, the same rate as the market leaders in this niche. Only rows that pass your filters and land in the dataset are charged. Filters cost nothing. A company that returns no match, a slug that does not exist or an empty run costs nothing beyond a few seconds of Apify compute.
A worked example in words: a run over twenty named companies that returns 2,400 open jobs costs two point four times the per-thousand price. The same run with keywords set to engineer and country set to Netherlands might return 90 jobs, and then you pay for 90 jobs, not for the 2,400 the Actor read to find them. maxJobs is a hard ceiling on the bill: set it to 1,000 and a run can never cost more than the per-thousand price.
Apify's free monthly credit covers thousands of jobs, so you can evaluate the feed for your own companies before paying anything.
More from DataSignals Lab
This Actor is one of the pay-per-result data Actors of DataSignals Lab: job listings per ATS platform and job board, app and company reviews, YouTube comments and transcripts, website contacts and tech stacks. Every Actor returns the same clean JSON style and charges only for rows that land in the dataset, so you can combine feeds without remapping fields. All Actors and prices are listed on datasignalslab.com.
Use cases for Workday jobs data
- Recruiters and sourcers: see a posting the hour it goes live on the employer's Workday board, before it reaches the big job sites, and reach out first.
- Job boards and job search products: a normalised feed per employer with stable
job_idvalues, so you can add new jobs and close expired ones automatically. - Sales and growth teams: hiring as an intent signal. A company opening five data roles in Berlin is a prospect for data tooling this quarter.
- Analysts and researchers: headcount growth per company and department over time, from a scheduled daily run.
- AI agents and automations: structured openings instead of HTML, callable from n8n, Make, Zapier or the Apify MCP server.
Workday jobs API alternative: how it compares
- Scrapers that read LinkedIn or Indeed fight bot protection, need residential proxies and deliver postings a day late. This Actor reads the Workday endpoint
{tenant}.{dc}.myworkdayjobs.com/wday/cxs/{tenant}/{site}/jobsdirectly. It is the source, it is stable, and it has no anti-bot layer. - Most per-platform scrapers require you to know the company slug. This one also ships an index of 82 Workday companies you can search by keyword, location and country without naming a single employer.
- Some multi-platform tools return a different field set per ATS. Here all seven DataSignals Lab ATS scrapers share one schema, so a Workday row and a Workday row line up column for column.
- If you need several ATS platforms in one run, use Job Search API, which detects the platform per company automatically.
Limits
- Only companies on Workday. A slug on another platform returns "not found" for that company, nothing else.
- No salary field. Workday does not expose salary in a structured way on its public endpoint, and the Actor does not guess it from the description text.
- No "only new since last run" delta. Schedule the Actor and deduplicate on
job_idin your own store or sheet. The id is stable, so a job you have seen before has the same id in every run. - No company size or industry. The Actor returns jobs, not company profiles.
- The built-in index is a snapshot of 82 companies refreshed monthly. Companies you name explicitly are fetched live and do not need to be in the index.
- Description text is capped at 4000 characters of plain text, HTML removed.
posted_at,department,employment_typeandremoteare null when the employer did not fill them in. The Actor never invents values.
FAQ
Is it legal to scrape Workday jobs?
The Actor reads the public endpoint that Workday serves to every visitor of a customer's career site, with no login and no personal data. Job postings are published to be read. You are responsible for how you use the data, in particular if you republish it.
Do I need an API key or login to get Workday jobs?
No. You need an Apify account to run the Actor and nothing from Workday. No proxies, no browser, no cookies.
How often do the Workday jobs update?
Every run reads the live endpoint, so the dataset is as fresh as the employer's own career site at that moment. Schedule the Actor hourly or daily to track changes. The company index is separate and is refreshed monthly.
Can I schedule the Workday Jobs Scraper and only keep new jobs?
Yes to scheduling: set a schedule in the Console or via the API. The Actor itself does not return a delta, so compare job_id against your previous dataset to find new and closed jobs. A webhook on run finish can trigger that comparison.
Can an AI agent or MCP client call it?
Yes. Through the Apify MCP server any MCP client, including Claude and ChatGPT, can call this Actor as a tool, pass companies or keywords and receive the jobs as structured JSON.
How much do 10,000 Workday jobs cost?
Ten times the per-thousand price, so ten times $1.20. Filters and empty results are free, and maxJobs caps the run so a bill can never exceed what you set.
What happens when a Workday company blocks or disappears?
Nothing is charged for it. A slug that no longer exists, has moved to another ATS or returns an error is logged in the run and skipped. The other companies in the same run are unaffected.
Integrations
Works with the Apify API, scheduled runs and webhooks, the Apify MCP server, and the Apify apps for Make, Zapier and n8n. Export the dataset as JSON, CSV or Excel, or push it into Google Sheets and tools such as Clay with the Apify integrations.
Changelog
- 2026-10: README rewritten, price aligned with the market at $1.20 per 1,000 jobs.
- 2026-10: launch of the seven per-platform ATS scrapers with a shared schema and a built-in company index.
Support
Issues tab on this page, or support@datasignalslab.com. Response within one working day. Built and maintained by DataSignals Lab.