Workday Jobs API - Title, Location, Department Data avatar

Workday Jobs API - Title, Location, Department Data

Pricing

from $0.90 / 1,000 job listings

Go to Apify Store
Workday Jobs API - Title, Location, Department Data

Workday Jobs API - Title, Location, Department Data

Every open job from any Workday careers site (myworkdayjobs.com) as clean data: title, location, department, posting date and apply link, plus function, seniority and remote flags. Pass the careers URL. Keyword and location filters before billing. 3 jobs free per run.

Pricing

from $0.90 / 1,000 job listings

Rating

0.0

(0)

Developer

omar khandji

omar khandji

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

13 minutes ago

Last modified

Share

Workday Jobs API — Every Open Job From Any Workday Board

Pass up to 100 Workday careers URLs in one run, get every open role as clean rows. First 3 jobs free on every run, then $1.50 per 1,000.

Why this one

Most job scrapers ask you to buy a token, run a proxy, or fight an anti-bot wall. This Actor reads the Workday board endpoint directly — the same one the careers page itself calls. Three consequences:

  1. Nothing to buy. No token, no cookie, no API key, nothing that expires.
  2. It does not break. No HTML parsing, so a Workday redesign changes nothing.
  3. It stays cheap. There is no upstream scraper to pay for, which is why the first 3 jobs of every run are free.

What a run costs

$1.50 per 1,000 job listings — $0.0015 each, and only for listings actually delivered to you. There is no per-run fee: a run that finds nothing costs $0.

Ask for many companies at once

Measured on this Actor at ~35 open roles per company:

Companies in one runJobs returnedYou payPer job
135$0.05$0.0014
10350$0.52$0.0015
501,750$2.62$0.0015

Batching does not change the price per job — it changes your wall clock. Fifty companies asked together take one run instead of fifty, and the free allowance below is the only thing that makes a small run cheaper per row.

Up to 100 companies per run; 15 per HTTP request, so a Standby/MCP call answers inside Apify's five-minute ceiling. Split a larger list across requests.

Free tier — 3 job listings on every run

The first 3 job listings of every run are free. Not a trial, not a first-run coupon: it applies to every run you ever make, so you can wire this Actor into a pipeline and evaluate it on your own target boards before a cent is billed.

Beyond the free 3 you pay $0.0015 per job listing — $1.50 per 1,000 — and only for listings actually delivered to you.

What you pass

FieldWhat it does
workdayBoardsFull careers URLs, e.g. https://<tenant>.wd1.myworkdayjobs.com/<site>
keywordsKeep only roles whose title matches, whole words only
excludeKeywordsDrop roles whose title matches
locationsKeep only roles in these locations
remoteOnlyKeep only remote roles
postedAfterKeep only roles posted on or after this date
maxTotalChargeUsdHard ceiling on what one run can cost you

Filters run before billing, so you are never charged for a row you filtered out.

What you get per job

title, location, department, posted_at, source_url (a canonical apply link), handle, ats, plus the normalised function, seniority and is_remote fields the whole Vigia jobs family shares.

Duplicate roles are removed by apply link before billing: two handles belonging to the same group cannot make you pay twice for one role.

A note on department: Workday's public job-search endpoint (the one this Actor calls) never returns a department/team field for a posting — verified live against a real tenant. It is left null rather than guessed. posted_at is derived from Workday's own relative text ("Posted Today", "Posted 3 Days Ago", "Posted 30+ Days Ago"), so posted_within_days/is_recent are accurate except for postings older than 30 days, where Workday itself stops being precise and posted_within_days is a floor of 30 rather than an exact count.

Call it as a live API

This Actor runs in Standby: the container is already up, so an HTTP request answers in seconds — no cold start.

GET https://<standby-url>/?workdayBoards=https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite

Or POST the same JSON you would use as run input.

For AI agents (MCP)

The same endpoint speaks the Model Context Protocol at /mcp. Agents get one tool, workday_jobs, that returns a company's open roles in a single call — usable from Claude, Cursor and any MCP client.

Honest failure modes

A board that is missing, private or renamed is reported, never raised: one bad handle in a list of twenty does not cost you the other nineteen. Each entry in boards tells you what that handle returned, and you are billed only for jobs actually delivered.

The rest of the family

Frequently asked questions

Do I need a Workday account or API key? No. The board endpoint this Actor reads is the public one your own careers page uses.

What does it cost to try? Nothing. Every run gives you the first 3 jobs free, and a run that returns fewer than that costs $0.

How do I get jobs from a company website instead of a board handle? Use the Careers Page Scraper — it detects the ATS for you.

How to use it in 3 steps

  1. Click Try for free and add company handles in workdayBoards — the full careers URL, e.g. https://<tenant>.wd5.myworkdayjobs.com/<site>.
  2. Optional: narrow the list with keywords, locations, remote only or posted after. Filters run before billing, so you only pay for jobs you keep.
  3. Click Start and download the jobs as JSON, CSV or Excel, or read them from the API.

Use cases

  • Job boards and aggregators — pull every open role from Workday companies, with a direct apply link.
  • Recruiting and sourcing — watch target companies and react the day a role opens.
  • Sales intelligence — a company hiring 10 engineers is a buying signal; use it as a lead trigger.
  • Market and salary research — who is hiring for which function, where, and how fast.
  • Job alerts — schedule daily and send new roles to Slack, email or a sheet.

Use it from code (API)

Every Apify Actor is an API. Start a run and read the results with one call.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("om_kh/workday-jobs-api").call(run_input={"workdayBoards": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"], "keywords": ["engineer"], "remoteOnly": false})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('om_kh/workday-jobs-api').call({
"workdayBoards": [
"https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"
],
"keywords": [
"engineer"
],
"remoteOnly": false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:

curl -X POST "https://api.apify.com/v2/acts/om_kh~workday-jobs-api/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"workdayBoards": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"], "keywords": ["engineer"], "remoteOnly": false}'

Integrations: n8n, Make, Zapier, Google Sheets

  • n8n — the official Apify node, operation Run Actor and get dataset, Actor om_kh/workday-jobs-api.
  • Make — Apify › Run an Actor, then Apify › Get Dataset Items.
  • Zapier — Apify › Run Actor; map the dataset items into your next step.
  • Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
  • Schedules — run it every hour or day from Schedules in Apify Console.

More Actors from the same author