Workday API: how to pull job postings from any Workday tenant in 2026
The official Workday API is enterprise-only and SOAP-based. Here's how to get the same data — public job postings from every Workday tenant — through one REST endpoint.
Eng team
Engineering
Search for “Workday API” and most of the results are about Workday’s official integration platform — SOAP endpoints, OAuth2 grants, and tenant-side access that you can’t get unless your company is already a Workday customer. If you’re a developer trying to pull job postings from Workday tenants (Stripe, Salesforce, Adobe, every Fortune 500), that’s the wrong API to be looking at.
This post explains what the official Workday API actually offers, why it doesn’t solve the job-data problem, and the two practical ways to access public Workday job postings at scale in 2026.
The official Workday API: what it is, and isn’t
Workday exposes a REST + SOAP API to tenant customers — the companies who pay for Workday HCM. If you work at Stripe and you want to integrate Stripe’s Workday with Slack, you can get OAuth2 credentials and call /ccx/api/v1/workers all day. If you do not work at Stripe and you want Stripe’s public job postings, that API isn’t available to you at any price.
Most of the 1,000+ monthly searches for “Workday API” fall into the second bucket: external developers building sourcing tools, compensation benchmarks, AI recruiters, or job-search products who need public Workday data.
Option 1: hit the tenant JSON feeds directly
Every public Workday tenant exposes a JSON feed at a predictable URL like https://{company}.wd1.myworkdayjobs.com/wday/cxs/{tenant}/External/jobs. You can POST a search filter and get back a paginated list of jobs in structured JSON — no HTML scraping, no browser rendering.
The catch is operational:
- Workday uses Akamai bot management. Naive scraping from a single IP gets blocked within minutes.
- Each tenant has its own URL shape (different region prefixes, different tenant slugs, different field IDs).
- Workday’s job search has a 10,000-result hard cap per query — you have to slice by location/category to enumerate everything.
- Maintaining the tenant list (~500 public tenants today, growing weekly) is its own background job.
If you only need 1–2 specific companies, the direct route is fine. If you need every Workday tenant, it’s a 3-engineer ongoing project.
Option 2: use a normalized Workday Jobs API
JobsPipe ships a single REST endpoint that returns Workday job postings from any indexed tenant — same JSON schema as Indeed, Greenhouse, Lever, and every other source. You don’t need to know the tenant URL; you query by company name or browse all 500+ indexed tenants:
curl https://api.jobspipe.dev/v1/jobs \
-H "Authorization: Bearer $JOBSPIPE_KEY" \
-G \
-d "source=workday" \
-d "company=Stripe"Response is normalized: title, company, location, parsed compensation, the original apply_url pointing back at the tenant, and a stable id that doesn’t change between crawls.
Pricing reality check
We charge a free tier of 5,000 requests/month, then $49/mo for 100,000. Building the equivalent in-house costs roughly $4,200/mo in compute alone (we wrote about that here), plus an engineer’s time on the regular Workday UI changes. Most teams break even on JobsPipe inside the first month.
Start pulling Workday jobs in 30 seconds — free tier, no credit card.
Get a free API key