Roberthalf Jobs Scraper
Pricing
Pay per usage
Roberthalf Jobs Scraper
Efficiently extract detailed job listings from Robert Half, a premier professional staffing agency. This lightweight actor is designed for speed and reliability. To ensure seamless access and avoid blocking, using residential proxies is highly recommended.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
7
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Robert Half Jobs Scraper
Extract structured job listings from Robert Half at scale. Collect job titles, locations, pay ranges, descriptions, skills, and useful identifiers in a clean dataset you can export to your favorite tools.
Features
- Keyword & location search — Find roles by title, skill, and region
- Remote filter — Focus on remote-only or on-site roles
- Rich job details — Descriptions, skills, pay info, posting dates, and links
- Pagination controls — Limit results with
results_wantedandmax_pages - Deduplication — Avoid duplicate job listings
Use Cases
Job Aggregation
Build job board feeds or internal dashboards with consistent fields and stable URLs.
Market Intelligence
Track hiring activity over time and compare demand across locations and job types.
Salary Benchmarking
Collect pay ranges and rate information for compensation analysis.
Skills & Role Research
Analyze recurring skill requirements and responsibilities across roles.
Recruiting Workflows
Create targeted shortlists for outreach, sourcing, and pipeline building.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | String | No | "accountant" | Keyword or job title to search for |
location | String | No | "New York" | City, state, or region |
specialization | String | No | "" | Specialization filter (leave empty for all) |
jobType | String | No | "" | Employment type filter (leave empty for all) |
remote | String | No | "Any" | Remote filter: "Any", "yes", "No" |
results_wanted | Integer | No | 100 | Maximum number of jobs to collect |
max_pages | Integer | No | 20 | Maximum pages to process (25 jobs per page) |
collectDetails | Boolean | No | false | Backward compatibility flag (no effect) |
proxyConfiguration | Object | No | — | Proxy settings for more reliable collection |
Output Data
Each item in the dataset contains:
| Field | Type | Description |
|---|---|---|
title | String | Job title |
company | String | Company name (always "Robert Half") |
location | String | Human-readable location |
salary | String | Formatted pay range (when available) |
job_type | String | Employment type |
remote | String | Normalized remote value (e.g., Remote, On-site) |
date_posted | String | Posting date (ISO 8601 when available) |
description | String | Plain-text job description |
description_html | String | Job description with formatting (HTML) |
skills | String | Plain-text skills/requirements |
skills_html | String | Skills/requirements with formatting (HTML) |
boiler_plate_html | String | Standard footer/disclaimer text (HTML) |
url | String | Direct job URL |
job_id | String | Unique job identifier |
city | String | City (when available) |
stateprovince | String | State/region (when available) |
postal_code | String | Postal code (when available) |
country | String | Country code (when available) |
payrate_min | String | Minimum rate (when available) |
payrate_max | String | Maximum rate (when available) |
payrate_period | String | Rate period (e.g., Hourly) |
salary_currency | String | Currency code (e.g., USD) |
source | String | Source domain (roberthalf.com) |
source_system | String | Source system label (when available) |
Usage Examples
Finance Jobs in New York
{"keyword": "Financial Analyst","location": "New York, NY","specialization": "Finance & Accounting","jobType": "Perm","results_wanted": 50}
Remote Technology Positions
{"keyword": "Software Developer","location": "","specialization": "Technology","remote": "yes","results_wanted": 100,"max_pages": 10}
Temporary Administrative Roles
{"keyword": "Administrative Assistant","location": "California","specialization": "Administrative & Customer Support","jobType": "Temp","results_wanted": 75}
Sample Output
{"title": "Sr. Accountant","company": "Robert Half","location": "Purchase, NY","salary": "$40 - $45 / Hourly","job_type": "Temp","remote": "On-site","date_posted": "2026-02-19T15:34:06Z","description": "Our client...","description_html": "(HTML string)","skills": "• At least 7 years...","skills_html": "(HTML string)","url": "https://www.roberthalf.com/us/en/job/...","job_id": "02970-0013387615-usen","city": "Purchase","stateprovince": "NY","postal_code": "10577","country": "US","payrate_min": "40.00","payrate_max": "45.00","payrate_period": "Hourly","salary_currency": "USD","source": "roberthalf.com","source_system": "Salesforce"}
Tips for Best Results
Start Small
- Test with
results_wantedset to25or50 - Increase gradually once your filters are correct
Use Specific Keywords
- Try role titles (e.g.,
"Senior Accountant") or niche skills - Combine with
locationto reduce noise
Control Pagination
- Use
max_pagesas a safety cap - Use
results_wantedto stop as soon as you have enough data
Proxy Configuration
For larger collections, using a proxy can improve reliability:
{"proxyConfiguration": {"useApifyProxy": true}}
Integrations
Export your dataset to:
- Google Sheets — Analyze and share
- Airtable — Build searchable tables
- Webhooks — Send results to your system
- Make / Zapier — Automate workflows
Download formats:
- JSON
- CSV
- Excel
Frequently Asked Questions
Why are there both description and description_html?
Use description for clean plain text. Use description_html when you want to preserve formatting.
Why do some fields not appear on every item?
Only non-empty fields are included in each dataset item.