Workday Jobs Scraper API - By Company Name, No Login
Pricing
from $1.20 / 1,000 jobs
Workday Jobs Scraper API - By Company Name, No Login
Scrape all open jobs from Workday career sites (myworkdayjobs.com) by company name or URL (NVIDIA, Salesforce, Intel), even sites with 2,000+ jobs, or search 5,000+ Workday sites by keyword. Title, location, remote and date filters, new & closed job feed. No login. $1.50 per 1,000 jobs.
Pricing
from $1.20 / 1,000 jobs
Rating
0.0
(0)
Developer
HireWatch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
Workday Jobs Scraper API: any Workday career site, by company name
Get all open jobs from any Workday career site (*.myworkdayjobs.com and *.myworkdaysite.com) as clean JSON, CSV or Excel, with no login and no API key. Type a company name found in the built-in directory of 5,027 verified Workday career sites (e.g. NVIDIA, Intel) or paste any Workday URL, or search all of those sites at once by job title, location and remote. It works even for sites with more than 2,000 jobs, where Workday's own search stops, and every run labels jobs new / unchanged / closed, so a daily schedule becomes a new-jobs feed. Works from the Apify API and from AI agents through MCP.
Independent tool: not affiliated with, endorsed by or sponsored by Workday, Inc. "Workday" is used only to describe which career sites this works with.
Two ways to use it
- Name the companies. Type company names, website domains or job-board URLs, and get every open job at those companies.
- Search all companies. Turn on
searchAllCompaniesand the Actor searches a built-in directory of 5,027 verified Workday career sites, biggest employers first, with your filters: title keywords, location, remote only, posted date and minimum salary. It works like a live job search API across company career sites. There's no cached database: every board is read at run time, so closed jobs never show up.
{"searchAllCompanies": true,"titleKeywords": ["data scientist"],"locationKeywords": ["Remote", "United States"],"minSalary": 100000,"salaryCurrency": "USD","postedWithinDays": 14,"maxItems": 200}
maxCompaniessets how many boards are searched (default 100, about 1–3 minutes). Raise it for wider coverage.- Search-all runs stop at
maxItemsmatching jobs (500 if you leave it at 0) and output job rows only, without company summaries. - On Workday sites the Actor uses Workday's own keyword search with your title keywords and reads at most 100 jobs per site, so a search stays fast.
- Every board in the directory was checked live against its public jobs API on 2026-10-20 and had at least one open job. Boards that close later are skipped and listed in
RUN_REPORT, so they never fail the run. - For a daily new-jobs feed, schedule a search with
"outputMode": "changesOnly". After the first run, each run returns only jobs that are new (or closed) since the previous one.
How to scrape Workday jobs
- Click Try for free (or Start) on this page. Apify's free plan includes monthly credit, so a first test costs nothing.
- In Companies, type company names, domains or careers-page URLs, e.g.
NVIDIAandSalesforce. Or leave it empty and turn on Search all companies. - Optional: add title keywords, location keywords, remote only, posted within N days or a minimum salary.
- Click Start. Small runs finish in seconds; a whole large company takes a few minutes.
- Download the jobs as JSON, CSV, Excel or HTML, or read them through the API. Add a schedule to get new jobs every day.
What you can use it for
- Sales and recruiting signals. See which accounts are hiring, in which departments, and how fast.
- Job boards and aggregators. Pull complete listings straight from the employer's own site.
- Market and competitor research. Track open headcount by location and job family over time.
- Candidates and career tools. Get new roles at target companies the day they're posted.
Why this Workday scraper
- Gets past the 2,000-job cap. Workday search only reaches the first 2,000 results. This Actor splits big sites by job family or location and merges the slices without duplicates. In our test on Oct 11, 2026 it retrieved all 2,675 NVIDIA jobs.
- Filters: title keywords, location keywords, remote only, posted within N days, max jobs per company, and an overall
maxItemscap. When you ask for descriptions, filtered-out jobs are skipped before the slow detail request. - New / closed tracking between runs, plus an optional hiring-signal summary per company: open jobs, new and closed jobs, trend, jobs posted in the last 7 and 30 days, top departments and locations.
- Full descriptions (optional): description text and HTML, requisition ID, hiring legal entity, all locations, country, time type (full/part time), remote type and exact start date.
- Polite and reliable. It uses the same public job-listing data the career page loads in your browser. No login, no browser automation, robots.txt respected, at least 1 second between requests to a site, and retries with back-off. Contact details are never collected, and e-mails and phone numbers in descriptions are masked.
- Clear errors. A wrong or stale URL is reported for that company only, in the status message and
RUN_REPORT.
By company name or by URL
Most large Workday employers can be named directly: the Actor matches the name against 5,027 Workday career sites that were verified live on 2026-10-20 (matching is on the site's Workday name, e.g. nvidia, intel, salesforce). If a name isn't found, the run report says so: open the company's careers page, click "Search jobs", and copy the URL from your browser. It looks like https://<company>.wd5.myworkdayjobs.com/<SiteName>. A link to a single job, or a careers page that links to Workday, also works.
| Company | URL |
|---|---|
| NVIDIA | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite |
| Salesforce | https://salesforce.wd12.myworkdayjobs.com/External_Career_Site |
| Intel | https://intel.wd1.myworkdayjobs.com/External |
| Capital One | https://capitalone.wd12.myworkdayjobs.com/Capital_One |
Want a nicer company name in the output? Write Name | URL, e.g. NVIDIA | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite.
Input examples
Every open job at two companies:
{"targets": ["NVIDIA | https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite","Intel | https://intel.wd1.myworkdayjobs.com/External"],"maxJobsPerCompany": 0}
Engineering roles posted this week, with descriptions:
{"targets": ["https://intel.wd1.myworkdayjobs.com/External"],"maxJobsPerCompany": 0,"titleKeywords": ["engineer"],"postedWithinDays": 7,"includeDescriptions": true}
Daily change feed (schedule it daily):
{"targets": ["https://salesforce.wd12.myworkdayjobs.com/External_Career_Site"],"maxJobsPerCompany": 0,"outputMode": "changesOnly"}
Output
One row per job (real example from a test run, trimmed):
{"recordType": "job","platform": "workday","companySlug": "intel","companyName": "intel","careerSite": "External","jobId": "JR0284988","requisitionId": "JR0284988","legalEntity": "100 Intel Corporation","globalId": "workday:intel:External:JR0284988","title": "Senior Member of Technical Staff, Thin Films Engineer","employmentType": "full_time","location": "US, Oregon, Hillsboro","locations": ["US, Oregon, Hillsboro", "US, Arizona, Phoenix"],"country": "United States of America","postedAt": "2026-10-08","postedAtText": "Posted 3 Days Ago","url": "https://intel.wd1.myworkdayjobs.com/External/job/US-Oregon-Hillsboro/...","descriptionText": "Job Details: ...","changeStatus": "new","firstSeenAt": "2026-10-11T23:13:00Z"}
Every row has the same fields (missing values are null). globalId stays the same across runs, so use it as your key. changeStatus is new, unchanged or closed (with closedAt). Optional company_summary rows hold the hiring signals, which are also saved as COMPANY_SUMMARIES in the key-value store. A per-company RUN_REPORT shows status and errors.
Pricing (pay per event)
- $1.50 per 1,000 job records on the Free plan, $1.40 on Bronze, $1.30 on Silver and $1.20 on Gold and higher Apify plans (per job, including jobs labelled
closed) - $0.01 per company summary (optional; turn off
includeCompanySummaryto skip it)
Examples: all ~2,700 NVIDIA jobs ≈ $4.06. A daily changes-only feed for 20 companies with ~100 changed jobs a day ≈ $0.35 per day. You pay only for results. Set Maximum cost per run (or maxItems) to cap spending. The run stops cleanly at the cap.
Tips & limits
- Speed: listings are fast, about 20 jobs per request, so ~2,700 jobs take about 2–3 minutes. Descriptions need one extra request per job (about 1 per second per site), so combine them with title or date filters.
- Posted dates are approximate without descriptions ("Posted 3 Days Ago", "Posted 30+ Days Ago"). The original text is kept in
postedAtText. - Remote type is only known when descriptions are on, or when the location says "Remote".
- Closed jobs are only reported when the whole site was fetched in both runs, so use
maxJobsPerCompany: 0for tracking.
Use with AI agents / MCP
This Actor is built to be called by AI agents (Grok Bot, Claude, ChatGPT, Cursor, LangChain and others) through the Apify MCP server or the Apify API.
- Add only this tool:
https://mcp.apify.com?tools=hirewatch/workday-jobs-scraper. You can also let your agent find it throughsearch-actors. - Keep calls small so they finish fast. The MCP
call-actortool waits up to 45 seconds, so setmaxItems(e.g. 50) andmaxJobsPerCompany(e.g. 100), and leaveincludeDescriptionsoff unless you need the text. Cap spend withmaxTotalChargeUsdincallOptions. - Read results with
get-dataset-itemsusing the run'sdatasetId. Each row hasrecordType:jobrows share one flat schema, andcompany_summaryrows hold the hiring signals. Per-company errors are in theRUN_REPORTkey-value record, so one bad input never fails the whole run. - Pay without an Apify account. The Actor uses pay-per-event pricing with limited permissions, so agents can pay per run with agentic payments (x402 / MPP prepaid tokens or Skyfire).
Job search across many companies (no company names needed; maxCompanies: 20 keeps it to roughly 30 seconds, inside the MCP 45-second wait):
{"searchAllCompanies": true, "titleKeywords": ["data engineer"], "remoteOnly": true, "maxCompanies": 20, "maxItems": 50}
Minimal agent call for named companies:
{"targets": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],"titleKeywords": ["machine learning"],"maxJobsPerCompany": 200,"maxItems": 50,"includeCompanySummary": false}
Other HireWatch jobs Actors
| Actor | Best for |
|---|---|
| Workday Jobs Scraper | Workday career sites (*.myworkdayjobs.com) by company name or URL, including sites with more than 2,000 jobs |
| Greenhouse Jobs Scraper | Greenhouse boards by company name or domain, with published salary ranges |
| Lever Jobs Scraper | Lever boards (jobs.lever.co) by company name or domain, with salaries and remote/hybrid type |
| Ashby Jobs Scraper | Ashby boards (jobs.ashbyhq.com), popular with startups and AI companies, with salary ranges |
| Workday, Greenhouse, Lever, Ashby & Oracle Jobs Scraper | Mixed lists across all five platforms in one run and one schema, plus job search across all of them |
| Website Tech Stack Detector + DMARC/SPF Checker | Find out what the hiring companies' websites are built with |
All of them use the same output schema and the same new/closed tracking, so you can combine their datasets.
How much does it cost to scrape Workday jobs?
You pay only for job records in your dataset. There is no monthly fee and no charge for jobs your filters remove.
| Job records | Free plan ($1.50 / 1,000) | Gold+ plans ($1.20 / 1,000) | Typical use |
|---|---|---|---|
| 100 | $0.15 | $0.12 | a quick check of one company |
| 1,000 | $1.50 | $1.20 | every job at a few mid-size companies |
| 10,000 | $15.00 | $12.00 | a weekly market-wide search |
| 100,000 | $150.00 | $120.00 | a large job board backfill |
Optional company summaries cost $0.01 each. Set Maximum cost per run in the run options (or maxItems) and the run stops cleanly at your budget.
Integrations and API
Run it from your own code, a no-code tool or a schedule:
- Schedules: run daily or hourly from the Schedules tab, with
"outputMode": "changesOnly"for a new-jobs feed. - No-code: Make, Zapier, n8n, Google Sheets, Slack, Airbyte and webhooks are available under Integrations.
- Export: JSON, CSV, Excel, XML, RSS or HTML from the dataset, or stream rows through the API.
- AI agents: use it as an MCP tool (see below).
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("hirewatch/workday-jobs-scraper").call(run_input={"targets": ["NVIDIA", "Salesforce"], "maxItems": 100})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], job["location"], job["url"])
JavaScript / Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('hirewatch/workday-jobs-scraper').call({ targets: ['NVIDIA', 'Salesforce'], maxItems: 100 });const { items } = await client.dataset(run.defaultDatasetId).listItems();
cURL (runs the Actor and returns the jobs in one request):
curl -X POST "https://api.apify.com/v2/acts/hirewatch~workday-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"targets": ["NVIDIA"], "maxItems": 50}'
FAQ
How do I get all open jobs at a company? Put its name in targets, e.g. ["NVIDIA", "Intel"], and set maxJobsPerCompany to 0. A careers-page URL or the company's website domain works too.
Can I search jobs without knowing the companies? Yes. Turn on searchAllCompanies and add title keywords, a location or a minimum salary. The Workday Jobs Scraper searches the built-in directory of verified boards.
Do I need a login, cookies or an API key for the job site? No. Only public job postings are read, the same data the company's careers page shows to every visitor.
Can I get only new jobs every day? Yes. Schedule the Actor with "outputMode": "changesOnly". Each run then returns jobs that are new or closed since the previous run.
Can I filter by salary? Yes. minSalary (yearly; hourly and monthly pay is converted, full time), salaryCurrency and onlyWithSalary keep only jobs that publish pay.
How do I use it from code or an AI agent? Call hirewatch/workday-jobs-scraper through the Apify API with the JSON input shown above or the Apify MCP server. See the AI agents section above.
Is there an official Workday jobs API? Workday has no documented public jobs API for job seekers; each career site loads its jobs from its own JSON feed, which needs the exact host, data-centre number and site name. This Actor finds the board from a company name, reads it, and returns one clean schema with salaries, filters and new/closed tracking.
How is this different from LinkedIn or Indeed scrapers? Jobs come straight from the employer's own careers site, so they are complete, up to date and free of reposts and recruiter spam, and closed jobs are flagged closed on the next run.
Can I export to Excel or Google Sheets? Yes. Download CSV or Excel from the dataset, or use the Google Sheets integration to append new jobs automatically.
Is it legal?
It reads only publicly available job postings, which employers publish so they can be found. It does not log in or bypass any access control, and it follows robots.txt. Job postings are not personal data, but you are responsible for how you use the results and for following the laws and site terms that apply to you.
Support
A Workday site that doesn't work? Open an issue on the Issues tab with the URL.