# Roberthalf Jobs Scraper - Low-cost💲🔥💼🇺🇸 (`delectable_incubator/roberthalf-jobs-scraper-low-cost`) Actor

💼🇺🇸 Extract Robert Half job listings from search results with ease. Collect job titles, company names, locations, job types, worksite details, posting dates, salaries, job descriptions, and application URLs. Ideal for recruitment intelligence, talent sourcing and U.S. hiring trend analysis. 📊🚀

- **URL**: https://apify.com/delectable\_incubator/roberthalf-jobs-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

<p align="center">
<img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Robert Half Jobs Scraper" width="100%">
</p>

---

## 💼🇺🇸 Robert Half Jobs Scraper | Bulk Job Listings Scraper | Apify Actor

### 🚀 Extract Robert Half Job Listings in Seconds (No Code)

The **Robert Half Jobs Scraper (Apify Actor)** is a powerful, scalable, and SEO-optimized job scraping tool built to extract job listings from **RobertHalf.com** in bulk.

Scrape thousands of job opportunities, including job titles, locations, salaries, workplace types, employment types, posting dates, descriptions, and direct job URLs — all in a structured dataset ready for recruitment intelligence, labor market research, HR analytics, AI training datasets, and business intelligence.

---

## 🔥 Why Choose This Robert Half Jobs Scraper?

✔ Best Robert Half Jobs scraper on Apify

✔ Bulk keyword & location scraping

✔ Supports Remote, Hybrid & On-site jobs

✔ Fast & scalable cloud extraction

✔ Clean structured JSON / CSV / Excel output

✔ Perfect for recruiters, HR teams & researchers

✔ Ideal for labor market intelligence

✔ No coding required

---

## 🎯 What This Scraper Does

This actor automatically searches Robert Half job listings and extracts complete job information across the United States.

#### 📌 Core Features

✅ Scrape Robert Half job listings

✅ Bulk keyword scraping

✅ Location-based search

✅ Workplace type filtering (Remote / Hybrid / On-site)

✅ Automatic pagination handling

✅ Extract salaries (when available)

✅ Extract complete job descriptions

✅ Extract posting dates

✅ Extract direct job URLs

✅ Structured export-ready datasets

✅ High-speed extraction engine

---

## ⚡ Input Configuration (Simple & Powerful)

### 🔥 BULK SEARCH MODE (SEO BOOST 🚀)

````

{
"keyword": "software",
"keywords": \[
"software",
"analyst"
],
"location": "New York, NY",
"max\_items\_per\_keyword": 70,
"workplace": "Any"
}

```

---

## 📊 Extracted Job Data

| Field | Description |
|------|-------------|
| jobId | Unique Robert Half job identifier |
| jobTitle | Job title |
| location | Job location |
| jobType | Employment type |
| worksite | Remote, Hybrid or On-site |
| salary | Salary information (if available) |
| postedDate | Job posting date |
| description | Full job description |
| jobUrl | Direct job listing URL |

---

## 💡 Use Cases

This Robert Half Jobs scraper is ideal for:

💼 Recruitment intelligence

📊 Job market research

🏢 HR & talent analytics

📈 Hiring trend monitoring

🤖 AI & Machine Learning datasets

📍 Regional employment analysis

📋 Salary benchmarking

⚙️ Business intelligence dashboards

---

## 🚀 Key Features

⚡ Bulk keyword & location scraping

🇺🇸 Nationwide US coverage

🏠 Supports Remote, Hybrid & On-site jobs

📌 Smart pagination handling

🧠 Structured clean output

📊 High-speed scraping engine

🔁 Automatic retry system

💾 Export-ready datasets

☁️ Fully scalable cloud execution

---

## 📤 Output Formats Supported

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

---

## 📦 Example Output

```

{
"jobId": "RH-12345",
"jobTitle": "Senior Accountant",
"location": "New York, NY",
"jobType": "Full-time",
"worksite": "Remote",
"salary": "$70,000 - $90,000",
"postedDate": "3 days ago",
"description": "We are seeking a Senior Accountant with 5+ years of experience...",
"jobUrl": "https://www.roberthalf.com/us/en/job/RH-12345"
}

````

---

## 🔥 Why This is the BEST Robert Half Jobs Scraper on Apify?

✔ Optimized for Apify marketplace ranking

✔ Enterprise-grade scraping engine

✔ Bulk keyword & location support

✔ Supports workplace filtering

✔ High-speed extraction

✔ Stable cloud infrastructure

✔ Clean structured datasets

✔ Designed for large-scale job market intelligence

---

## 💸 Pricing

This scraper runs on a pay-per-result pricing model.

You only pay for successfully extracted records.

💳 Price: **$0.98 / 1,000 results**

---

## ❓ FAQ

#### Can I scrape multiple job searches at once?

Yes — simply provide multiple keyword and location combinations inside the **searches** array.

#### Does it support Remote, Hybrid and On-site jobs?

Yes — workplace filtering is fully supported.

#### Does it automatically handle pagination?

Yes — pagination is fully automated.

#### Can I export the results?

Yes — JSON, CSV, Excel, XML and HTML are supported.

#### Is coding required?

No.

Everything runs directly on Apify.

#### Can I scrape thousands of Robert Half jobs?

Absolutely.

The actor is designed for large-scale extraction.

---

## ⚠️ Disclaimer

This project is an independent data extraction tool and is **not affiliated with, endorsed by, or sponsored by Robert Half**.

---

## 🔗 Related Actors (PrimeScrape Ecosystem)

We are continuously building the **PrimeScrape Recruitment Intelligence Suite**.

👉 More premium job scrapers coming soon 🚀

---

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, recruitment intelligence, AI datasets, and business automation.

💼 Job intelligence

📊 Labor market analytics

🏢 Recruitment databases

🤖 AI training datasets

📈 HR analytics

⚙️ Enterprise automation

---

## 📬 Support

⭐⭐⭐⭐⭐ Leave a review if this scraper helps your project.

📩 Need a custom scraper or enterprise solution?

Feel free to contact us through **Apify**.

# Actor input Schema

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

One or more job search keywords to scrape (e.g., software, analyst, developer, accountant). Each keyword is scraped separately.
## `location` (type: `string`):

Job location (e.g., New York, NY | San Francisco, CA | Chicago, IL)
## `workplace` (type: `string`):

Filter by workplace type
## `max_items_per_keyword` (type: `integer`):

Maximum number of jobs to extract PER keyword (e.g., 60 per keyword = 120 total for 2 keywords)

## Actor input object example

```json
{
  "keywords": [
    "software",
    "AI"
  ],
  "location": "New York, NY",
  "workplace": "Any",
  "max_items_per_keyword": 60
}
````

# Actor output Schema

## `overview` (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 = {
    "keywords": [
        "software",
        "AI"
    ],
    "location": "New York, NY",
    "workplace": "Any",
    "max_items_per_keyword": 60
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/roberthalf-jobs-scraper-low-cost").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 = {
    "keywords": [
        "software",
        "AI",
    ],
    "location": "New York, NY",
    "workplace": "Any",
    "max_items_per_keyword": 60,
}

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "software",
    "AI"
  ],
  "location": "New York, NY",
  "workplace": "Any",
  "max_items_per_keyword": 60
}' |
apify call delectable_incubator/roberthalf-jobs-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=delectable_incubator/roberthalf-jobs-scraper-low-cost",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Roberthalf Jobs Scraper - Low-cost💲🔥💼🇺🇸",
        "description": "💼🇺🇸 Extract Robert Half job listings from search results with ease. Collect job titles, company names, locations, job types, worksite details, posting dates, salaries, job descriptions, and application URLs. Ideal for recruitment intelligence, talent sourcing and U.S. hiring trend analysis. 📊🚀",
        "version": "0.0",
        "x-build-id": "bd3XAIRN28VnLxLAa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/delectable_incubator~roberthalf-jobs-scraper-low-cost/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-delectable_incubator-roberthalf-jobs-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/delectable_incubator~roberthalf-jobs-scraper-low-cost/runs": {
            "post": {
                "operationId": "runs-sync-delectable_incubator-roberthalf-jobs-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/delectable_incubator~roberthalf-jobs-scraper-low-cost/run-sync": {
            "post": {
                "operationId": "run-sync-delectable_incubator-roberthalf-jobs-scraper-low-cost",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "One or more job search keywords to scrape (e.g., software, analyst, developer, accountant). Each keyword is scraped separately.",
                        "default": [
                            "software",
                            "AI"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location, write it like exactly in the site Roberthalf.com",
                        "type": "string",
                        "description": "Job location (e.g., New York, NY | San Francisco, CA | Chicago, IL)",
                        "default": "New York, NY"
                    },
                    "workplace": {
                        "title": "Workplace Type",
                        "enum": [
                            "Any",
                            "Remote",
                            "On-site"
                        ],
                        "type": "string",
                        "description": "Filter by workplace type",
                        "default": "Any"
                    },
                    "max_items_per_keyword": {
                        "title": "Maximum Jobs per Keyword",
                        "type": "integer",
                        "description": "Maximum number of jobs to extract PER keyword (e.g., 60 per keyword = 120 total for 2 keywords)",
                        "default": 60
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
