Dice Jobs Scraper avatar

Dice Jobs Scraper

Pricing

$0.80 / 1,000 jobs

Go to Apify Store
Dice Jobs Scraper

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

Mina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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

  1. 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).
  2. Copy the address from your browser's address bar, for example https://www.dice.com/jobs?q=python&location=New%20York&filters.workplaceTypes=Remote.
  3. Paste it into Dice search links. Add as many links as you like, one per line.
  4. Set Max jobs per search link and choose whether to include descriptions and skills.
  5. 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
}
FieldWhat it does
search_urlsDice 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_searchStops after this many jobs from each search link. Dice shows at most 10,000 jobs for one search. Default: 100.
include_descriptionOpens each job's page to add its full description (plain text) and skills list. Default: on.
On DiceIn the linkExample
Keywordq=q=python
Locationlocation= (plus the coordinates Dice adds)location=Austin, TX, USA
Distanceradius= and radiusUnit=radius=10&radiusUnit=mi
Workplace typefilters.workplaceTypes=Remote, Hybrid, On-Site, or several of them
Employment typefilters.employmentType=FULLTIME, PARTTIME, CONTRACTS, THIRD_PARTY, INTERNSHIP, or several of them
Posted datefilters.postedDate=ONE (today), THREE, SEVEN days
Employer typefilters.employerType=Direct Hire, Recruiter, Other
Easy apply onlyfilters.easyApply=true
Willing to sponsorfilters.willingToSponsor=true
One companyfilters.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

FieldDescription
idDice's job ID, the one in the job's link.
urlLink to the job on Dice.
titleJob title.
companyThe hiring company or staffing agency.
company_urlThe company's profile page on Dice, when it has one.
company_logoThe company logo, when the listing shows one.
locationThe location as Dice shows it, for example "Boston, Massachusetts, USA". Empty for remote jobs that name no place.
city, state, state_code, countryThe same location in parts: "Boston", "Massachusetts", "MA", "USA".
is_remotetrue when the job can be done remotely.
workplace_typeRemote, Hybrid and/or On-Site, as the employer set it, for example "Remote, On-Site".
employment_typeFull-time, Part-time, Contract, Third Party or Internship; a job can have several, for example "Contract, Third Party".
employer_typeDirect Hire, Recruiter or Other.
salaryThe pay exactly as the employer wrote it, such as "Depends on Experience". Empty when none is shown.
salary_min, salary_maxThe 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_currencyThe currency the text names, otherwise USD.
salary_periodhour, 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_atWhen the job was posted and last updated, in UTC.
is_easy_applytrue when you can apply on Dice without leaving it.
willing_to_sponsortrue when the employer says it will sponsor a work visa.
summaryThe start of the description, as Dice's search results show it (up to about 500 characters).
positionThe job's rank in your search, starting at 1.
search_urlThe link you pasted that found this job.
skillsThe skills listed on the job's page (only with Include descriptions and skills). Empty when the job lists none.
descriptionThe full job description as plain text (only with Include descriptions and skills).
is_expiredtrue 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_atWhen 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.