Dice.com Jobs Scraper
Pricing
from $0.55 / 1,000 results
Dice.com Jobs Scraper
Scrape Dice.com for structured US technology job data: titles, companies, locations, skills & full descriptions. Specialised in tech & IT roles. $0.57/1,000 results.
Pricing
from $0.55 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

Extract job listings from dice.com at scale, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.
Why this scraper?
🎯 Built for the United States
A dedicated US tech scraper, not a global tool with a country dropdown. Search, locations and currency (USD) are tuned for dice.com.
📄 Complete job data
Full job title and description, direct listing URL and publish date for every record.
💶 Salary data
Salary information parsed from the listing where the employer publishes it, in USD. Missing salaries are returned as null, never guessed.
🏢 Company details
Hiring company name plus the profile details the source publishes, such as logo and company page.
📍 Location fields
Structured location data for every listing, ready for filtering and analysis.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new jobs instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "Python" | Job title, skill, or technology to search for (e.g. 'Python', 'DevOps'). For multiple searches, pass a JSON array, e.g. ["Python", "Java"]. |
location | string | (empty) | US city, state, or region (e.g. 'New York', 'Texas', 'Remote'). For multiple locations, pass a JSON array, e.g. ["New York", "Austin"]. |
radius | integer | (empty) | Search radius in miles from the specified location. Common values: 10, 25, 50, 100. |
maxResults | integer | 5 | Maximum number of job listings to return. 0 = unlimited. Primary cost control (you are charged per result). |
sortBy | string | "relevance" | Sort by relevance (best match) or date (most recently posted first). |
datePosted | integer | (empty) | Only return jobs posted within the last N days. Accepted: 1, 3, 7, 14, 30. Leave empty for all dates. |
employmentType | string | "Full-time" | Filter by employment type. |
workSetting | string | (empty) | Filter by workplace type. |
employerType | string | (empty) | Filter by employer type. |
remoteOnly | boolean | false | When enabled, only return remote job listings. |
easyApply | boolean | false | When enabled, only return jobs that support Easy Apply. |
willingToSponsor | boolean | false | When enabled, only return jobs where the employer is willing to sponsor. |
fetchDetails | boolean | false | Fetch each job's detail page for the full description, structured salary, skills, and expiry date. Slower but richer. Included in the result price — no extra charge. |
descriptionFormat | string | "all" | Which description representation to keep. 'all' keeps text, HTML and Markdown; the others drop the rest. |
compact | boolean | false | Output only core fields — optimised for AI-agent and MCP workflows. |
excludeEmptyFields | boolean | false | Drop null, empty-string, and empty-array fields from each record. Smaller payloads for dashboards and agents. |
skipReposts | boolean | false | Skip jobs already seen in a previous run (within 90 days). Useful for daily feed pipelines. |
incrementalMode | boolean | false | Track changes across runs. Each record is tagged NEW, UPDATED, UNCHANGED, or EXPIRED. Only NEW and UPDATED are emitted by default. |
stateKey | string | (empty) | Stable identifier for the tracked search universe. Leave empty to auto-derive from your search inputs. |
emitUnchanged | boolean | false | In incremental mode, also emit records that haven't changed since the last run. |
emitExpired | boolean | false | In incremental mode, also emit records no longer found in search results (tagged EXPIRED). |
startUrls | array | (empty) | One or more Dice.com search-result URLs or job-detail URLs to scrape directly. Overrides keyword/location. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given job are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
diceJobId | string | Dice internal job ID. |
guid | string | Job GUID (used in the detail URL). |
title | string | Job title. |
company | string | Hiring company. |
companyProfileId | string | Dice company profile ID. |
companyLogoUrl | string | Company logo image URL. |
jobLocation | string | Full location string. |
city | string | City. |
state | string | State. |
postalCode | string | Postal code. |
country | string | Country. |
workplaceType | string | Remote, Hybrid, On-site, or Unknown. |
applicantLocationRequirements | string | Eligible country. |
employmentType | string | Full-time, Contract, etc. |
employmentTypeRaw | string | Employment type from structured data. |
salaryText | string | Raw salary string. |
salaryMin | number | Salary lower bound. |
salaryMax | number | Salary upper bound. |
salaryCurrency | string | Currency code. |
salaryPeriod | string | year, hour, etc. |
postedDate | string | Posted, as shown (e.g. "Today"). |
publishDateISO | string | Posted date, ISO 8601. |
validThrough | string | Listing expiry, ISO 8601. |
descriptionPreview | string | Short description snippet. |
description | string | Full description, plain text. |
descriptionHtml | string | Full description, HTML. |
descriptionMarkdown | string | Full description, Markdown. |
skills | array | Required skills. |
detailsPageUrl | string | Job detail page URL. |
companyProfileUrl | string | Company profile URL. |
searchQuery | string | The query that produced this row. |
searchUrl | string | The search URL scraped. |
source | string | dice.com. |
sourceCountry | string | US. |
contentHash | string | Stable hash for change detection. |
scrapedAt | string | Scrape timestamp, ISO 8601. |
isRepost | boolean | True if seen in a prior run. |
Example record
{"diceJobId": "3b3a0eeb0c18f1dbb0ec8215d9f97514","guid": "752ae6f0-2f2e-4c00-bb64-93502a6995d3","title": "Application Systems Programmer III","company": "Florida Department of Financial Services","companyProfileId": "ef85cb53-36c6-5df8-be1f-f44d23077ba7","companyLogoUrl": "https://d3qscgr6xsioh.cloudfront.net/7zsCCBGNQMqxvCYviTbJ_CFO_gold.png?format=webp","jobLocation": "Tallahassee, Florida","city": "Tallahassee","state": "FL","postalCode": "32301","country": "US","workplaceType": "Unknown","applicantLocationRequirements": "USA","employmentType": "Full-time","employmentTypeRaw": "FULL_TIME","salaryText": "80,000 - 100,000","salaryMin": 80000,"salaryMax": 100000,"salaryCurrency": null,"salaryPeriod": "year","postedDate": "8d ago","publishDateISO": "2026-06-08T15:30:52.000Z","validThrough": "2026-07-09T15:30:52.000Z","descriptionPreview": "BRIEF DESCRIPTION OF DUTIES: The Applications Systems Programmer SES serves as the senior technical authority responsible for the design, development, maintenance, and oversight of enterprise applicat …","description": "BRIEF DESCRIPTION OF DUTIES:The Applications Systems Programmer III – SES serves as the senior technical authority responsible for the design, development, maintenance, and oversight of enterprise app …","descriptionHtml": "<p><strong>BRIEF DESCRIPTION OF DUTIES:</strong></p><p>The Applications Systems Programmer III – SES serves as the senior technical authority responsible for the design, development, maintenance …","descriptionMarkdown": "**BRIEF DESCRIPTION OF DUTIES:**\n\nThe Applications Systems Programmer III – SES serves as the senior technical authority responsible for the design, development, maintenance, and oversight of enterpri …","skills": ["AI","Java","C#","Python"],"detailsPageUrl": "https://www.dice.com/job-detail/752ae6f0-2f2e-4c00-bb64-93502a6995d3","companyProfileUrl": "https://www.dice.com/company-profile/ef85cb53-36c6-5df8-be1f-f44d23077ba7","searchQuery": "Java","searchUrl": "https://www.dice.com/jobs?q=Java&location=Remote&page=1&pageSize=20","source": "dice.com","sourceCountry": "US","contentHash": "h7f23b52b","scrapedAt": "2026-06-26T10:32:06.552Z","isRepost": false}
Examples
Search for data engineer roles in Austin, TX:
{"searchQuery": "data engineer","location": "Austin, TX","maxResults": 100}
Filter by contract type:
{"searchQuery": "data engineer","location": "Austin, TX","maxResults": 100,"employmentType": "FULLTIME"}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.dice.com/jobs?q=react&location=California"}],"maxResults": 200}
Daily feed (run on a schedule):
{"searchQuery": "data engineer","skipReposts": true,"maxResults": 500}
Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh feed of the newest listings.
💰 Pricing
$0.57 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.06 |
| 1,000 | ~$0.57 |
| 10,000 | ~$5.70 |
| 100,000 | ~$57.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.53 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Salary is only returned when the employer publishes it — many listings carry
nullsalary fields. - Company details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: dice.com — the United States job listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl