Dice Tech Jobs Scraper
Pricing
$0.70 / 1,000 job returneds
Dice Tech Jobs Scraper
Search dice.com tech jobs and get structured rows, not raw text: a parsed salary band (min, max, currency, period) plus an annualised figure so hourly contract rates compare against salaries, the employer type so agency reposts can be dropped, a real remote boolean and the visa-sponsorship flag.
Pricing
$0.70 / 1,000 job returneds
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape Dice.com tech jobs as structured rows rather than raw text. This Dice jobs scraper returns a parsed salary band — minimum, maximum, currency, and period — plus an annualised figure so hourly contract rates compare directly against salaries, the employer type so agency reposts can be dropped, and sponsorship and easy-apply flags.
No Dice API key, no login, and no headless browser. Results land in a structured dataset you can export to JSON, CSV, Excel, or XML, or pull straight from the Apify API.
What is Dice Tech Jobs Scraper?
Dice Tech Jobs Scraper is an Apify Actor that extracts tech job listings with parsed salary bands from Dice and returns them as clean, structured records. Dice is dominated by contract roles quoted hourly. Without annualisation you cannot compare a $85/hour contract against a $150,000 salary, which makes most Dice datasets useless for compensation work.
What data can this Dice jobs scraper extract?
Every run writes one row per job posting. The full schema carries 41 fields; the most-used ones are below.
| Field | Type | Description |
|---|---|---|
jobId | string | Dice's identifier for the listing. Stable across runs and usable as a deduplication key. Null only on the... |
guid | string | The identifier that appears inside the job URL (dice.com/job-detail/ |
title | string | Job title exactly as the employer published it. |
companyName | string | Hiring company or staffing agency name. |
companyId | string | Dice's brand identifier for the employer. Groups every posting from the same company, even when the displayed name... |
companyUrl | string | The employer's Dice company page. |
companyLogoUrl | string | Employer logo image. Present on about 99.8% of listings. |
locationDisplay | string | Location as Dice displays it, for example "Charlotte, North Carolina, USA". |
city | string | City for the role. Dice omits it on statewide postings, in which case this is null rather than repeating the state. |
state | string | Full state or province name, for example "North Carolina". |
stateCode | string | Dice's short region code for the state, for example "NC". |
country | string | Country exactly as Dice reports it. Dice is inconsistent here and mixes "USA", "US", "Canada" and "CA" in one... |
countryCode | string | Two-letter ISO country code normalised from the field above. Null when Dice reported a country this Actor does not... |
salaryText | string | The pay band exactly as the employer typed it, kept verbatim so nothing is lost to parsing. Present on about 83.5%... |
salaryMin | number | Bottom of the published band, in the units of salaryPeriod. Null when the employer published no number, including... |
salaryMax | number | Top of the published band, in the units of salaryPeriod. Equals salaryMin when a single figure was published. |
salaryCurrency | string | Three-letter currency code detected from the published band. Null when the employer gave a bare number with no... |
salaryPeriod | string | One of hourly, daily, weekly, monthly or yearly - the unit salaryMin and salaryMax are quoted in. |
salaryPeriodIsInferred | boolean | True when the employer gave no explicit period and it was inferred from magnitude (a band topping out under 1000... |
salaryAnnualMin | number | salaryMin converted to a yearly figure so hourly contract rates and annual salaries can be compared in one column.... |
salaryAnnualMax | number | salaryMax converted to a yearly figure on the same basis as the field above. |
employmentType | string | Employment type as Dice publishes it. Often several joined by commas, for example "Full-time, Third Party". |
See the Output tab in Apify Console for all 41 fields.
How to scrape Dice tech job listings
- Open Dice Tech Jobs Scraper and click Try for free.
- Add
searchQueriesandlocations, withradiusMilesto widen the geography. - Filter with
postedWithinDays,employmentTypes, andworkplaceTypes. - Set
willingToSponsorOnlyoreasyApplyOnlyto narrow further. - Bound the run with
maxItems. - Click Start and watch rows appear live in the Output tab.
- Export the dataset as JSON, CSV, Excel, or XML — or fetch it from the Apify API once the run finishes.
Dice Tech Jobs Scraper input options
| Input | Type | What it does | Default |
|---|---|---|---|
searchQueries | array | Job titles, skills or keywords to search, one per line. Each keyword is combined with each location, so 3 keywords... | ["software engineer"] |
locations | array | Where to search, one per line, for example "New York, NY", "Austin, TX" or "Remote". Optional: a keyword with no... | ["New York, NY"] |
radiusMiles | integer | How far around each location to search. Only applies when a location is given. Dice's own default is 30 miles. | 30 |
postedWithinDays | string | Only return jobs posted this recently. Dice offers exactly these buckets. Note that its 30-day bucket covers almost... | "any" |
employmentTypes | array | Only return these employment types. Leave empty for all. Selecting several ORs them together rather than narrowing... | |
workplaceTypes | array | Only return these workplace arrangements. Leave empty for all. Selecting several ORs them together. | |
willingToSponsorOnly | boolean | Only return employers who marked the posting as willing to sponsor a work visa. This is a narrow slice, roughly 500... | false |
easyApplyOnly | boolean | Only return jobs a candidate can apply to through Dice itself, rather than being redirected to the employer's own... | false |
startUrls | array | Paste dice.com search URLs to scrape them directly, for example... | |
maxItems | integer | Hard cap on jobs returned across all searches, and the cap on what you are charged. Dice serves at most 10,000... | 100 |
Proxy is configured through the standard proxyConfiguration object; the defaults shipped with this Actor are already tuned for the target site.
Example output
{"searchQueries": ["python developer", "data engineer"],"locations": ["Austin, TX"],"radiusMiles": 30,"postedWithinDays": "7","employmentTypes": ["full-time"],"workplaceTypes": ["remote", "hybrid"],"willingToSponsorOnly": false,"maxItems": 500}
How much does it cost to scrape Dice?
This Actor runs on pay per result pricing: $0.0007 per job ($0.7 per 1,000).
| Results | Approximate cost |
|---|---|
| 1,000 | $0.70 |
| 10,000 | $7.00 |
| 100,000 | $70.00 |
You pay for rows you actually receive, so a search that returns nothing costs nothing beyond the start fee. Every Apify account includes free monthly usage credit, so you can trial Dice Tech Jobs Scraper at no cost.
What can you build with Dice data?
Benchmark contract versus permanent tech pay
Annualised salary figures make hourly and salaried roles directly comparable, which is the whole point of compensation analysis in a contract-heavy market.
Filter out staffing-agency noise
employerType distinguishes direct employers from agencies, letting you drop the duplicate reposts that make Dice data look larger than it is.
Find visa-sponsoring employers
willingToSponsor identifies employers open to sponsorship, which is decisive for international candidates.
Track tech skill demand over time
Posting volume by keyword and location is a genuine leading indicator of which technologies are being hired for.
Build a recruiting lead list
Direct employers posting repeatedly for the same skill are the clearest prospects for a technical recruiting desk.
Dice scraping tips and limits
salaryPeriodIsInferredflags rows where the period was deduced rather than stated. Exclude them from precise compensation analysis.- Filtering to direct employers via
employerTypetypically removes a large share of duplicate listings. postedWithinDayskeeps scheduled runs cheap by pulling only new postings.- Dice is US-centric and skewed toward contract work. For permanent roles, pair it with Indeed or ATS boards.
Integrations and automation
Run Dice Tech Jobs Scraper on a schedule to keep a Dice dataset fresh, or trigger it from your own stack through the Apify API and the official JavaScript and Python clients. Native integrations push results into Google Sheets, Slack, Airtable, Zapier, Make, GitHub, or any webhook endpoint. The Actor also works as an MCP tool, so an AI agent can call it directly.
Related scrapers
| Actor | What it does |
|---|---|
| Indeed Jobs Scraper | Broader job coverage with parsed salaries. |
| ATS Job Boards Scraper - Greenhouse, Ashby, Lever | Greenhouse, Ashby, and Lever company boards. |
| Workday Jobs Scraper - Search Any Workday Career Site | Enterprise Workday career sites. |
| Glassdoor Company Scraper | Employee reviews and salary reports. |
Frequently asked questions
How does the annualised salary work?
Where Dice quotes an hourly or daily rate, the Actor computes salaryAnnualMin and salaryAnnualMax so contract and permanent roles sit on the same scale. The original text stays in salaryText.
Can I exclude staffing agencies?
Yes. Filter on employerType to keep only direct employers, which removes most of the duplicate agency reposts Dice is known for.
Do I need a Dice API key?
No. Dice Tech Jobs Scraper reads publicly available Dice pages and endpoints directly, so there is no key to obtain, no OAuth app to register, and no account to connect.
Can I export Dice data to CSV, Excel, or Google Sheets?
Yes. Every run stores results in an Apify dataset that exports to JSON, JSONL, CSV, Excel, XML, or HTML with one click, and the Google Sheets integration writes rows straight into a spreadsheet.
Can I run Dice Tech Jobs Scraper on a schedule?
Yes. Apify schedules run the Actor hourly, daily, weekly, or on any cron expression, and webhooks can notify your systems the moment a run finishes.
Is it legal to scrape Dice?
Scraping publicly available data is broadly lawful in the US and EU, but the answer depends on what you collect and how you use it. This Actor is built to gather public job posting information Dice publishes publicly. Personal data carries extra obligations under GDPR and CCPA. Read Apify's guide on whether web scraping is legal and take your own legal advice for your use case.
Support and feedback
Found a bug, a missing field, or a Dice page shape this Actor does not handle yet? Open an issue from the Issues tab on the Actor page. Feature requests and custom-scraper enquiries are welcome there too.