Dice Technology Jobs Scraper
Pricing
from $2.99 / 1,000 dice tech job records
Dice Technology Jobs Scraper
Discover and detail-enrich public Dice technology jobs with a lightweight HTTP pipeline.
Pricing
from $2.99 / 1,000 dice tech job records
Rating
0.0
(0)
Developer
Jobs API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Dice Technology Jobs Search Scraper
This Apify Actor uses ordinary direct HTTP requests to discover public Dice job cards and enrich each selected row from its canonical public detail page and JobPosting JSON-LD. It emits source-grounded technology-job records with Dice identity, employer, location, applicant-location requirements, employment and workplace labels, skills and badges, salary, dates, legal IDs, description HTML/text and sections, application URL, listing/detail receipts, and runtime provenance.
The source is accessed sequentially with no proxy, custom user-agent, stealth or fingerprint changes, login, alternate identity, or retries. Complete records are staged until source access checks finish. A confirmed access barrier discards staged rows; a later non-block failure preserves successfully written rows and reports a limited result.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | request-list array | https://www.dice.com/jobs | One to three public HTTPS Dice search URLs. |
maxPages | integer | 1 | Pages per seed URL, from 1 through 5. |
maxItems | integer | 3 | Complete details to emit, from 1 through 50. |
No retry, timeout, proxy, user-agent, fixture, or debug controls are exposed in the public input schema.
Example:
{"startUrls": [{ "url": "https://www.dice.com/jobs" }],"maxPages": 1,"maxItems": 3}
Dataset fields
The strict target-specific dataset schema retains the existing jobId, title, company, location, description, descriptionHtml, datePosted, validThrough, salary, applicationUrl, url, and structuredJobPosting fields, plus richer fields including:
diceJobId,diceId,positionId,employerName,companyProfileUrl,companyLogoUrl,companyBannerUrl,companyDescription, andcompanySocialLinks;locationDetails,locality,region,postalCode,country,applicantLocationRequirements,employmentType,employmentTypes,employmentTypeLabel,workplaceType, andworkRemoteAllowed;skills,badges,salaryText,salaryCurrency,salaryMin,salaryMax,salaryUnit,datePostedLabel,postedLabel, andupdatedLabel;descriptionText,descriptionTextLength,descriptionSections,descriptionSectionLabels,applicationLabel,canonicalUrl,detailUrl,jobUrl,listingUrl, andcanonicalVerified;listing,listingReceipt,detailReceipt,requestReceipts,fieldCoverage,dataQuality,sourceDomain,sourceWebsite,accessMode,proxyUsed,fingerprintingUsed,localOnly,runtime, andscrapedAt.
Historical Chrome comparison (2026-09-22; not rechecked during the current lifecycle-only update) produced this representative record: Senior AI Platform Architect, Northwestern University, Evanston, IL, Full Time, On-site, $125,220 - $165,000/yr, Dice ID grayblok, Position ID 54387, and seven visible skills. The full description and structured source payload were retained in the historical dataset; the following is an output excerpt.
{"recordType": "job","recordStatus": "complete","jobId": "9d817212-ae6f-470c-b346-770a68bab2eb","diceJobId": "9d817212-ae6f-470c-b346-770a68bab2eb","diceId": "grayblok","positionId": "54387","title": "Senior AI Platform Architect","company": "Northwestern University","employerName": "Northwestern University","location": "Evanston, IL, 60201, US","employmentType": "FULL_TIME","employmentTypeLabel": "Full Time","workplaceType": "On-site","skills": ["Enterprise IT", "AI", "Microsoft 365", "Entra ID", "Graph API", "Microsoft 365 Copilot", "AI governance frameworks"],"salary": {"text": "$125,220 - $165,000/yr","currency": "USD","min": 125220,"max": 165000,"unit": "YEAR","source": "structured JobPosting"},"datePosted": "2026-09-21T14:03:11.000Z","descriptionSectionLabels": ["overview", "jobSummary", "specificResponsibilities", "miscellaneous", "minimumQualifications", "preferredQualifications", "benefits", "workLifeAndWellness"],"applicationUrl": "https://www.dice.com/dashboard/login?redirectUrl=%2Fjob-applications%2F9d817212-ae6f-470c-b346-770a68bab2eb%2Fstart-apply","canonicalUrl": "https://www.dice.com/job-detail/9d817212-ae6f-470c-b346-770a68bab2eb","canonicalVerified": true,"source": "dice.com","sourceDomain": "dice.com","accessMode": "direct","proxyUsed": false,"fingerprintingUsed": false,"localOnly": true,"detailVerified": true}
Access barriers and validation
Platform run status is only SUCCEEDED or FAILED; dataset outcome is reported separately as resultStatus: COMPLETE, LIMITED, SKIPPED, DEFERRED, NO_DATA, or FAILED. A clean extraction that stores the requested complete rows is SUCCEEDED / COMPLETE; stored rows followed by later errors are SUCCEEDED / LIMITED; fatal zero-row input, runtime, Dataset, or finalization failures are FAILED / FAILED. Ambiguous zero-row results—including unrecognized empty listings and cases where no complete detail row can be verified—remain SUCCEEDED / DEFERRED, not fatal failures. The count advances only after Actor.pushData() resolves. Diagnostics and request receipts are kept in Key-Value Store artifacts, never as Dataset rows.
If Dice returns HTTP 401, 403, 429, or 451, or visibly serves a CAPTCHA, verification, or access-denial challenge, the Actor stops requests, discards unpersisted staged rows, and records SUCCEEDED / SKIPPED with the evidence and receipts. If a future execution path has already persisted eligible rows before a confirmed barrier, retain those rows and report SUCCEEDED / LIMITED. HTTP 407, other unsuccessful HTTP responses, and unverified transport errors are DEFERRED, not site blocks. No retry, alternate route, identity switch, or access-control bypass is attempted. NO_DATA is emitted only when every requested search returned HTTP 200 and visible Dice empty-results text; the bounded matched excerpt and per-page receipts are recorded in OUTPUT.noDataEvidence. Missing or unrecognized empty output is DEFERRED. When Chrome control is unavailable, do not claim a current source comparison from offline checks; record source behavior as unverified rather than substituting another browser or route.
Safe offline checks from this directory:
npm testnpm run lintapify validate-schema
npm run validate:dataset is a separate storage-backed validator: it reads Dataset and Key-Value Store files from the selected local Apify storage directory. It was not run in this lifecycle audit. Run it only when local-storage validation is explicitly in scope and the exact storage directory has been reviewed; never use --purge on an existing store.