Workday Jobs API — Search 3,000+ Workday Career Sites
Pricing
from $2.00 / 1,000 job listings
Workday Jobs API — Search 3,000+ Workday Career Sites
Search open jobs on 3,000+ companies' Workday career sites (myworkdayjobs.com) by title, location and remote, or get every job from companies by name or careers URL. Only-new-jobs monitoring. $2 per 1,000 jobs, no login, no proxy.
Pricing
from $2.00 / 1,000 job listings
Rating
0.0
(0)
Developer
Dmitry Melikhov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Every open job on 3,000+ companies' Workday career sites (*.myworkdayjobs.com), searchable by title, location and remote. No company list required, no login, no browser, no proxy.
- Search mode —
{"keywords": ["data analyst"], "locations": ["Texas", "remote"]}searches a daily index of every live Workday career site we know, newest jobs first. - Company mode — give company names (
NVIDIA,Salesforce) or careers URLs (https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite) and get their live jobs with full descriptions. - Only-new monitoring — schedule it and receive only postings that appeared since the last run.
- $2 per 1,000 jobs. Jobs removed by your filters are free.
Quick start
{ "keywords": ["software engineer"], "excludeKeywords": ["intern"], "locations": ["United States"], "postedWithinDays": 3, "maxItems": 200 }
{ "companies": ["NVIDIA", "Salesforce", "https://adobe.wd5.myworkdayjobs.com/external_experienced"], "keywords": ["product"] }
Output
One row per job: vendor (always workday), company, title, url (direct apply link), location, postedAt, jobId, remote, employmentType, department, description (company mode), plus sourceUrl and fetchedAt.
Why Workday is hard and how this Actor handles it
A Workday careers address has three parts — numbered host (wd1…wd105), tenant and site id — none derivable from the company name. This Actor ships a directory of 3,000+ verified tenants and sites, so a name is enough. Each site is read through Workday's own public job-search API (the one the careers page calls), paginated 20 jobs at a time.
Found it useful? Leave a review — it helps other people find this Actor → https://apify.com/suitable_sunspot/workday-jobs-api/reviews
Who uses it
| You are | You give it | You get |
|---|---|---|
| Job seeker / job board | Title keywords + locations | Fresh postings from employers' own career sites, often before aggregators list them |
| Sales / SDR team | Target-account list + a daily schedule | "Acme opened 3 Data Engineer roles" — a buying signal every morning |
| Recruiting agency | Client and prospect companies | Every new opening with a direct apply link |
| Analyst / investor | Watch-list companies | Hiring velocity by company, department and location |
| AI agent (API / MCP) | keywords or companies | Structured jobs in one call |
Daily job alerts → Google Sheets or Slack
Schedule the Actor (Apify Schedules, n8n, Make or Zapier) with onlyNewJobs: true and a fixed stateKey. The first run is your baseline; every later run returns only postings that appeared since — and you are not billed again for jobs you already received. No new jobs means zero rows and zero cost.
n8n: Schedule Trigger → HTTP Request → Google Sheets (Append rows) → Slack, with
- POST
https://api.apify.com/v2/acts/suitable_sunspot~workday-jobs-api/run-sync-get-dataset-items?timeout=180&maxTotalChargeUsd=0.1 - Header
Authorization: Bearer <your Apify token> - Body:
{"keywords": ["data analyst"], "locations": ["United States"], "onlyNewJobs": true, "stateKey": "workday-alert", "maxItems": 200}
maxTotalChargeUsd caps the cost of each run.
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<your Apify token>")run = client.actor("suitable_sunspot~workday-jobs-api").call(run_input={"keywords": ["data analyst"], "locations": ["United States"], "onlyNewJobs": True, "stateKey": "workday-alert", "maxItems": 200},max_total_charge_usd=0.10,)for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["company"], "|", job["title"], "|", job["url"])
What it costs
$2.00 per 1,000 jobs, nothing else. A daily alert that finds 300 new postings a week costs $0.60 a week; a one-off search for 100 jobs costs $0.20. Jobs removed by your filters, errors, companies not found and jobs you already received in monitoring mode are never charged. Apify's free plan includes monthly credit, enough to try it at no cost.
Limits
- Search mode reads an index rebuilt daily and returns jobs without descriptions; use company mode for full text.
- Workday shows at most 2,000 jobs per career site in its public search.
- Companies missing from the directory can still be read by passing their careers URL.
Need Greenhouse, Lever, Ashby and 6 more ATS too? See ATS Jobs API.