Dice Jobs Scraper
Pricing
$0.80 / 1,000 jobs
Dice Jobs Scraper
Scrapes tech job listings from Dice.com. Paste any Dice search link and every filter in it is kept: keyword, location, radius, remote/hybrid/on-site, employment type, posted date, easy apply and more. Gets title, company, location, salary, dates, skills and the full job description.
Pricing
$0.80 / 1,000 jobs
Rating
0.0
(0)
Developer
Mina
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
What does Dice Jobs Scraper do?
Dice Jobs Scraper collects tech job listings from Dice.com, the US job board for software, IT, data and engineering roles. Search on Dice as you normally would, paste the link, and get every job as a clean row: title, company, city and state, remote / hybrid / on-site, employment type, the salary as shown plus parsed minimum, maximum and period, posted and updated dates, easy apply and visa sponsorship flags, skills and the full job description.
Every filter in your link is kept: keyword, location and radius, workplace type, employment type, posted date, employer type, easy apply, visa sponsorship and company.
Try it with the prefilled search: open the Actor, click Start, and 25 Python jobs in New York are ready in about 10 seconds. Running on the Apify platform also gives you API access, scheduled runs, integrations (Google Sheets, Make, Zapier, Slack, webhooks) and run monitoring.
Why scrape Dice?
- Tech salary benchmarking. Dice's pay text ("USD 140,000.00 - 165,000.00 per year", "$72 - $75") is turned into numbers you can sort and average, with the original text kept alongside.
- Skills demand research. Every job comes with Dice's list of required skills, so you can count which languages, clouds and tools employers ask for, and where.
- Recruitment and sales leads. See which companies and staffing agencies are hiring, for what roles, and whether they sponsor visas.
- Job aggregation. Feed a niche tech job board, newsletter or Slack channel with fresh, structured listings.
- Monitoring. Schedule a daily run on a "posted today" search and keep only the job IDs you have not seen.
How to scrape Dice jobs
- Open dice.com/jobs and search: type a job title or skill and a location, then pick any filters (posted date, workplace type, employment type, easy apply and so on).
- Copy the address from your browser's address bar, for example
https://www.dice.com/jobs?q=python&location=New%20York&filters.workplaceTypes=Remote. - Paste it into Dice search links. Add as many links as you like, one per line.
- Set Max jobs per search link and choose whether to include descriptions and skills.
- Click Start, then download the results as JSON, CSV, Excel or HTML.
Input
Everything is set on the Input tab. In JSON, the input looks like this:
{"search_urls": ["https://www.dice.com/jobs?q=python&location=New%20York","dice.com/jobs?q=data%20engineer&filters.workplaceTypes=Remote&filters.postedDate=SEVEN",{ "url": "https://www.dice.com/jobs/q-golang-l-Texas-jobs" }],"max_results_per_search": 100,"include_description": true}
| Field | What it does |
|---|---|
search_urls | Dice search links, one per line. https:// is optional, and older links such as dice.com/jobs/q-python-l-new_york-jobs work too. API callers can also send {"url": "…"} objects. Required. |
max_results_per_search | Stops after this many jobs from each search link. Dice shows at most 10,000 jobs for one search. Default: 100. |
include_description | Opens each job's page to add its full description (plain text) and skills list. Default: on. |
Which filters are read from the link?
| On Dice | In the link | Example |
|---|---|---|
| Keyword | q= | q=python |
| Location | location= (plus the coordinates Dice adds) | location=Austin, TX, USA |
| Distance | radius= and radiusUnit= | radius=10&radiusUnit=mi |
| Workplace type | filters.workplaceTypes= | Remote, Hybrid, On-Site, or several of them |
| Employment type | filters.employmentType= | FULLTIME, PARTTIME, CONTRACTS, THIRD_PARTY, INTERNSHIP, or several of them |
| Posted date | filters.postedDate= | ONE (today), THREE, SEVEN days |
| Employer type | filters.employerType= | Direct Hire, Recruiter, Other |
| Easy apply only | filters.easyApply=true | |
| Willing to sponsor | filters.willingToSponsor=true | |
| One company | filters.clientBrandNameFilter= | filters.clientBrandNameFilter=Collabera LLC |
The page number in a link is ignored: every search starts from its first page. Like dice.com itself, a search with a location also includes remote jobs; add a workplace type filter to leave them out.
Output
Each job becomes one row. Here is a real one from the prefilled search, with the summary, skills and description shortened:
{"id": "ce463f69-68d5-44fc-9bda-8db79755c7bc","url": "https://www.dice.com/job-detail/ce463f69-68d5-44fc-9bda-8db79755c7bc","title": "Remote Lead Data Architect - Snowflake/SQL/Python","company": "Motion Recruitment Partners, LLC","company_url": "https://www.dice.com/company-profile/5b6108e0-524b-529d-bcce-768b5daefc01","company_logo": "https://d3qscgr6xsioh.cloudfront.net/mYivInZASxip5W4N3Dhp_transformed.png?format=webp","location": "Boston, Massachusetts, USA","city": "Boston","state": "Massachusetts","state_code": "MA","country": "USA","is_remote": true,"workplace_type": "Remote, On-Site","employment_type": "Full-time","employer_type": "Recruiter","salary": "USD 160,000.00 per year","salary_min": 160000,"salary_max": 160000,"salary_currency": "USD","salary_period": "year","posted_at": "2026-10-10T00:08:14Z","updated_at": "2026-10-10T12:04:32Z","is_easy_apply": true,"willing_to_sponsor": false,"summary": "Job Description A leading organization in the insurance and risk management space is seeking a Lead Data Archi...","position": 6,"search_url": "https://www.dice.com/jobs?q=python&location=New%20York","skills": ["Risk Management", "Advanced Analytics", "Data Modeling", "Physical Data Model", "SQL", "Python"],"description": "Job Description A leading organization in the insurance and risk management space is seeking a Lead Data Architect to drive the design, development, and evoluti...","is_expired": false,"scraped_at": "2026-10-10T14:11:03Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has two views: Jobs (the main columns) and Full details.
Data fields
| Field | Description |
|---|---|
id | Dice's job ID, the one in the job's link. |
url | Link to the job on Dice. |
title | Job title. |
company | The hiring company or staffing agency. |
company_url | The company's profile page on Dice, when it has one. |
company_logo | The company logo, when the listing shows one. |
location | The location as Dice shows it, for example "Boston, Massachusetts, USA". Empty for remote jobs that name no place. |
city, state, state_code, country | The same location in parts: "Boston", "Massachusetts", "MA", "USA". |
is_remote | true when the job can be done remotely. |
workplace_type | Remote, Hybrid and/or On-Site, as the employer set it, for example "Remote, On-Site". |
employment_type | Full-time, Part-time, Contract, Third Party or Internship; a job can have several, for example "Contract, Third Party". |
employer_type | Direct Hire, Recruiter or Other. |
salary | The pay exactly as the employer wrote it, such as "Depends on Experience". Empty when none is shown. |
salary_min, salary_max | The pay range read from that text; a single figure fills both. Contract and tax terms such as W2, C2C, 1099 and 401k are not read as pay. Empty when the text states no amount. |
salary_currency | The currency the text names, otherwise USD. |
salary_period | hour, day, week, month or year. Taken from the text; when the text gives none, amounts up to 300 are read as hourly and 15,000 or more as yearly, and amounts in between are left without a period. |
posted_at, updated_at | When the job was posted and last updated, in UTC. |
is_easy_apply | true when you can apply on Dice without leaving it. |
willing_to_sponsor | true when the employer says it will sponsor a work visa. |
summary | The start of the description, as Dice's search results show it (up to about 500 characters). |
position | The job's rank in your search, starting at 1. |
search_url | The link you pasted that found this job. |
skills | The skills listed on the job's page (only with Include descriptions and skills). Empty when the job lists none. |
description | The full job description as plain text (only with Include descriptions and skills). |
is_expired | true when Dice says the job has closed or been removed (only with Include descriptions and skills). Closed jobs usually still show their description; removed ones have none. Empty when the job's page could not be loaded. |
scraped_at | When the job was collected, in UTC. |
How much does it cost to scrape Dice?
The Actor uses pay-per-event pricing: you pay a small fixed price for each job saved, and the exact price is on the Pricing tab. Descriptions and skills are included at no extra charge.
You are never charged for links that return nothing: a search with no jobs or a link that is not a Dice search is listed in the run's FAILED_INPUTS record instead. If you set a maximum cost for a run, the Actor stops as soon as it is reached.
Tips for scraping Dice
- Let Dice filter for you. Narrow the search on Dice before copying the link. The filters are applied by Dice itself, so you only collect (and pay for) matching jobs.
- Monitor new jobs. Choose "Posted today" (
filters.postedDate=ONE), schedule the Actor to run daily, and drop job IDs you already have. - Faster runs. Turn off Include descriptions and skills when titles, companies and pay are all you need: search results arrive 100 jobs at a time, while descriptions take one page per job. About 500 jobs take 1.5 minutes with descriptions and about 15 seconds without.
- Big searches. Dice shows at most 10,000 jobs for one search, however many match. To collect more, split the search, for example by location or posted date.
- Each job is saved once per run, even when several of your links find it.
FAQ, disclaimers and support
Which links work? Search links from dice.com/jobs, with or without filters, and older keyword links such as dice.com/jobs/q-python-l-new_york-jobs. In those older links Dice reads only the word after q- and after l- (q-full-stack-jobs searches for "full"), and the Actor searches the same way; for a multi-word search, search on dice.com and copy the current link. A single job's link, company profiles and career-advice pages are not searches; they are listed in FAILED_INPUTS with the reason.
Why do some jobs have no salary numbers? Many employers write "Depends on Experience" or "DOE" instead of an amount. The Actor only fills salary_min and salary_max when the text states an amount, and the original text is always in salary.
What if Dice doesn't recognise my location? Dice then searches everywhere instead, and the run log says so. Pick the location from Dice's own suggestions before copying the link.
What happens to links that return nothing? They are not saved as rows, so you are not charged for them. Each is listed with its reason in the FAILED_INPUTS record of the run's key-value store, and the run's status message gives the counts. A run fails only when Dice could not be reached for any of your links. If Dice stops answering partway through a link, the jobs read so far are kept and the status message says how many links stopped early.
Is it legal to scrape Dice? This Actor collects job listings that employers publish publicly so that people can find and apply for them. It does not log in and collects no candidate data. Job descriptions can still contain recruiters' names and contact details written by the employer, and their text is the employer's. You are responsible for making sure your use complies with Dice's terms and with the laws that apply to you, such as privacy and copyright rules for republishing listings. If in doubt, ask a lawyer.
Found a problem or need something custom? Open an issue on the Issues tab and we will look into it. Custom scrapers and job data feeds are available on request.