
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape open jobs from ADP-hosted career sites (ADP Workforce Now career centers and ADP MyJobs): title, company, locations, department, job type, posted date, pay range, full description and apply link. Search one site or hundreds of employers.
Pull every open job from ADP-hosted career sites, both ADP Workforce Now career centers and ADP MyJobs sites. You get the title, company, locations, department, job type, posting date, pay range, full description and apply link for each job, read live from ADP's own public career-site data. You don't need a login or an ADP account.
Paste career-site links, job links or company names. Or leave the list empty and search hundreds of US employers in the built-in ADP directory at once.
workforcenow.adp.com ... recruitment.html?cid=...) and MyJobs sites (myjobs.adp.com/<company>/cx/...).| Field | What it does |
|---|---|
startUrls | Workforce Now links or cids, MyJobs links, job links, career pages that link to ADP, or company names. Leave it empty to search the directory. |
maxResults | Total jobs to save (0 = no limit). |
maxResultsPerCompany | Optional cap per career site. |
keywords / excludeKeywords | Title words to keep or drop (engineer* for prefix match). |
locations / excludeLocations | Location text to keep or drop (e.g. TX, Chicago, Remote). |
departments, employmentTypes, postedSince, remoteOnly, hasSalary | More filters. |
descriptionKeywords / excludeDescriptionKeywords | Words that must or must not appear in the description. |
includeDescription | Save the description as text and HTML (on by default). |
{
"startUrls": [
"https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=6c741f13-7aa3-4861-88b6-6fd7cbd45567&ccId=19000101_000001",
"https://myjobs.adp.com/schwans/cx/job-listing",
"Guitar Center"
],
"maxResults": 20,
"keywords": ["manager", "engineer*"],
"postedSince": "14 days"
}
One row per job.
| Field | Description |
|---|---|
title | Job title |
company, companySlug, companyWebsite | Employer name (when the site shows it), Workforce Now cid or MyJobs site name, website |
platform | workforcenow or myjobs |
location, allLocations, city, state, postalCode, country | Where the job is |
isRemote | True when the location or title says remote |
department, jobType, employmentType, jobClass | Department or category, job type as published, normalized type |
postedAt | Posting date |
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryText | Pay range when published |
descriptionText, descriptionHtml | Full description |
jobUrl, applyUrl, careerSiteUrl | Links |
id, requisitionId, source, scrapedAt | Ids and metadata |
{
"id": "9202485924689_55",
"requisitionId": "1292",
"title": "Sr. Project Manager - licensed",
"company": null,
"companySlug": "6c741f13-7aa3-4861-88b6-6fd7cbd45567",
"companyWebsite": "https://www.ssfm.com",
"platform": "workforcenow",
"location": "Honolulu, HI",
"allLocations": ["Honolulu, HI"],
"city": "Honolulu",
"state": "HI",
"postalCode": "96817",
"country": "US",
"countryCode": "US",
"isRemote": false,
"department": "HNPM00",
"jobType": "Full Time",
"employmentType": "FULL_TIME",
"jobClass": "Professional",
"postedAt": "2026-10-16T06:16:00",
"salaryMin": 125000,
"salaryMax": 150000,
"salaryCurrency": "USD",
"salaryPeriod": "YEAR",
"salaryText": "125000.00 to 150000.00 (USD) Annually",
"descriptionText": "Senior Project Manager\n\nWe are seeking a Senior Project Manager to lead complex, high-impact projects ...",
"jobUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=6c741f13-7aa3-4861-88b6-6fd7cbd45567&ccId=19000101_000001&jobId=960189&lang=en_US",
"careerSiteUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=6c741f13-7aa3-4861-88b6-6fd7cbd45567&ccId=19000101_000001&lang=en_US",
"source": "adp",
"scrapedAt": "2026-10-16T05:03:13Z"
}
You pay $1.50 per 1,000 jobs saved ($0.0015 per job), plus a small amount of platform usage (compute and datacenter proxy traffic).
Example: 200 jobs from a directory search cost about $0.30 in job fees plus a few cents of usage. A single career site with 20 jobs costs about $0.03 plus usage. Jobs your filters drop are never charged.
Is it legal? The actor reads only public job postings that employers publish on their ADP career sites, the same data any visitor sees. Check the terms that apply to your use case, and don't use the data for spam.
Do I need a login or a proxy? No login. Datacenter proxies are on by default. They spread requests over several IPs so ADP's rate limits don't slow the run down.
How many results can I get? Every open job on each career site you add. A directory search covers more than 450 ADP career sites (about 60,000 open jobs when the directory was built).
Why is company empty for some jobs? Workforce Now career centers don't publish the employer name in their data, so the actor fills companyWebsite (when the site links it) and companySlug instead. MyJobs sites always include the company name.
Can I find a company that isn't in the directory? Yes. Paste its ADP career-site link, or a career page that links to it. Any Workforce Now or MyJobs site works.
Can I schedule it or use the API? Yes. Schedule runs to watch new postings, and read results over the API or with webhooks.
recruiting.adp.com) and ADP login portals are not supported.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalCareer sites, job links, or company names
One per line. Accepts a Workforce Now career-center link (workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=...), a bare cid, a MyJobs link (myjobs.adp.com//cx/job-listing), a single job link, a company career page that links to an ADP career site, or a company name (Guitar Center). Leave empty to search all career sites in the built-in directory.
maxResultsintegerOptionaldefault 20Maximum jobs
Stop after this many jobs in total. Use 0 for no limit (every matching job).
maxResultsPerCompanyintegerOptionalMaximum jobs per company
Optional cap per career site, useful when searching the whole directory so a few big employers do not fill the run.
keywordsarrayOptionalTitle keywords
Keep jobs whose title contains any of these words or phrases (case-insensitive, whole words). End a word with * for prefix matching, e.g. engineer*.
excludeKeywordsarrayOptionalExclude title keywords
Drop jobs whose title contains any of these words, e.g. senior, intern.
locationsarrayOptionalLocations
Keep jobs whose location contains any of these texts, e.g. Chicago, TX, Remote.
excludeLocationsarrayOptionalExclude locations
Drop jobs whose location contains any of these texts.
departmentsarrayOptionalDepartments
Keep jobs whose department or category contains any of these texts, e.g. Sales, Nursing.
employmentTypesarrayOptionalEmployment type
Keep only these employment types (detected from the job type the employer set, and the title).
postedSincestringOptionalPosted since
Keep jobs posted on or after this date (2026-10-01) or within a period like '7 days' or '24 hours'.
remoteOnlybooleanOptionaldefault falseRemote jobs only
Keep only jobs whose location or title says remote.
hasSalarybooleanOptionaldefault falseOnly jobs with pay
Keep only jobs with a published pay range (from the posting or its description).
descriptionKeywordsarrayOptionalDescription keywords
Keep jobs whose description contains any of these words.
excludeDescriptionKeywordsarrayOptionalExclude description keywords
Drop jobs whose description contains any of these words.
includeDescriptionbooleanOptionaldefault trueInclude description
Save the full job description as text and HTML. Turn off for faster, lighter runs.
includeDetailsbooleanOptionaldefault falseExtra MyJobs details
For MyJobs sites, also load each job's detail record (category, pay grade, regular or temporary). One extra request per job.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies spread requests over several IPs so ADP's rate limits are not hit.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | null | Job id (WorkforceNow item id or MyJobs requisition id) |
| requisitionId | string | null | Employer requisition number |
| title | string | null | Job title |
| company | string | null | Company name (MyJobs sites; Workforce Now when known) |
| companySlug | string | null | Workforce Now cid or MyJobs site name |
| companyWebsite | string | null | Company website from the career site |
| platform | string | null | workforcenow or myjobs |
| location | string | null | Main location |
| allLocations | array | null | All locations |
| city | string | null | City |
| state | string | null | State or region |
| postalCode | string | null | Postal code |
| country | string | null | Country |
| countryCode | string | null | Country code |
| isRemote | boolean | null | True for remote jobs |
| department | string | null | Department or category |
| jobType | string | null | Job type as published |
| employmentType | string | null | FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY or INTERN |
| jobClass | string | null | Job class (Workforce Now) or regular/temporary (MyJobs) |
| postedAt | string | null | Posting date |
| salaryMin | number | null | Minimum pay |
| salaryMax | number | null | Maximum pay |
| salaryCurrency | string | null | Pay currency |
| salaryPeriod | string | null | YEAR, MONTH, WEEK, DAY or HOUR |
| salaryText | string | null | Pay as published |
| salary | object | null | Pay range object |
| descriptionText | string | null | Description as plain text |
| descriptionHtml | string | null | Description as HTML |
| jobUrl | string | null | Job page |
| applyUrl | string | null | Apply link |
| careerSiteUrl | string | null | Career site |
| source | string | null | Always adp |
| scrapedAt | string | null | When the job was scraped |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One job saved to the dataset. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/adp-jobs-scraper').call({
"startUrls": [
"https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=6c741f13-7aa3-4861-88b6-6fd7cbd45567&ccId=19000101_000001",
"https://myjobs.adp.com/schwans/cx/job-listing",
"Guitar Center"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/adp-jobs-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/adp-jobs-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Open positions from a Workforce Now career center link.
Searches hundreds of ADP career sites in pay-transparency states.
Finds the company's ADP career site and lists its jobs.
Each job with its full detail record.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.