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

Scrape public tech job listings from Dice.com by keyword, location, or search URL. Get title, company, salary, location, workplace type, skills, and the full job description. No login needed.
Pull public tech job listings from Dice.com: title, company, salary, location, workplace type, skills, and the full job description, ready as JSON, CSV, or Excel. Search by keyword and location or paste any Dice search link. No Dice account, no cookies, and it costs $0.70 per 1,000 jobs.
python developer) and, optionally, a Location such as New York, NY. Or paste Dice links into Dice search or job URLs.| Field | What it does |
|---|---|
keyword | Job title, skill, or company to search for. |
location | City, state, or ZIP. Empty searches everywhere. |
startUrls | Dice search links (https://www.dice.com/jobs?q=...) or job links (https://www.dice.com/job-detail/...). |
results_wanted | Maximum jobs to save across all searches (default 20). |
posted_date | all, 24h, 3d, 7d, or 30d. |
workplaceTypes | Any of On-Site, Remote, Hybrid. |
employmentTypes | Any of FULLTIME, PARTTIME, CONTRACTS, THIRD_PARTY. |
employerTypes | Any of Direct Hire, Recruiter, Other. |
easyApplyOnly, willingToSponsorOnly | Keep only Easy Apply jobs, or only jobs with visa sponsorship. |
includeRemote | Turn off to drop jobs Dice marks as remote. |
radius | Miles around the location. |
fetchDetails | Open each job page for the full description and skills (default on). |
maxPages | Optional cap on search pages (30 jobs each). |
{
"keyword": "data engineer",
"location": "New York, NY",
"results_wanted": 50,
"posted_date": "7d",
"workplaceTypes": ["Hybrid", "On-Site"],
"includeRemote": false
}
One row per job. The main fields:
| Field | Description |
|---|---|
title, companyName | Job title and hiring company |
location, jobLocation | Display location and city / state / country |
salary | Salary text as posted |
employmentType, employerType | Full-time, contract... and Direct Hire / Recruiter |
workplaceTypes, workSetting, isRemote | On-Site, Remote, Hybrid |
postedDate, modifiedDate, validThrough | Posted, updated, and expiry dates |
easyApply, willingToSponsor | Apply and sponsorship flags |
summary, description_html, description_text | Short summary and full description |
skills | Skills listed on the job page |
url, companyPageUrl, companyLogoUrl | Links |
guid, id, searchId, searchPage | Dice identifiers and where the job was found |
Example from a test run (long text trimmed):
{
"id": "a52ee70a05566a669cfcfd43af9c56f9",
"title": "Python Fullstack Developer",
"jobLocation": {"city": "Cupertino", "state": "California", "country": "USA", "region": "CA", "displayName": "Cupertino, California, USA"},
"postedDate": "2026-10-13T20:23:10Z",
"companyPageUrl": "https://www.dice.com/company/10432120",
"salary": "Depends on Experience",
"companyName": "HCL America Inc.",
"employmentType": "Full-time",
"easyApply": true,
"willingToSponsor": false,
"employerType": "Direct Hire",
"isRemote": false,
"workplaceTypes": ["On-Site"],
"location": "Cupertino, California, USA",
"workSetting": "On-Site",
"url": "https://www.dice.com/job-detail/b044b210-a512-41c5-8b40-e38502e7c436",
"source": "dice.com",
"searchPage": 1,
"description_text": "We are looking for a highly talented and self- motivated Fullstack Python Developer at Cupertino, CA] to join us on our journey...",
"skills": ["Python", "DJango", "Flask", "TypeScript", "React", "SQL"],
"validThrough": "2026-11-13T21:23:10Z"
}
You pay $0.70 per 1,000 jobs ($0.0007 per saved job), plus a small amount of platform usage (compute at the 256 MB default memory and datacenter proxy traffic).
You are never charged for jobs that are not saved, and the run stops cleanly at your maximum charge.
Is it legal to scrape Dice? This actor reads only public job listings that anyone can see without logging in. Check that your use of the data follows the site's terms and the laws that apply to you, especially for personal data.
Do I need a Dice account or a proxy? No account is needed. Datacenter proxies are on by default and work well for Dice.
How many jobs can I get? Dice shows up to 750 jobs (25 pages) per search. For more, split the search by location, date, or workplace type, or add several search links.
Why is a field empty?
Fields such as salary or jobLocation are only filled when the employer provides them. Empty fields are left out of the row.
Can I make it faster? Turn off Fetch full job descriptions to save the search cards only. You keep everything except the full description, skills, and expiry date.
Can I schedule it or use the API?
Yes. Schedule runs in the console, or start runs and read the dataset through the API. Moving from another Dice scraper? The input field names (keyword, location, posted_date, includeRemote, results_wanted, maxPages) and output fields are kept compatible.
30d is applied to the results after each page is read, so a broad search can return fewer jobs than asked within the page cap.score, searchId, easyApply, employerType).description_html keeps the employer's own formatting, so its markup can vary from job to job.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.
keywordstringOptionalKeyword
Job title, skill, or company to search for, for example "python developer" or "data engineer".
locationstringOptionalLocation
City, state, or ZIP code, for example "New York, NY". Leave empty to search everywhere.
startUrlsarrayOptionalDice search or job URLs
Optional. Paste Dice search result links (https://www.dice.com/jobs?q=...) to reuse their filters, or job links (https://www.dice.com/job-detail/...) to scrape single jobs.
results_wantedintegerOptionaldefault 20Max jobs
Maximum number of jobs to save across all searches. Dice shows up to 750 jobs per search.
posted_dateenumOptionaldefault "all"Date posted
Only keep jobs posted within this time range.
workplaceTypesarrayOptionalWorkplace type
Only keep jobs with any of these workplace types. Leave empty for all.
employmentTypesarrayOptionalEmployment type
Only keep jobs with any of these employment types. Leave empty for all.
employerTypesarrayOptionalEmployer type
Only keep jobs posted by these employer types. Leave empty for all.
easyApplyOnlybooleanOptionaldefault falseEasy Apply only
Only keep jobs that accept Dice Easy Apply.
willingToSponsorOnlybooleanOptionaldefault falseVisa sponsorship only
Only keep jobs where the employer is willing to sponsor a work visa.
includeRemotebooleanOptionaldefault trueInclude remote jobs
Keep jobs that Dice marks as remote. Turn off to get only jobs without a remote option.
radiusintegerOptionalSearch radius (miles)
Distance around the location to search, in miles. Used only with a location.
fetchDetailsbooleanOptionaldefault trueFetch full job descriptions
Open each job page to get the full description (HTML and plain text), the skills list, and the expiry date. Turn off for faster runs with the 500-character summary only.
maxPagesintegerOptionalMax search pages
Optional cap on result pages per search (30 jobs per page, up to 25 pages). Leave empty to page until Max jobs is reached.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for Dice and are the default. Proxy traffic is billed per GB.
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 |
|---|---|---|
| title | string | Job title |
| companyName | string | Hiring company |
| location | string | Job location |
| workSetting | string | On-Site, Remote, or Hybrid |
| employmentType | string | Employment type |
| salary | string | Salary text |
| postedDate | string | When the job was posted |
| url | string | Dice job page |
| companyPageUrl | string | Dice company page |
| easyApply | boolean | Accepts Easy Apply |
| employerType | string | Direct Hire, Recruiter, or Other |
| summary | string | Short summary |
| description_text | string | Full description as plain text |
| skills | array | Skills listed on the job page |
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 Dice job saved to the dataset. | $0.0007 |
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/dice-job-scraper').call({
"keyword": "python",
"results_wanted": 20,
"posted_date": "all",
"includeRemote": true,
"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/dice-job-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/dice-job-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.
Recent Dice tech jobs with full details.
Direct-hire jobs within 50 miles, with details.
Quick list of Dice job listings.
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.