Dice.com Jobs Scraper — Emails, Applicant Counts & Monitoring
Pricing
$21.00/month + usage
Dice.com Jobs Scraper — Emails, Applicant Counts & Monitoring
Dice.com tech-jobs scraper — search by URL or filters. Deep job rows: pay rate, skills, visa sponsorship, applicant counts and full employer profile. Optional employer contact-email enrichment + payment-stack qualification. Monitoring mode scrapes only new listings. JSON or CSV out.
Pricing
$21.00/month + usage
Rating
5.0
(2)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
41
Total users
3
Monthly active users
8 days ago
Last modified
Categories
Share
Dice.com Jobs Scraper
The fastest way to turn Dice.com searches into structured tech-job data. Start from any Dice search URL, a job-detail URL, or a plain keyword with filters — and get one clean JSON/CSV row per job posting, with salary, skills, remote status, visa sponsorship, and the full company profile.
Beyond the job data itself, this actor can do three things no other Dice scraper offers: discover the employer's real website and contact email, qualify each employer as a paying business (payment-stack detection: Stripe, Shopify, PayPal and more), and run in monitoring mode so scheduled reruns return only never-seen-before postings.
Why Use This Scraper?
- ✅ Two input modes — paste Dice search/job URLs, or let the actor build the search from keyword + filters
- ✅ Full job-detail rows — salary, skills, employment types, remote/hybrid, sponsorship, apply method
- ✅ Complete company profile per job — logo, description, branding assets, recruiter vs direct employer
- ✅ Opt-in employer contact emails — website discovery + contact-page harvesting per company
- ✅ Opt-in payment-stack qualification — flags employers that take money online (Stripe key detection included)
- ✅ Monitoring mode — schedule it and each rerun emits only jobs it has never seen before
- ✅ Applicant-count field (
apply.jobApplyCount) captured whenever Dice exposes it - ✅ Pure HTTP with the mobile detail API — no browser, fast runs, JSON or CSV out
Overview
The Dice.com Jobs Scraper is built for recruiters, staffing agencies, lead-gen teams, and job-market analysts who need structured job data from Dice.com — the leading US tech job board run by DHI Group.
The output is job-shaped rows. Whether you start from a search URL, a single job-detail URL, or a keyword, every dataset item is one job posting with the same schema: identifiers, dates, pay, skills, description, apply info, company profile, and location.
One thing to know up front: each job in the search results is fetched again through Dice's job-detail API, so rows contain the full detail payload (complete HTML description, company branding, apply metadata) — not just the thin search-result cards other scrapers return.
Supported Inputs
URL types
| URL type | Pattern | Example |
|---|---|---|
| Job search | dice.com/jobs?q=… | https://www.dice.com/jobs?q=software+engineer&location=United+States&countryCode=US |
| Job detail | dice.com/job-detail/{uuid} | https://www.dice.com/job-detail/e1be0c83-95a9-4c72-af15-457bd41c92ee |
Copy-pasteable startUrls
{"startUrls": ["https://www.dice.com/jobs?q=software+engineer&location=United+States&radiusUnit=mi&language=en&countryCode=US","https://www.dice.com/job-detail/e1be0c83-95a9-4c72-af15-457bd41c92ee"]}
Keyword / filter mode
Leave startUrls empty and the actor builds the Dice search URL for you:
{"keyword": "data engineer","location": "Austin, TX","workplaceType": "Remote","employmentType": "FULLTIME","postedDate": "SEVEN"}
Priority rule: when both are configured, startUrls wins — the keyword and filter fields are ignored for that run.
Unsupported inputs
- ❌ URLs outside
dice.com(other DHI boards like ClearanceJobs are not supported) - ❌ Anything behind the Dice login wall — candidate profiles, applications, employer dashboards
- ❌ Shortened or redirect URLs — paste the full URL from your browser
Use Cases
| Audience | Use case |
|---|---|
| Recruiters & staffing agencies | Pull fresh postings by tech stack, spot direct-hire vs recruiter listings, reach employers via enriched contact emails |
| Lead-gen & sales teams | Companies hiring engineers are buying tools — enrich with contact email + payment-stack signals to qualify leads |
| Job-market analysts | Track salary ranges, skill demand, remote-vs-onsite ratios across the US tech market |
| Job-alert builders | Monitoring mode + a schedule = an only-new-jobs feed for niche alerts (e.g. visa-sponsoring roles) |
| HR & comp teams | Benchmark pay rates by title, region, and employment type from real listings |
| Agencies | Deliver client-ready Dice datasets without writing or maintaining scrapers |
How It Works

- Input — provide Dice search/job URLs, or a keyword plus optional filters
- Search crawl — the actor walks the search result pages, auto-paginating until
maxItemsor the last page - Detail fetch — every job is fetched from Dice's job-detail API for the full payload
- Optional enrichment — with
enrichEmailson, each employer's website is discovered and scanned for a contact email; withqualifyByPaymentalso on, the same pages are checked for payment processors - Output — one JSON row per job, exportable as JSON, CSV, Excel, or via the Apify API
Input Configuration
Input fields
| Field | Type | Required | Notes |
|---|---|---|---|
startUrls | array<string> | yes (or keyword) | Full Dice search or job-detail URLs; overrides filter fields when non-empty |
keyword | string | yes (when no URLs) | Search query (q on Dice) |
location | string | optional | e.g. Remote, United States, Austin, TX |
postedDate | string enum | optional | ONE (24 h), THREE (3 days), SEVEN (7 days); unset = any time |
employmentType | string enum | optional | FULLTIME, PARTTIME, CONTRACTS, THIRD_PARTY (one per search) |
workplaceType | string enum | optional | Remote, Hybrid, On-Site |
easyApply | boolean | optional | Only jobs with Dice Easy Apply. Default false |
willingToSponsor | boolean | optional | Only visa-sponsoring jobs. Default false |
employerType | string enum | optional | Recruiter or Direct Hire |
radius / radiusUnit | integer / mi·km | optional | Search radius around location |
countryCode, language | string | optional | Geo/language query params (e.g. US, en) |
latitude, longitude, locationPrecision | number / string | optional | Advanced precise-geo search |
maxItems | integer | optional | Cap on scraped jobs. Default 1000 |
monitoringMode | boolean | optional | Only never-seen jobs are fetched and saved. Default false |
enrichEmails | boolean | optional | Adds contactEmail, contactWebsite, emailEnrichment. Default false |
qualifyByPayment | boolean | optional | Requires enrichEmails. Adds takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence. Default false |
maxConcurrency / minConcurrency | integer | optional | Defaults 10 / 1 |
maxRequestRetries | integer | optional | Default 100 |
proxy | object | optional | Defaults to Apify Residential |
Common scenarios
1. Remote full-time roles, last 7 days, with employer emails
{"keyword": "devops engineer","workplaceType": "Remote","employmentType": "FULLTIME","postedDate": "SEVEN","enrichEmails": true,"maxItems": 200}
2. Paste a search URL as-is
{"startUrls": ["https://www.dice.com/jobs?q=machine+learning&location=New+York,+NY&filters.workplaceTypes=Remote"],"maxItems": 100}
3. Scheduled only-new-jobs monitor with payment-qualified leads
{"keyword": "react developer","location": "United States","monitoringMode": true,"enrichEmails": true,"qualifyByPayment": true}
Output Overview
Each dataset item is one job posting containing:
- Identifiers & dates —
id,jobUUID,status,postedDate,modifiedDate,deactivationDate,webURL - Compensation & terms —
payRate,employmentTypes,willingToSponsor,remote,travelRequired - Role content —
skills[], full HTMLdescription,position.title,position.location(city, state, coordinates, workplace types) - Apply metadata —
apply.easyApply,apply.applicationMethodName,apply.url,apply.jobApplyCount(when Dice exposes it) - Company profile —
company.name, logo, profile URL,brandMaxInfocompany description, branding assets - Search-card snapshot —
basicInfo(the original search-result card: summary, salary text,employerType, easy-apply flag) - Optional enrichment —
contactEmail,contactWebsite,emailEnrichment, and payment fields when toggled on
Rows are nested JSON. Apify's export automatically flattens them for CSV/Excel (e.g. position.location.city becomes a column).
Output Samples
Search start — contract role (trimmed real row)
{"id": "5f2e9d3d57dda81c0c7009c880fa6275","jobUUID": "e1be0c83-95a9-4c72-af15-457bd41c92ee","status": "ACTIVE","postedDate": "2026-07-16T03:04:53.000Z","willingToSponsor": false,"skills": ["Software Engineer (I)"],"employmentTypes": ["CONTRACT_W2"],"payRate": "USD70 - USD88","description": "job summary:<br /><br /><p>As a Software Engineer, you make direct technical contributions…", // full HTML, trimmed"webURL": "https://www.dice.com/job-detail/e1be0c83-95a9-4c72-af15-457bd41c92ee","remote": false,"apply": {"url": "https://www.randstadusa.com/jobs/4/1339256/software-engineer-i_mountain-view/…","easyApply": false,"applicationMethodName": "APPLY_TO_URL","jobApplyCount": null},"company": {"name": "Randstad Digital","absoluteLogoPath": "https://d3qscgr6xsioh.cloudfront.net/nwd2B9CDT8Oo4K91VMeJ_transformed.png?format=webp","profileUrl": "https://www.dice.com/ee3855f3-d056-5325-bc31-ad5f53052a28"},"position": {"title": "Software Engineer (I)","location": { "city": "Mountain View", "state": "CA", "displayName": "Mountain View, CA, US", "workplaceTypes": ["ONSITE"] }},"basicInfo": { "employerType": "Recruiter", "employmentType": "Contract", "salary": "USD70 - USD88", "easyApply": false }/* …more fields: modifiedDate, deactivationDate, posterId, telecommuteOption, brandMaxInfo… */}
Remote + Easy Apply row (trimmed real row)
{"id": "5c44a28d10f36e0591a7a2fddc3ebd1b","jobUUID": "9a306c41-61ab-4e5c-985b-42082ab248f6","position": { "title": "Sr Software Engineer with Hadoop & AWS" },"company": { "name": "Innovative IT Solutions Inc" },"skills": ["Hadoop", "AWS", "lead", "engineer"],"employmentTypes": ["CONTRACT_W2"],"payRate": "60","remote": true,"apply": { "easyApply": true, "applicationMethodName": "APPLY_TO_EMAIL" },"basicInfo": { "employerType": "Direct Hire" }}
Enrichment columns (shape — added when enrichEmails / qualifyByPayment are on)
{/* …all job fields above, plus: */"contactEmail": "…", // best contact email found on the employer's site ("" if none)"contactWebsite": "…", // discovered employer website"emailEnrichment": { /* detailed discovery trace */ },"takesPayments": true, // qualifyByPayment only"paymentProcessors": ["stripe"],"stripeLiveKey": "pk_live_…", // when publicly exposed on the site"paymentConfidence": "high"}
Key Output Fields
Job Core
id,jobUUID,status,postedDate,modifiedDate,deactivationDate,webURL
Compensation & Terms
payRate,employmentTypes[],willingToSponsor,remote,telecommuteOption,travelRequired
Role & Location
position.title,skills[],description(full HTML)position.location—city,state,country,postalCode,latitude,longitude,displayName,workplaceTypes[]
Apply
apply.easyApply,apply.applicationMethodName(APPLY_TO_URL/APPLY_TO_EMAIL),apply.url,apply.jobApplyCount
Company
company.name,company.absoluteLogoPath,company.profileUrl,company.brandMaxInfo.companyInfobasicInfo.employerType(Recruiter/Direct Hire),basicInfo.summary,basicInfo.salary
Enrichment (opt-in)
contactEmail,contactWebsite,emailEnrichmenttakesPayments,paymentProcessors[],stripeLiveKey,paymentConfidence
What Makes This Richer Than the Competition
The other Dice.com actors on Apify Store return the standard job fields — title, company, salary, description — and stop there. This actor is the only one that turns each posting into a qualified lead and supports scheduled monitoring.
| Capability | shahidirfan · worldunboxer · fatihtahta | This actor |
|---|---|---|
| Job title, company, salary, skills, description | ✅ | ✅ |
Applicant count per job (apply.jobApplyCount) | ❌ | ✅ (when Dice exposes it) |
Employer contact-email enrichment (contactEmail / contactWebsite) | ❌ | ✅ opt-in |
Payment-stack qualification (takesPayments, paymentProcessors, stripeLiveKey) | ❌ | ✅ opt-in |
| Monitoring mode — reruns emit only never-seen jobs | ❌ | ✅ per-user KV dedup |
Full company profile — branding assets, recruiter vs direct, willingToSponsor, modifiedDate | partial | ✅ complete |
If you only need a flat list of postings, any of these actors works. If you need to reach the employer, score the lead, or track what's new, this is the only Dice actor that does it.
FAQ
Which Dice URLs are supported?
Job search URLs (dice.com/jobs?q=…, with any filters applied in your browser) and job-detail URLs (dice.com/job-detail/{uuid}). Login-gated pages, other DHI boards, and shortened URLs are not supported.
Do I need a URL at all?
No. Set keyword (plus optional location, workplaceType, employmentType, postedDate, easyApply, willingToSponsor, employerType, radius/geo fields) and the actor builds the search URL. If startUrls is non-empty, it takes priority and the filter fields are ignored.
What exactly does monitoring mode do?
With monitoringMode: true, every job is checked against a per-user key-value store of previously seen jobs; only never-seen jobs are fetched and saved. That's why a monitored rerun can return 4 rows while the Dice site shows 35 — the other 31 were captured earlier. Turn it off for a full scrape matching the Dice UI count.
How does email enrichment work, and is it guaranteed?
It's best-effort. Dice only links to the company's Dice profile, so the actor discovers the employer's real website by name, then reads its contact/about pages for an email. Rows get contactEmail (may be empty), contactWebsite, and a detailed emailEnrichment object. Enrichment never blocks a row — jobs without a discoverable site still come through.
What is payment qualification for?
Lead scoring. With qualifyByPayment: true (requires enrichEmails), the pages already fetched for email discovery are scanned for payment processors and e-commerce platforms — Stripe, Shopify, PayPal, Paddle, Lemon Squeezy, WooCommerce, Square, Chargebee and more. You get takesPayments, paymentProcessors, stripeLiveKey (if publicly exposed), and paymentConfidence — useful for separating real paying businesses from shell listings.
Are applicant counts always filled?
No. apply.jobApplyCount is captured whenever Dice's API exposes it, but Dice frequently returns null — treat it as a bonus signal, not a guaranteed field.
Can I scrape candidate profiles or anything behind login?
No. The actor only accesses publicly available job and search pages. Candidate data, applications, and employer dashboards are out of scope.
Is there a free tier limit?
Yes — runs on non-paying Apify accounts are capped at 100 jobs and monitoring mode is disabled. Paid accounts get the full maxItems (default 1000) and all features.
What about proxies and rate limits?
The default configuration (Apify Residential) works out of the box. The actor uses plain HTTP requests plus Dice's mobile detail API — no browser — so runs are fast and light on memory.
Support
Found a bug or have a feature request? Open an issue on the actor's Issues tab or email me at muhameddidovic@gmail.com.
Additional Services
Need a custom export shape, extra fields, other job boards, or scheduled delivery to your CRM/Sheets? I do tailored work — drop me a line at muhameddidovic@gmail.com.
Explore More Scrapers
If you found this useful, you might also like:
- Indeed Jobs Scraper — Indeed jobs by keyword or URL, no login, with employer emails
- Glassdoor Scraper — jobs, reviews, and salaries with anti-bot handled
- StepStone Job Scraper — DACH + EU jobs by keyword/URL with emails
- LinkedIn Jobs Scraper — LinkedIn job listings, no cookies or login
- Monster Scraper — Monster.com search + details with emails
Full list at apify.com/memo23.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/apify-dice-scraper).
Purpose: scrapes Dice.com tech-job postings into one row per job, with optional employer contact-email enrichment and payment-stack lead qualification no competing Dice actor provides.
Minimal input:
{ "keyword": "software engineer", "location": "United States", "maxItems": 25 }
Output: one dataset row per job — id, jobUUID, status, postedDate, payRate, skills[], employmentTypes[], willingToSponsor, remote, description (HTML), webURL, apply {easyApply, applicationMethodName, url, jobApplyCount}, company {name, absoluteLogoPath, profileUrl, brandMaxInfo}, position {title, location {city, state, displayName, workplaceTypes}}, basicInfo {employerType, salary, summary}; plus opt-in contactEmail, contactWebsite, emailEnrichment, takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence.
Behaviors an agent should know:
- Always set
maxItems; the default is 1000 and a broad keyword can hit it. startUrls(full dice.com search or job-detail URLs) overrideskeyword+ filter fields when non-empty.monitoringMode: truekeeps per-user seen-job state in a key-value store; reruns emit only new jobs.enrichEmailsadds employer email/website columns (best-effort, may be empty);qualifyByPaymentrequiresenrichEmailsand adds payment-stack fields at no extra charge.- Billing is a flat monthly rental with a free trial; there is no per-row charge. Non-paying Apify accounts are capped at 100 rows per run and cannot use monitoring mode.
- Public data only — no candidate profiles or login-gated pages; only
dice.comURLs are accepted.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by DHI Group, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available job-listing pages — no authenticated endpoints, paid features, or content behind the dice.com login wall. Users are responsible for ensuring their use complies with dice.com's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.
SEO Keywords
dice scraper, scrape dice.com, dice.com API, dice jobs scraper, dice job listings export, tech jobs scraper, IT jobs data, job board scraper, job postings API, tech recruiting data, recruiter lead generation, employer contact emails, hiring companies leads, salary benchmark data, job market analysis, visa sponsorship jobs data, remote tech jobs data, job posting monitoring, staffing agency data, tech talent intelligence, Apify dice scraper, dice.com JSON export, dice.com CSV export