ADP Jobs Scraper
Pricing
from $0.60 / 1,000 adp job saveds
Pricing
from $0.60 / 1,000 adp job saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Extract public job postings from ADP Workforce Now career centers on workforcenow.adp.com. This jobs and recruiting data scraper turns public ADP career-center URLs into structured job rows for recruiting intelligence, job-board backfills, market research, and hiring monitors.
At a glance
- Primary job: Collect current public ADP Workforce Now job postings without browser automation or credentials.
- Input: Public ADP recruitment page URLs or public ADP job-requisitions API URLs containing
cid. - Output: One dataset row per job with title, requisition IDs, location, dates, job URL, tenant identifiers, and optional raw ADP JSON.
- Best for: Recruiting intelligence, competitor hiring tracking, job-board sourcing, lead generation, and scheduled monitoring.
Common workflows
- Backfill ADP-hosted openings: Export all current jobs from an employer's public ADP career center.
- Monitor hiring changes: Schedule repeat runs for the same ADP tenants and compare dataset exports over time.
- Feed recruiting systems: Send requisition IDs, job URLs, titles, and locations into spreadsheets, CRMs, data warehouses, or automation tools.
- Validate source URLs: Keep
emitErrorItemsenabled to receive stable diagnostic rows for missingcid, unsupported URLs, empty tenants, or unexpected responses.
Input recipes
- Small smoke test: Use the default ADP URL with
maxItems: 20andincludeRaw: true. - Direct API URL: Paste a public ADP
job-requisitionsURL and setincludeRaw: falsefor a compact dataset. - Multi-company monitor: Add several public ADP career-center URLs to
startUrls, keepmaxItemsbounded, and schedule the run.
What data can you extract?
| Field | Description |
|---|---|
itemType | job for job rows or error for diagnostic rows. |
jobId | ADP job item ID. |
clientRequisitionId | Employer/client requisition identifier. |
externalJobId | External job ID when ADP exposes it. |
title | Public job title. |
companyName | Company name when included by ADP. |
careerCenterUrl | Canonical ADP career-center URL for the tenant. |
jobUrl | Canonical public job URL including the ADP job ID. |
sourceUrl | Original input URL. |
cid, ccId, lang | ADP tenant/career-center/language identifiers. |
postDate, currentServerDate | Raw public ADP date values. |
locationText, city, region, postalCode, country | Location text and normalized location parts. |
workLevel, jobClass, department | Common ADP classification fields. |
isInternalPosting | Internal-posting flag when exposed. |
expectedTotal, returnedCount | Count diagnostics from the ADP response. |
rawRequisition | Original ADP requisition object when includeRaw is enabled. |
errorCode, errorMessage | Stable diagnostics for invalid or unsupported inputs. |
Input configuration
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| ADP career center URLs | startUrls | Public ADP Workforce Now recruitment or job-requisitions URLs. | https://workforcenow.adp.com/...recruitment.html?cid=... |
| Maximum jobs | maxItems | Cap saved job rows and control spend. | 20 |
| Include raw ADP requisition | includeRaw | Preserve the original source object for fields not yet normalized. | true |
| Emit error rows | emitErrorItems | Save diagnostic rows for bad inputs, empty tenants, and non-JSON responses. | true |
Example input
{"startUrls": [{"url": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US"}],"maxItems": 20,"includeRaw": true,"emitErrorItems": true}
Example output
{"itemType": "job","jobId": "9201203789874_1","clientRequisitionId": "2833","externalJobId": "595246","title": "Cybersecurity Compliance Engineer","careerCenterUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=070b2b3d-d077-4d73-b340-6055055056a6&ccId=19000101_000001&lang=en_US","jobUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=070b2b3d-d077-4d73-b340-6055055056a6&ccId=19000101_000001&lang=en_US&jobId=9201203789874_1","sourceUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US","cid": "070b2b3d-d077-4d73-b340-6055055056a6","ccId": "19000101_000001","lang": "en_US","postDate": "2026-07-13T09:26:00.000-04:00","locationText": "Philadelphia, Philadelphia, PA, US","city": "Philadelphia","region": "PA","postalCode": "19114","country": "US","workLevel": "Regular Full-Time","jobClass": "Professional","department": "","isInternalPosting": false,"expectedTotal": 23,"returnedCount": 20,"scrapedAt": "2026-07-16T10:00:54.791Z"}
Pricing
| Event | Free | Bronze | Silver | Gold | Platinum | Diamond | Charged when |
|---|---|---|---|---|---|---|---|
| Run start | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | Once when the Actor starts. |
| Job item | $0.00115 | $0.00100 | $0.00078 | $0.00060 | $0.00040 | $0.00028 | Each real job row saved to the dataset. Diagnostic error rows are not charged as jobs. |
Pricing uses Apify Store discount tiers and will be recalculated from final cloud cost measurements before publication if needed.
Tips for best results
- Use public ADP URLs: Open the URL in a private browser window first. If the job list is public, the Actor can usually process it.
- Keep examples small: Start with
maxItems: 20until you confirm the output shape for a tenant. - Keep raw data when exploring: Leave
includeRaw: truefor first runs so you can inspect source fields beyond the normalized columns. - Check diagnostics: If a row has
itemType=error, inspecterrorCodeanderrorMessagebefore retrying.
Limits and responsible use
This Actor collects public job postings only. It does not log in, submit applications, access applicant profiles, retrieve candidate data, or use employer/admin sessions. Make sure your use follows ADP's terms, the target employer's terms, and applicable laws.
API usage
Node.js:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor("fetch_cat/adp-jobs-scraper").call({startUrls: [{ url: "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US" }],maxItems: 20,includeRaw: true,emitErrorItems: true});console.log(run.defaultDatasetId);
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetch_cat/adp-jobs-scraper").call(run_input={"startUrls": [{"url": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US"}],"maxItems": 20,"includeRaw": True,"emitErrorItems": True,})print(run["defaultDatasetId"])
cURL:
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~adp-jobs-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US"}],"maxItems":20,"includeRaw":true,"emitErrorItems":true}'
MCP and AI agents
Use this Actor from MCP-compatible tools through the official Apify MCP Server.
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/adp-jobs-scraper"
MCP JSON configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/adp-jobs-scraper"}}}
Tool input:
{"startUrls": [{ "url": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?ccId=19000101_000001&cid=070b2b3d-d077-4d73-b340-6055055056a6&lang=en_US" }],"maxItems": 20,"includeRaw": true,"emitErrorItems": true}
Example prompts:
- "Run ADP Jobs Scraper for this public ADP career-center URL and summarize the job titles by location."
- "Extract up to 50 public ADP jobs and return a table with title, requisition ID, post date, and job URL."
Related Actors
FAQ
Does this Actor need ADP credentials? No. It is designed for public ADP Workforce Now career-center postings only.
Can it submit applications or collect applicant profiles? No. Application flows, candidate profiles, documents, and employer/admin pages are outside this Actor's scope.
Why did I get an MISSING_CID error?
The input URL does not include ADP's public cid tenant parameter. Copy the full ADP career-center URL from the browser address bar.
Why are there fewer rows than expectedTotal?
ADP may report the tenant total separately from the returned page. The Actor keeps the available public rows and records expectedTotal and returnedCount for diagnostics.
Support
If you need help, open an issue on the Actor page and include:
- the run ID,
- the input JSON you used,
- a reproducible public URL (the full public ADP career-center URL),
- the expected output,
- the actual output,
- any diagnostic
errorCodeorerrorMessagefrom the dataset.