Workday Career Sites API

Find the companies using Workday and every career site each one runs, as structured JSON — tenant, datacenter, site slug, public careers URL, direct jobs API URL and a live count of open roles. Resolve a named list of companies in seconds, or enumerate Workday career sites in bulk to build a customer list.

RECORDS1
MEDIAN LAGon demand
PARAMETERS6
TOTAL USERS2
MONTHLY ACTIVE1
TOTAL RUNS21
SUCCESS (30D)100.0%
RATINGno ratings yet
LAST MODIFIED2026-07-31
PUBLISHED2026-07

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
companies string[] no Company names or website domains to resolve, e.g. 'nvidia', 'kla' or 'cadence.com'. Each is looked up independently and every career site it runs is returned, so one company can produce several rows.
discoverAll boolean no false Enumerate Workday career sites in bulk from a public web index instead of resolving a named list. This is the mode that builds a customer list.
maxResults integer no 100 Upper bound on companies processed in Discover All mode. One company can host several sites, so rows returned is usually higher. Ignored with a company list. — drives your bill
verifyLive boolean no true Checks each career site against its jobs endpoint and records the current open-job count. Off is faster, but the open-job count comes back empty and dead sites are not filtered out.
includeInactive boolean no false Also return sites that failed verification, marked dead or no_slug. Useful for auditing coverage; off by default so you are billed only for confirmed live sites.
crawlDepth integer no 2 How many historical snapshots of the public web index to combine in Discover All mode. Higher finds more companies, including ones since gone quiet, at the cost of a longer run. Most runs need 1 or 2.

Worked examples

Basic — two companies, every site each one runs
{
  "companies": ["nvidia", "kla"],
  "verifyLive": true
}
By domain — a website resolves as well as a name
{
  "companies": ["cadence.com"]
}
Build a customer list — bulk enumeration rather than a named list
{
  "discoverAll": true,
  "maxResults": 500,
  "crawlDepth": 2
}
Coverage audit — includes sites that failed verification
{
  "companies": ["intel"],
  "includeInactive": true
}
POWER-USER TIP
One company is usually several career sites — Large employers run separate boards for regions, subsidiaries and university hiring — one semiconductor company returned 7 in testing, a design-software company 8. Rows come back per site, not per company, so key your joins on tenant plus siteSlug and size a Discover All run expecting more rows than maxResults.

Coverage

12
fields per career site — tenant datacenter siteSlug careersUrl apiUrl totalJobs status +
2
resolution modes — named lookup · discover all
2
host families — myworkdayjobs · myworkdaysite

Tasks

Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.

Request a task →

Code

curl

curl -X POST "https://api.apify.com/v2/acts/johnvc~workday-career-sites-api/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companies":["nvidia","kla"],"verifyLive":true}'

Python

from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/workday-career-sites-api").call(
    run_input={"companies": ["nvidia", "kla"], "verifyLive": True}
)
for site in client.dataset(run.default_dataset_id).iterate_items():
    print(site.get("tenant"), site.get("siteSlug"), site.get("totalJobs"), site.get("apiUrl"))

What people use it for

Alternatives