Workday Jobs Scraper: $0.10 per Company, Up to 1,000 Jobs
Pricing
from $70.00 / 1,000 company lookups
Workday Jobs Scraper: $0.10 per Company, Up to 1,000 Jobs
Reads every open job from the Workday career sites you name, such as Intel, Adobe and Salesforce, live where robots.txt allows. Flat $0.10 per company, up to 1,000 jobs included. Title, department, location, posted date, link. MCP-ready. No login or API key.
Pricing
from $70.00 / 1,000 company lookups
Rating
0.0
(0)
Developer
Don Mangu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Workday Jobs Scraper & API gets every open job on the Workday career sites (myworkdayjobs.com) of the companies you name, read live during your run, where the site's robots.txt allows it: title, department, location, job type, posted date and link. Paste career site links. You pay $0.10 per company, with up to 1,000 jobs included, and there is no API key or login.
The prefilled input reads three large career sites (Intel, Adobe, Salesforce) and costs $0.30 in total; a test run on 27 September 2026 returned 2,690 jobs in 51 seconds. The price is flat per company ($0.09 on the Scale plan, $0.07 on Business). Per job, that is $2 per 1,000 jobs for a company with 50 open jobs, $0.50 for one with 200, and $0.10 for one with 1,000. To get only new and closed jobs, save the input as a task and schedule it. You bring the companies.
What the Workday jobs scraper returns
- Department.
departmentanddepartmentPathare the job category the site lists the job under, when it has one. - Location.
locationas the site shows it; a job in several places shows its first place and how many more, and with descriptions every place. - Workplace type.
workplaceTypeis the site's remote type, else read from the location, andremoteis true only for fully remote jobs. - Job type.
employmentTypeis Workday's time type, such as "Full time". - Posted date.
postedAtis the day the site shows, such as "Posted 3 Days Ago". For jobs 30 or more days old it isnull, unless you add descriptions. - Links.
urlandapplyUrlare the job page. - Descriptions need one request per job: $0.01 per started 200 jobs described (
jobDetailBlocksCharged), and runs take longer. - Salary. Workday has no pay field. Pay written in a description fills
salaryMin,salaryMax,salaryCurrency,salaryPeriod,salarySourceandsalaryRanges. - Large sites. Sites with more than 2,000 open jobs are read in full, not cut at 2,000.
How to scrape Workday jobs, step by step
- In Companies (
companies), paste Workday career site links (withmyworkdayjobs.comormyworkdaysite.comin them) or company websites, up to 500. A job link reads the whole site. - Set filters if you need them, such as Title includes, Location or Posted since, and turn on Include job description for the full text.
- Run it. Each company costs $0.10, with up to 1,000 jobs included, charged when we contact its Workday site. Descriptions cost $0.01 per started 200 jobs described. Sites whose robots.txt does not allow us are free.
- Open the Jobs view of the results. Set Rows to return (
outputMode) tocompaniesfor one summary row per company instead. - To repeat it, save the input as a task and schedule it, as in Get only new and closed Workday jobs on a schedule.
How to find a company's Workday link
If a job's address on the company's careers page contains myworkdayjobs.com or myworkdaysite.com, paste it: a job link reads the whole site. A search link keeps its filters; an employer's own domain is not recognised.
Or paste the company's website, and we look for its Workday link there. A plain name works only for employers in our directory; one that is not there is not_found and free, because no Workday site is contacted. matchedBy says how the site was found, and companySlug is its host and name.
Which sites are read
Each employer decides for its own site: we read its robots.txt first, and a site that does not allow us returns unsupported_job_board, free. We keep the load low, with at most 2 requests at a time per site.
Fields on every job
jobId (ends with the requisition number), jobKey (the same in every run), countryCode, country, city and region from the location text, locations and countryCodes, seniority and jobFunction from the title, employmentTypeNormalized (such as full_time), language (read from the description, else the title), and salaryAnnualMin and salaryAnnualMax (hour x 2,080, day x 260, week x 52, month x 12). With descriptions: description without contact details, the tools it names, experienceYearsMin, experienceYearsMax, experienceLevel, educationMin, educationRequired, visaSponsorship, visaSponsorshipText and securityClearance. Rows also have the city's latitude, longitude and timeZone, remoteRegions, and ukVisaSponsor with ukSponsorRoutes.
Filters
Filters lower the price above 1,000 jobs, and only matching jobs are described.
- Words and places:
titleIncludesandtitleExcludes(whole words),department,location(a country name or code, else whole words),locationExcludes,remoteOnly,remoteRegions, andnearwithradiusKm(distance from one city). - Values:
workplaceTypes,employmentTypes,senioritiesandjobFunctions. - Dates:
postedSinceandpostedBefore(a date or a period such as7 days). - From the description (they turn on
includeDescriptionand its price):languages,hasSalary,minAnnualSalaryinminAnnualSalaryCurrency(no exchange rates),descriptionIncludes,skills(setsmatchedSkills),maxExperienceYearsandvisaSponsorship.descriptionFormatpickstext,htmlormarkdown. - Size:
maxJobsPerCompanykeeps the newest jobs.
A job without the value a filter needs is left out, and warning counts them. startUrls and urls are other names for companies. excludeCompanies leaves companies out. ukVisaSponsorOnly keeps UK visa sponsors.
Input example
This is the input the form is filled in with when you open the Actor, as JSON. Paste it into the JSON tab of the input, or send it as the run input through the API. Fields you leave out keep their defaults. It reads the Workday jobs of the companies listed in companies.
{"companies": ["https://intel.wd1.myworkdayjobs.com/External","https://adobe.wd5.myworkdayjobs.com/external_experienced","https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"]}
What a real run returned
On 27 September 2026 I gave the Actor three Workday career sites (Intel, Adobe and Salesforce) with every filter off. It finished in 51 seconds and returned 2,690 jobs: 602 from Intel, 566 from Adobe and 1,522 from Salesforce. All three companies came back with the status "ok". Intel and Adobe each fit in one company lookup. Salesforce has more than 1,000 jobs, so it needed one extra 1,000-job block. At the Free-plan prices in the table below that is 3 lookups at $0.10 plus 1 extra block at $0.05, or $0.35 for 2,690 jobs.
The first six rows, all from Adobe, newest first:
| Title | Location | Posted | Job function | Seniority |
|---|---|---|---|---|
| Data Scientist, Adobe.com | San Francisco (+1 more) | 2026-09-25 | data | not given |
| Senior Creative Producer | New York | 2026-09-25 | marketing | senior |
| Forward Deployed Engineer | San Jose | 2026-09-24 | engineering | not given |
| Software Development Engineer | Lehi (+2 more) | 2026-09-24 | engineering | not given |
| 2027 University Graduate - Machine Learning Engineer | San Jose (+6 more) | 2026-09-24 | data | entry |
| 2027 University Graduate - Software Engineer | San Jose (+5 more) | 2026-09-24 | engineering | entry |
In the first 50 rows, every row had a location, a posting date, a department, a job function and a link to the posting. 58% had a seniority level. None of the 50 had a salary, a work type or an employment type, so those columns were empty. When a job lists several offices, the location shows the first one and how many more there are, as in "San Jose (+6 more)".
Workday career sites to start with
These 25 career site links answered a check on 3 October 2026 and their robots.txt allows the site. Paste any of them into Companies (companies), or copy the example below. Companies change their links now and then, and a link that stops working returns not_found.
| Company | Career site link |
|---|---|
| Adobe | https://adobe.wd5.myworkdayjobs.com/external_experienced |
| Analog Devices | https://analogdevices.wd1.myworkdayjobs.com/External |
| Applied Materials | https://amat.wd1.myworkdayjobs.com/External |
| Autodesk | https://autodesk.wd1.myworkdayjobs.com/Ext |
| Broadcom | https://broadcom.wd1.myworkdayjobs.com/External_Career |
| Cadence Design Systems | https://cadence.wd1.myworkdayjobs.com/External_Careers |
| Ciena | https://ciena.wd5.myworkdayjobs.com/Careers |
| Cisco | https://cisco.wd5.myworkdayjobs.com/Cisco_Careers |
| Expedia Group | https://expedia.wd108.myworkdayjobs.com/search |
| F5 | https://ffive.wd5.myworkdayjobs.com/f5jobs |
| Hewlett Packard Enterprise | https://hpe.wd5.myworkdayjobs.com/Jobsathpe |
| HP Inc. | https://hp.wd5.myworkdayjobs.com/ExternalCareerSite |
| Intel | https://intel.wd1.myworkdayjobs.com/External |
| KLA | https://kla.wd1.myworkdayjobs.com/Search |
| Marvell Technology | https://marvell.wd1.myworkdayjobs.com/MarvellCareers |
| Microchip Technology | https://microchiphr.wd5.myworkdayjobs.com/External |
| Micron Technology | https://micron.wd1.myworkdayjobs.com/External |
| Motorola Solutions | https://motorolasolutions.wd5.myworkdayjobs.com/Careers |
| NVIDIA | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| NXP Semiconductors | https://nxp.wd3.myworkdayjobs.com/careers |
| PayPal | https://paypal.wd1.myworkdayjobs.com/jobs |
| Red Hat | https://redhat.wd5.myworkdayjobs.com/Jobs |
| Salesforce | https://salesforce.wd12.myworkdayjobs.com/External_Career_Site |
| Trimble | https://trimble.wd1.myworkdayjobs.com/TrimbleCareers |
| Zillow Group | https://zillow.wd5.myworkdayjobs.com/Zillow_Group_External |
Example input with five of them:
{"companies": ["https://autodesk.wd1.myworkdayjobs.com/Ext","https://cisco.wd5.myworkdayjobs.com/Cisco_Careers","https://intel.wd1.myworkdayjobs.com/External","https://paypal.wd1.myworkdayjobs.com/jobs","https://redhat.wd5.myworkdayjobs.com/Jobs"]}
How much does the Workday jobs API cost?
| Event | Price | What you get |
|---|---|---|
Company lookup (company-lookup) | $0.10 (Scale $0.09, Business $0.07) | One company's job list, up to 1,000 jobs, also a first check with Only new jobs |
Extra 1,000 jobs (extra-1000-jobs) | $0.05 (see the Store page) | Each further 1,000 job rows of a company, or part of them |
Description block (job-details) | $0.01 | Descriptions of 200 jobs, or part of them |
New jobs check (new-jobs-check) | $0.002 | A later check with Only new jobs, per started 1,000 open jobs on the site |
So 100 companies cost $10 ($7 on the Business plan). A daily Only new jobs check of them then costs $0.20.
A website that links no job board costs the company price. A company over your spending limit is not charged.
Get only new and closed Workday jobs on a schedule
Turn on Only new jobs since my last check (onlyNewJobs), save the input as a task, and schedule it. The first check returns the full list for the company price. Later checks return new and closed jobs (change, alertText) for $0.002 per started 1,000 open jobs on the site, and describe only new jobs.
Alert webhook URL (alertWebhookUrl) posts to Slack, Teams, Make, Zapier or n8n after a check with changes (alertMaxJobs, alertOnFirstCheck).
Rows have firstSeenAt, closed rows closedAt and daysOpen. reposted marks a new job matching one closed within 30 days; skipReposts leaves those out (skippedRepostsCount, skippedReposts). includeUpdatedJobs adds changed jobs, with changedFields and previous. Each monitorName keeps its own memory in your Apify account.
Integrations
Save your input as a task first: turn on Only new jobs since my last check, give it a Monitor name, and add a schedule. Each scheduled run then returns the new and closed jobs, with change set to new or closed.
Google Sheets. On your saved task's Integrations tab, add the Google Sheets Import & Export Actor, connect Google, pick a spreadsheet and set Mode to append. Each scheduled run adds its jobs as new rows, and the change column tells you which are new and which closed.
n8n. Add a Schedule Trigger, then the Apify node with Actor tasks and Run Task and Get Dataset, and pick your saved task. The node waits for the run and passes on each job as one item.
Make. The Apify app runs your task with Run a Task, and Get Dataset Items reads its jobs. To react to scheduled runs, start with Watch Task Runs.
Zapier. The Apify app has a Finished task run trigger and a Run Task action. Add Fetch dataset items to pass the jobs to the next step.
Webhooks. For a ready message, paste a Slack, Discord, Teams, Make, Zapier or n8n incoming webhook link into Alert webhook URL. It posts only after a check with new or closed jobs. To start your own system instead, add an HTTP webhook for Run succeeded on the task's Integrations tab. Apify then sends each run's details to your URL, including the defaultDatasetId that holds its jobs.
For AI agents
Use it to answer "is company X hiring for Y right now?" for companies on Workday. Input (companies, up to 500):
{"companies": ["https://intel.wd1.myworkdayjobs.com/External", "https://adobe.wd5.myworkdayjobs.com/external_experienced"], "jobFunctions": ["engineering"], "postedSince": "7 days", "maxJobsPerCompany": 50}
Output, one row per job: company, companyStatus, title, department, location, workplaceType, employmentType, jobFunction, postedAt, url and more, plus description with includeDescription. A company with no jobs gets a status row saying why.
Price: $0.10 per company with up to 1,000 jobs, charged when we contact its Workday site, also when that site is not_found; $0.01 per started 200 jobs described. More in How much does the Workday jobs API cost?. Sites whose robots.txt does not allow us, invalid entries, duplicates and other job boards are free.
Many companies, or companies on different job boards? ATS Jobs API reads Workday and 21 other job boards in one run for $0.045 per company.
Use it from Claude, Cursor or another AI agent (MCP)
The Apify MCP server lets an AI agent call this Actor as a tool. Add it with this server link:
https://mcp.apify.com?tools=conserving_celerytop/workday-jobs-api
In Claude Desktop, Cursor or another MCP client, add a server with that link as its url, for example {"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=conserving_celerytop/workday-jobs-api"}}}. Sign in with your Apify account when the client asks (OAuth is the way the Apify docs recommend; a token header is the other option, see the Apify MCP server docs). You need an Apify account to run Actors. The Actor then shows up as its own tool.
Then ask in plain words, for example: "Which data engineer jobs did Adobe post on Workday in the last 7 days?" The agent fills in the input, such as:
{"companies": ["https://adobe.wd5.myworkdayjobs.com/external_experienced"], "titleIncludes": ["data engineer"], "postedSince": "7 days", "maxJobsPerCompany": 50}
Useful input fields for an agent: companies (Workday career site links or company websites), titleIncludes, location, jobFunctions, postedSince, maxJobsPerCompany (20 is enough for a quick question), includeDescription (adds the job text and pay written in it), onlyNewJobs (new and closed jobs since the last check) and outputMode (companies for one summary row per company). The Actor returns one row per job with company, companyStatus, title, department, location, postedAt and url. A company with no jobs returns a status row that says why. Each run costs $0.10 per company, with up to 1,000 jobs included; see How much does the Workday jobs API cost?. A test run on three large career sites took 51 seconds.
Output
A job row for a job on Intel's site on 26 September 2026, shortened. Unknown values are null.
{"rowType": "job","company": "https://intel.wd1.myworkdayjobs.com/External","ats": "workday","companyStatus": "ok","charged": true,"jobId": "Senior-Business-Development-Manager_JR0287384","title": "Senior Business Development Manager","location": "US Washington DC (+2 more)","postedAt": "2026-09-25T00:00:00.000Z","url": "https://intel.wd1.myworkdayjobs.com/External/job/US-Washington-DC/Senior-Business-Development-Manager_JR0287384","applyUrl": "https://intel.wd1.myworkdayjobs.com/External/job/US-Washington-DC/Senior-Business-Development-Manager_JR0287384"}
Set Rows to return (outputMode) to companies for one summary row per company, or both. rowType is job, company or status. Summary rows have boardUrl, openJobs, jobsPostedLast7Days, jobsPostedLast30Days, jobsOpenOver90Days, newestPostedAt, oldestPostedAt, remoteJobs, remoteShare, engineeringShare, salesShare, salaryCoverage, salaryMedians, medianSalaryMin, medianSalaryMax, medianSalaryCurrency, medianSalaryPeriod, topDepartments, topLocations, countries, seniorityCounts, functionCounts, functionCountsLast30Days, leadershipRoles and firstHireRoles. Descriptions add topTools, toolCoverage, visaSponsorshipShare and medianExperienceYearsMin. Only new jobs adds newJobs, closedJobs, updatedJobs, repostedJobs, medianDaysOpen, newFunctions, newCountries and previousCheckAt.
The COMPANIES record has each company's status, with inputDomain, careerPageSource, fetchedAt, error, chargedEvent, chargedEventCount, extraJobBlocksCharged, upstreamCalls, companyTotalOpenJobs, companyMatchedJobs, companyJobsReturned, companyJobsWithoutDate, newJobsCount, closedJobsCount, updatedJobsCount and firstCheck.
Statuses and charges
companyStatus | Meaning | Charged |
|---|---|---|
ok, no_matching_jobs, no_open_jobs | The site was read | Yes |
not_found | Workday has no career site at this link | Yes, when we contacted Workday; free for a plain name that is not in our directory |
source_error | Workday failed or did not answer | Yes |
no_job_board_found | The website links no job board | Yes |
unsupported_job_board | Another job board, a site whose robots.txt refuses us, or a blocklisted employer. error says why | No |
website_unavailable | We could not read the website | No |
invalid_input, duplicate | Not a link, website or name, or the same site as another entry | No |
skipped_time_limit, skipped_spending_limit | Out of time, or over your spending limit | No |
skipped_client_disconnected | Only in Live Jobs HTTP API. Your client disconnected first | No |
internal_error | Something failed on our side | Only if it happened after we read the site |
Other job boards: ATS Jobs API and more
This Actor reads only Workday. The same list of companies works in our other job Actors:
- ATS Jobs API: 22 job boards in one run, when you do not know which board a company uses.
- Greenhouse Jobs Scraper & API
- Lever Jobs Scraper & API
- Ashby Jobs Scraper & API
- Tech Jobs Search: search the open jobs of 824 companies by keyword, place and salary.
- Live Jobs HTTP API: the same job data in one HTTP request, for scripts, Clay and no-code tools.
- Website Tech Stack Detector: the CMS, analytics and other tools on the same companies' websites.
Related Actors
Closest to this one:
- ATS Jobs API (career page scraper): open jobs of the companies you name, from Greenhouse, Lever, Ashby, Workday and 18 more job boards.
- H-1B Salary Database: what employers pay, from H-1B and PERM filings.
- Greenhouse Jobs Scraper: every open job on Greenhouse job boards.
- Company Hiring Signals: one hiring score per company from its open jobs.
More Actors from the same developer:
Job data
- Live Jobs HTTP API: the same job data in one HTTP request, for Clay, Zapier, Make and n8n.
- Tech Jobs Search: jobs open today at 824 tech, AI, remote-first and startup companies.
- AI Jobs Search: AI, machine learning and LLM jobs at 824 AI, tech and startup companies.
- Software Engineer Jobs: software engineer and developer jobs by level and stack.
- Lever Jobs Scraper: every open job on Lever job boards.
- Ashby Jobs Scraper: every open job on Ashby job boards, with published salaries.
Company and salary research
- Website Tech Stack Detector: the CMS, ecommerce, analytics and hosting behind websites.
Content, media and research
- Audio and Podcast Transcription: audio, video and podcast feeds to text and subtitles.
- Crossref Works Search: scholarly papers, DOIs and citation counts.
FAQ
Is this an official Workday API, and is it legal to use? No. It reads the public job lists each Workday career site shows to visitors, where the employer's robots.txt allows it, and never apply or login pages. A site whose robots.txt does not allow us returns unsupported_job_board, free, and we keep to at most 2 requests at a time per site. It is not affiliated with or endorsed by Workday, Inc. or any employer whose site it reads. Workday is a trademark of its owner. It is built for job data, not personal data: descriptions come without email addresses, phone numbers or profile links. We cannot give legal advice, so check that your use follows the laws and terms that apply to you. An employer that does not want its site read can open an issue on the Issues tab, and we add it to our blocklist.
How fresh are the jobs, and can I get alerts? Every run reads each company's Workday site at the time you run it, so you get the jobs the site shows at that moment. fetchedAt is when the lookup started. postedAt is the posting day the site shows, such as "Posted 3 Days Ago", to the day. For jobs posted 30 or more days ago the site's list gives no day, so postedAt is null unless you turn on Include job description. With no date filter you get every open job, whatever its posting date; Posted since leaves out jobs that have no posting date. For new jobs every day, turn on Only new jobs since my last check (onlyNewJobs), save the input as a task and schedule it. The first check of a company returns its full list for the company price. Later checks return new and closed jobs for $0.002 per started 1,000 open jobs on the site, and alertWebhookUrl can post them to Slack, Discord, Teams, Make, Zapier or n8n. More in Get only new and closed Workday jobs on a schedule.
Will I get duplicates or reposted jobs? A site you enter twice is read and charged once: the second entry gets the status duplicate, free. Each job is one row, also when it is open in several places: location shows the first place and how many more, such as "San Jose (+6 more)". Every job has a jobKey that stays the same in every run. With Only new jobs, a job comes once as new, and once more as closed when it is taken down. A job put up again under a new id comes as new with reposted set to true when a job with the same title and location closed in the last 30 days. Turn on Skip reposted jobs (skipReposts) to leave those out.
How many jobs does one company return, and what does it cost? One company lookup is $0.10 and includes up to 1,000 jobs. Each further block of up to 1,000 jobs costs $0.05. In the run on 27 September 2026, Intel (602 jobs) and Adobe (566) each fit in one lookup, and Salesforce (1,522) needed one extra block, so 2,690 jobs cost $0.35 at the Free-plan price. To stay at the base price, set Max jobs per company (maxJobsPerCompany) to 1,000 or less: it keeps the newest jobs. Without it you get all jobs, up to 10,000 per company. Rows to return (outputMode) set to companies gives one summary row per company and never adds the extra charge. Descriptions cost $0.01 per started 200 jobs described, and only when you ask for them.
Can I search all Workday jobs by keyword? No. You bring the companies: Workday career site links or company websites, up to 500 per run. A plain name works only for employers in our directory. Filters like Title includes, Department, Location and Posted since then pick jobs inside those companies. Each company costs the company price, also when no job matches. To search the open jobs of 824 tech, AI, remote-first and startup companies by keyword, use Tech Jobs Search. If you do not know which job board a company uses, ATS Jobs API reads Workday and 21 other job boards in one run.
How do I find a company's Workday link, and what does a result with no jobs mean? Open any job on the company's careers page. If its address contains myworkdayjobs.com or myworkdaysite.com, paste it: a job link reads the whole site. You can also paste the company's website, and we look for its Workday link there; matchedBy says how the site was found. The site name after the host, such as /External, is part of the link, so paste the full link. If a name returns not_found, Workday has no career site at that link, or the plain name is not in our directory. When a company has nothing to return, it gets one row with rowType status, and companyStatus says why: no_open_jobs means the site was read and has no open jobs, no_matching_jobs means it has jobs but none pass your filters, and no_job_board_found means the website links no job board. These are charged, because we read the site or the website. A plain name that is not in our directory is not_found and free, because no Workday site is contacted. A link to another job board is unsupported_job_board, free. All statuses are in Statuses and charges.
Why is the salary empty? Workday has no pay field, so pay can only come from the job text. Turn on Include job description ($0.01 per started 200 jobs described), and pay written in a description fills salaryMin, salaryMax, salaryCurrency, salaryPeriod and salaryRanges. salarySource is text when the pay was read from the description. Without descriptions these fields stay empty: none of the first 50 rows in the 27 September 2026 run had a salary. To keep only jobs with pay, turn on Only jobs with a salary (hasSalary), which also turns on descriptions and their price.
Found a problem? Open an issue on the Issues tab.
Related Actors. Live Jobs HTTP API returns jobs in one HTTP response, at its own prices plus platform usage.