# Workday Job Scraper (`orgupdate/workday-job-scraper`) Actor

The latest and most advanced Workday Job Scraper. Our new Workday Job Scraper extracts real-time job postings at scale from all over the world. A new research tool built for recruitment, insights and HR.

- **URL**: https://apify.com/orgupdate/workday-job-scraper.md
- **Developed by:** [Orgupdate](https://apify.com/orgupdate) (community)
- **Categories:** Jobs, Lead generation, News
- **Features:** Limited permissions
- **Stats:** 18 total users, 0 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

from $150.00 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🚀 Workday Jobs Scraper

The most efficient way to extract job listings directly from Workday Jobs search results.

[View on Apify Store](#)

### 📖 Overview

The **Workday Jobs Scraper** is a powerful data extraction tool designed to aggregate job listings from the Workday Jobs search engine.

Whether you're building a job board, analyzing labor market trends, or automating lead generation for recruitment, this actor delivers structured, clean data in real-time.

### ✨ Key Features

- **🌍 Multi-Source Aggregation** – Access listings from thousands of job boards via a single Dice search query.
- **🎯 Laser-Focused Filtering** – Filter by specific companies, exact locations, job types (Remote/Contract), and posting dates.
- **⚡ High Performance** – Optimized for speed and low-compute usage to save costs.
- **📅 Fresh Data** – Scrape "Posted 3 days ago" or "Today" to get the newest opportunities first.
- **🔌 API Ready** – Seamlessly integrates with Python, Node.js, Zapier, and Make.com.

### 🛠 Input Parameters

The actor accepts the following input parameters in JSON format.

| Parameter | Type | Required | Description | Default | Valid Values |
|-----------|------|----------|-------------|---------|--------------|
| `countryName` | String | No | The country context for the Dice Search domain | "all" | "usa", "uk", "india", etc. |
| `includeKeyword` | String | **Yes** | The main search terms or specific skills | - | Any search string (e.g., "React", "Remote", "Marketing Manager") |
| `locationName` | String | No | Specific city, state, or region | - | Any location string (e.g., "San Francisco, CA") |
| `companyName` | String | No | Filter listings to a specific employer | - | Any company name (e.g., "Dice", "Microsoft") |
| `jobType` | String | No | Filters by employment type | - | `FULLTIME`, `PARTTIME`, `CONTRACTOR`, `INTERN` |
| `datePosted` | String | No | How recent the jobs should be | "month" | `today`, `3days`, `week`, `month` |
| `pagesToFetch` | Integer | No | Number of pagination pages to scrape | 1 | Positive integers |

#### 💻 Example Input Configuration

```
{
  "countryName": "usa",
  "locationName": "new york",
  "includeKeyword": "software engineer, python",
  "companyName": "dice",
  "jobType": "FULLTIME",
  "datePosted": "week",
  "pagesToFetch": 3
}
```

### 📊 Output Data

The results are stored in the default Apify dataset. You can download them in JSON, CSV, Excel, or XML formats.

#### Sample JSON Output

```
[
  {
    "job_title": "Senior Frontend Developer",
    "company_name": "Tech Corp Inc.",
    "location": "New York, NY (Remote)",
    "posted_via": "LinkedIn",
    "salary": "$120,000 - $150,000 a year",
    "date": "2025-03-25",
    "job_type": "Full-time",
    "URL": "https://www.dice.com/search?..."
  }
]
```

#### Field Dictionary

- **job_title:** The official designation of the role.
- **company_name:** The organization hiring.
- **location:** Geographical location or "Remote" status.
- **posted_via:** The original platform where Dice found the job (e.g., Monster, Greenhouse, LinkedIn).
- **salary:** Pay range (if provided by the employer).
- **URL:** Direct link to the job application or listing.

### How to Use

1. **Deploy on Apify** – Run the actor directly from the Apify platform.
2. **Schedule & Automate** – Set up periodic runs to keep your job database updated.
3. **Export Data** – Integrate with your CRM, website, or analytics platform.

### Why Use This Actor?

- **No Coding Required** – Easy-to-use with minimal setup.
- **Saves Time** – Automates job data collection.
- **Customizable** – Supports tailored scraping configurations.

### 👨‍💻 Programmatic Usage

You can run this actor via the Apify API using the official client libraries.

#### Python

```
from apify_client import ApifyClient

# Initialize the client with your API token
client = ApifyClient("YOUR_APIFY_TOKEN")

# Prepare the Actor input
run_input = {
    "countryName": "usa",
    "includeKeyword": "Data Scientist",
    "datePosted": "3days",
    "pagesToFetch": 1,
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

#### Node.js

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

const client = new ApifyClient({
    token: 'YOUR_APIFY_TOKEN',
});

const input = {
    countryName: 'uk',
    includeKeyword: 'DevOps',
    jobType: 'CONTRACTOR',
};

(async () => {
    // Run the Actor and wait for it to finish
    const run = await client.actor('orgupdate/dice-jobs-scraper').call(input);

    // Fetch and print Actor results from the run's dataset (if there are any)
    const { items } = await client.dataset(run.defaultDatasetId).listItems();
    items.forEach((item) => {
        console.dir(item);
    });
})();
```

### 🔗 Integrations

Don't just scrape data—act on it. You can integrate this actor with:

- **Zapier / Make.com:** Trigger an email or Slack notification whenever a new job matching your criteria is posted.
- **Dice Sheets:** Automatically save new job listings into a spreadsheet for analysis.
- **Slack/Discord:** Create a bot that alerts your community about new job openings.

### 💡 Use Cases

- **Job Aggregators & Boards:** Populate your niche job board with fresh content daily without manual entry.
- **HR & Recruitment:** Analyze competitor hiring strategies by tracking their open positions.
- **Lead Generation:** Find companies currently hiring for specific roles to pitch your B2B services.
- **Salary Research:** Aggregate salary data across different regions and titles to create market reports.

### 📞 Support & Feedback

If you encounter any issues or have feature requests, please contact us through the Apify Console or check the actor page.

Happy Scraping! 🚀

# Actor input Schema

## `countryName` (type: `string`):

Select the country for job search.

## `targetLocations` (type: `array`):

Enter specific cities for job search (e.g., New York, Austin).

## `companyName` (type: `string`):

Enter the company name to filter job listings.

## `locationName` (type: `string`):

Enter the city or region.

## `includeKeyword` (type: `string`):

Comma-separated keywords (e.g., React, Next.js).

## `pagesToFetch` (type: `integer`):

Number of pages to scrape.

## `jobType` (type: `string`):

Select job type.

## `datePosted` (type: `string`):

Choose time range.

## Actor input object example

```json
{
  "countryName": "",
  "targetLocations": [],
  "companyName": "",
  "locationName": "",
  "includeKeyword": "",
  "pagesToFetch": 1,
  "datePosted": "all"
}
```

# Actor output Schema

## `jobTitle` (type: `string`):

The title of the job posting.

## `companyName` (type: `string`):

The name of the company.

## `location` (type: `string`):

The location of the job posting.

## `postedDate` (type: `string`):

Date when the job was posted.

## `jobUrl` (type: `string`):

Direct link to the job listing.

## `description` (type: `string`):

The full job 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 = {
    "targetLocations": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("orgupdate/workday-job-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 = { "targetLocations": [] }

# Run the Actor and wait for it to finish
run = client.actor("orgupdate/workday-job-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 '{
  "targetLocations": []
}' |
apify call orgupdate/workday-job-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,orgupdate/workday-job-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/H5CDbTt87NhhnS1fs/builds/v5IudJnvIAfhmDd1Q/openapi.json
