# Workday Jobs Scraper & API (`scrapesignal_labs/workday-jobs-scraper`) Actor

Extract current jobs from any public Workday career site. Export titles, locations, posting dates, descriptions, requisition IDs, and direct application URLs.

- **URL**: https://apify.com/scrapesignal\_labs/workday-jobs-scraper.md
- **Developed by:** [ScrapeSignal Labs](https://apify.com/scrapesignal_labs) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 workday jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Workday Jobs Scraper & API

Extract current job postings from one or many public Workday employer career sites. The Actor calls the same public JSON endpoints used by each `myworkdayjobs.com` board, so it is faster and cheaper than browser automation and needs no login or customer API key.

Use it to export Workday jobs, build a job board, monitor hiring, research company growth, collect recruiting data, or give an AI agent structured access to live employer vacancies.

### Common use cases

- Export every current job from a company's Workday career site
- Search Workday boards for engineering, sales, security, or data roles
- Monitor new openings across selected employers
- Build a recruiting, workforce-intelligence, or job-board dataset
- Collect job titles, locations, descriptions, and application links by API
- Feed live vacancies into an AI recruiting or research agent

### What the Actor returns

Each job row can include:

- company and Workday career-board URL
- job title, location, job type, and remote-work signal
- posting label or date and requisition ID
- full public job description when enabled
- direct public job page and application URL
- stable record ID for deduplication
- collection timestamp

### Quick start

```json
{
  "boards": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],
  "searchText": "software",
  "keywords": [],
  "locations": [],
  "includeDescriptions": true,
  "maxJobsPerBoard": 100,
  "timeoutSeconds": 20
}
```

### Finding the correct Workday board URL

Open an employer's public Workday careers page and copy the board root through its first path segment. For example:

```text
https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite
```

Do not paste an individual job URL. The hostname usually ends in `myworkdayjobs.com`, and the first path segment identifies the public career site.

### AI agent and API usage

This Actor is designed for tool-calling agents and automated pipelines:

- `boards` is the only required input
- the search query is passed to Workday's own search endpoint
- hard per-board limits provide a predictable result and price ceiling
- output is normalized across Workday employers
- stable record IDs support repeat monitoring and deduplication
- the Actor uses limited permissions and needs no customer API key

Use the API, OpenAPI, MCP, Python, JavaScript, CLI, or integration examples in the Actor's **API** tab. An agent can start safely with one board and `maxJobsPerBoard` set to 10, inspect the structured rows, and then increase the limit.

### Example workflows

#### Export software and engineering jobs

```json
{
  "boards": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],
  "searchText": "software",
  "keywords": ["engineer"],
  "includeDescriptions": true,
  "maxJobsPerBoard": 100
}
```

#### Collect a lightweight vacancy feed

```json
{
  "boards": ["https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"],
  "searchText": "data",
  "includeDescriptions": false,
  "maxJobsPerBoard": 250
}
```

### Pricing

The launch price is **$0.0005 per delivered job ($0.50 per 1,000)** plus a **$0.00005 Actor-start event** and any platform usage shown by Apify before the run. Empty boards produce no dataset-item charges.

### Limits and responsible use

This Actor reads public employer career boards. Job descriptions remain the property of their publishers. Follow the employer's terms, use reasonable limits, and do not republish copyrighted descriptions beyond what your use permits.

Workday tenants can customize, move, or retire their public endpoints. Per-board failures are reported in the run's `SUMMARY`, and a run fails when every requested board fails.

# Actor input Schema

## `boards` (type: `array`):

Add employer career-board roots such as https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Do not use an individual job URL. Every board is queried through its public Workday JSON endpoint.

## `searchText` (type: `string`):

Optional phrase passed to each employer's Workday search, such as software, engineer, sales, security, or data. Leave blank to collect current jobs without a search query.

## `keywords` (type: `array`):

Optional case-insensitive filters applied after collection. A job must match at least one term in its title or location. Leave empty to keep all results returned by Workday.

## `locations` (type: `array`):

Optional case-insensitive location terms such as Remote, California, United States, London, or Singapore. Leave empty to include every location.

## `includeDescriptions` (type: `boolean`):

Open each Workday job detail endpoint to add description and requisition fields.

## `maxJobsPerBoard` (type: `integer`):

Hard result and price ceiling for each Workday board.

## `timeoutSeconds` (type: `integer`):

Stop waiting for an individual Workday request after this many seconds.

## Actor input object example

```json
{
  "boards": [
    "https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite"
  ],
  "searchText": "",
  "keywords": [],
  "locations": [],
  "includeDescriptions": true,
  "maxJobsPerBoard": 250,
  "timeoutSeconds": 20
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesignal_labs/workday-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("scrapesignal_labs/workday-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call scrapesignal_labs/workday-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesignal_labs/workday-jobs-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/AI4lUcIgqkpGgpBMO/builds/5rrsT0sengCmVXZoP/openapi.json
