Dice Tech Jobs Scraper avatar

Dice Tech Jobs Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Dice Tech Jobs Scraper

Dice Tech Jobs Scraper

Scrape technology job listings from Dice.com in bulk - job title, company, location, remote type, salary range, employment type, posted date and apply URL. Search many keywords and locations at once, paginated deep. One clean JSON/CSV/Excel row per job. No login or API key required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Nicolas van Arkens

Nicolas van Arkens

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Dice Tech Jobs Scraper — export Dice.com job listings to JSON, CSV & Excel

Scrape technology job listings from Dice.com in bulk — no login, no API key, no browser automation. Give it a list of keywords (job titles or skills) and, optionally, a list of locations, and it returns one clean, structured row per job: title, company, location, remote type, salary range, employment type, posted date and a direct apply link.

Dice is one of the largest U.S. tech-focused job boards. This actor turns its search results into a spreadsheet or dataset you can filter, dedupe and load anywhere.


What you can do with it

  • Recruiting & sourcing — track who is hiring for a stack or role across cities, feed an ATS/CRM.
  • Job-market & salary research — pull thousands of postings to analyze pay ranges, remote share, in-demand skills.
  • Aggregators & job boards — syndicate fresh Dice tech listings into your own site.
  • Sales & lead gen — companies actively hiring engineers are companies with budget and growth.
  • Competitive intelligence — watch which competitors are staffing up and for what.

Features

  • Bulk by design — every input is a list. Search many keywords × many locations in one run (a cross product).
  • Deep pagination — automatically walks every result page (30 jobs/page) up to your limit; bounded by Dice's own last-page marker so it never loops.
  • Structured salary — parses Dice's messy salary strings into salaryMin / salaryMax / salaryCurrency / salaryPeriod, keeping the raw text too.
  • Rich fields — company, location breakdown, remote/hybrid/on-site, employment type, posted & modified dates, summary, apply URL.
  • Global de-duplication — the same posting seen under multiple searches is returned (and billed) only once.
  • Filters — remote-only, employment type (Full-time / Contract / Part-time / Third Party), posted-within-days, search radius.
  • Power-user URLs — paste any dice.com/jobs search URL (with filters already applied) and it scrapes it deep.

Input

FieldTypeDescription
searchTermsarray of stringsKeywords / job titles / skills, e.g. ["python", "data engineer"]. Each is searched in each location. Leave empty to scrape the whole feed.
locationsarray of stringsDice-format locations, e.g. ["New York, NY, USA", "Austin, TX, USA"]. Empty = nationwide.
remoteOnlybooleanOnly remote-eligible jobs.
employmentTypesarrayAny of Full-time, Contract, Part-time, Third Party. Empty = all.
postedWithinDaysinteger1 = Today, 2-3 = Last 3 days, 4-7 = Last 7 days (Dice's only windows).
radiusMilesintegerRadius around each location, in miles.
searchUrlsarray of stringsFull dice.com/jobs?... URLs to scrape deep (power users).
maxResultsPerSearchintegerMax jobs per keyword+location pair. Default 300.
proxyConfigurationobjectApify Residential/US recommended; the actor auto-rotates on a block.

Example input

{
"searchTerms": ["python", "data engineer"],
"locations": ["New York, NY, USA"],
"remoteOnly": false,
"employmentTypes": ["Full-time", "Contract"],
"maxResultsPerSearch": 300,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}

Output

Each job is one dataset item. Real sample (a live Dice listing):

{
"jobId": "43d7cbc4c085fc2da43f6fffa5a6c4a1",
"guid": "c5c1cbfa-6056-495e-be9b-9dcec380d537",
"title": "Lead Software Engineer (Java, Python, AWS)",
"company": "Capital One",
"companyLogo": "https://d3qscgr6xsioh.cloudfront.net/...muselogo.webp?format=webp",
"companyProfileId": "3a49da6b-f646-4a86-a7fb-6800d711de1c",
"clientBrandId": "10225989",
"employmentType": "Full-time",
"employerType": "Direct Hire",
"city": "New York",
"state": "New York",
"region": "NY",
"country": "USA",
"location": "New York, New York, USA",
"isRemote": false,
"workplaceTypes": ["On-Site"],
"postedDate": "2026-07-17T20:51:58Z",
"modifiedDate": "2026-07-18T20:55:40Z",
"salaryRaw": "USD 215,200.00 - 245,600.00 per year",
"salaryMin": 215200.0,
"salaryMax": 245600.0,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"easyApply": false,
"score": 11361.719,
"summary": "Lead Software Engineer (Java, Python, AWS) Do you love building and pioneering...",
"jobUrl": "https://www.dice.com/job-detail/c5c1cbfa-6056-495e-be9b-9dcec380d537",
"searchTerm": "python",
"searchLocation": "New York, NY, USA",
"scrapedAt": "2026-07-19T12:00:00Z"
}

Field notes

  • salaryMin / salaryMax / salaryPeriod — Dice salary text is free-form and inconsistent ("USD 215,200 - 245,600 per year", "60 - 65", "Depends on Experience"). The actor extracts the numbers and reads/infers the period (hourly vs annual) best-effort; salaryRaw always keeps the original. Not every job posts a salary.
  • workplaceTypes — a list, e.g. ["Remote"], ["On-Site", "Hybrid"].
  • jobUrldice.com/job-detail/... for most jobs, dice.com/direct-apply/... for Easy Apply.

How many results can I get?

As many as Dice lists. A single keyword+location commonly has thousands of postings across ~170 pages; the actor paginates to maxResultsPerSearch. For very large pulls, add several locations — each is searched independently and results are de-duplicated globally.


FAQ

Do I need a Dice account or API key? No. The data is read from Dice's public, server-rendered search pages.

Is this allowed? The actor collects only publicly available job-posting data. Respect Dice's Terms of Service and applicable law; you are responsible for how you use the output.

Why Apify Residential proxy? Dice can throttle high-volume datacenter traffic. Residential US is the safe default; the actor rotates to a fresh session automatically if a page is blocked.

Some rows have no salary / location. Those fields are simply not present on every Dice posting — that is a gap in the source, not the scraper.

Can I filter by experience level or salary? Apply that filter on dice.com in your browser, copy the URL, and paste it into searchUrls.


Pricing

This actor is pay-per-result: you are charged once per job row returned. Blocked or empty pages are never charged, and duplicate postings are billed only once.