Dice Jobs Scraper | Fast & Reliable avatar

Dice Jobs Scraper | Fast & Reliable

Pricing

from $0.59 / 1,000 standard results

Go to Apify Store
Dice Jobs Scraper | Fast & Reliable

Dice Jobs Scraper | Fast & Reliable

Extract structured Dice job listings with titles, salaries, company data, locations, and hiring signals across US and Canada tech roles. Built for enterprise-grade hiring intelligence, talent market analysis, and automated recruiting or analytics pipelines.

Pricing

from $0.59 / 1,000 standard results

Rating

0.0

(0)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Dice Jobs Scraper

Slug: fatihtahta/dice-jobs-scraper

Overview

Dice Jobs Scraper collects structured job listing data from Dice, including job titles, company details, locations, salary signals, posting timestamps, workplace type, and application-related attributes when available. It supports both direct Dice URLs and search-driven runs so you can collect results in a consistent format across different sourcing workflows. Dice is a widely used technology-focused job marketplace, which makes its listings useful for hiring intelligence, labor market analysis, enrichment, and monitoring. The actor automates repetitive collection work so teams can avoid manual browsing and exports. It is designed to save time while producing reliable, analysis-ready records for downstream use.

Why Use This Actor

  • Market researchers and analysts: Track demand by title, location, employer type, and posting freshness for trend analysis and benchmarking.
  • Product and content teams: Identify hiring themes, emerging skills, and regional demand patterns to inform content plans and roadmap decisions.
  • Developers and data engineers: Feed structured job data into ETL pipelines, internal search tools, dashboards, and reporting workflows.
  • Lead generation and enrichment teams: Find relevant employers, job openings, and company profile signals to support prospecting and record enrichment.
  • Monitoring and competitive intelligence teams: Watch specific searches, locations, or hiring patterns over time and detect changes early.

Input Parameters

Provide any combination of URLs, queries, and filters.

ParameterTypeDescriptionDefault
enrich_databooleanWhen enabled, collect fuller job listing details when available. Leave off for faster, search-results-focused runs.false
queriesstring[]One or more keyword searches such as software engineer, data analyst, or java developer. A separate search is created for each query.
locationstringFocus generated searches on a specific place such as Denver, New York, NY, or Austin, Texas.
radiusstringSearch distance from the selected location. Allowed values: 10 miles, 30 miles, 50 miles, 75 miles.
easyApplybooleanInclude only listings marked as Dice Easy Apply.
work_authorizationbooleanInclude only listings that indicate possible visa sponsorship or work authorization support.
postedDatestringLimit results by recency. Allowed values: Last 7 Days, Last 3 Days, Last 24 hours.
remote_optionsstring[]Filter by workplace arrangement. Allowed values: Remote, Hybrid, On-Site.
employment_typestring[]Filter by employment model. Allowed values: Full time, Part time, Contract, Third Party.
employer_typestring[]Filter by hiring source. Allowed values: Direct hire, Recruiter, Other.
startUrlsstring[]One or more Dice URLs to scrape directly. Each URL can be a search results page, an individual job page, or a mix of both.
limitintegerMaximum number of job records to save per search or start URL. Minimum value: 100.
proxyConfigurationobjectProxy settings for the run. You can keep the default Apify configuration or provide your preferred proxy options.Apify proxy enabled

Example Inputs

Scenario: search-driven run

{
"queries": ["software engineer", "platform engineer"],
"location": "Austin, Texas",
"radius": "30 miles",
"postedDate": "Last 7 Days",
"remote_options": ["Hybrid", "Remote"],
"enrich_data": true,
"limit": 500
}

Scenario: direct URL run

{
"startUrls": [
"https://www.dice.com/jobs?q=data+engineer&location=Chicago%2C+IL",
"https://www.dice.com/job-detail/5667a553-b08d-41ff-a5cf-ba11823a04ca"
],
"employment_type": ["Contract"],
"employer_type": ["Recruiter"],
"postedDate": "Last 3 Days",
"enrich_data": false,
"limit": 300
}

Scenario: filtered lead generation run

{
"queries": ["java developer"],
"location": "New York, NY",
"easyApply": true,
"work_authorization": true,
"remote_options": ["Hybrid"],
"employment_type": ["Full time"],
"postedDate": "Last 24 hours",
"limit": 250
}

Output

6.1 Output destination

The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.

6.2 Record envelope (all items)

The dataset currently emits one record type: job. For downstream normalization, use the following stable envelope values on every job record:

  • type (string, required): Always job.
  • id (string, required): Stable record identifier from identity.record_id.
  • url (string, required): Canonical job URL from source_context.record_url.

Recommended idempotency key: type + ":" + id

Use this key to deduplicate repeated discoveries of the same job and to perform upserts in downstream storage.

6.3 Examples

Example: job (type = "job")

{
"identity": {
"record_id": "5667a553-b08d-41ff-a5cf-ba11823a04ca",
"job_guid": "5667a553-b08d-41ff-a5cf-ba11823a04ca",
"legacy_job_id": "c6defd9ecb045f594eae51b7f1db3873",
"position_id": "8926345",
"recruiter_id": "928a77e3-d81a-4902-94fc-b3c471fc8340",
"correlation_id": "35b16c83-4add-4f4a-8013-707ae6a9f6fb",
"fingerprint": "44c284b42427fbbb8482"
},
"source_context": {
"record_url": "https://www.dice.com/job-detail/5667a553-b08d-41ff-a5cf-ba11823a04ca",
"source_url": "https://www.dice.com/jobs?adminDistrictCode=CA&countryCode=US&filters.easyApply=true&filters.postedDate=ONE&latitude=33.8881489&location=Manhattan+Beach%2C+CA%2C+USA&locationPrecision=City&longitude=-118.4092903&q=software&radius=30",
"seed": {
"id": "2cb8badf45ea",
"type": "query",
"value": "software"
},
"page_index": 1,
"extraction_strategy": "embedded_json",
"source_domain": "dice.com"
},
"content": {
"title": "It Support Technician",
"summary": "IT Support TechnicianIntroduction:The IT Support Technician plays a crucial role in our team by providing technical support and assistance to our employees. This position involves troubleshooting and resolving technical issues to ensure smooth operations within the organization. Responsibilities:Provide technical support to end users on various IT issuesInstall, configure, and troubleshoot hardware and softwareManage and maintain Windows operating systemsAdminister M365 and Azure platformsUtiliz",
"description_text": "IT Support Technician Introduction: The IT Support Technician plays a crucial role in our team by providing technical support and assistance to our employees. This position involves troubleshooting and resolving technical issues to ensure smooth operations within the organization. Responsibilities: Provide technical support to end users on various IT issues Install, configure, and troubleshoot hardware and software Manage and maintain Windows operating systems Administer M365 and Azure platforms Utilize Intune for device management and security Manage and maintain Active Directory Respond to help desk tickets in a timely manner Provide desktop support for hardware and software issues Utilize Servicenow for incident and problem management Requirements: Required Skills: Proficiency in Windows operating systems Experience with M365 and Azure platforms Knowledge of Intune for device management Experience in managing Active Directory Ability to provide help desk support Experience in desktop support for hardware and software Familiarity with Servicenow for incident and problem management Preferred Skills: Certifications in relevant IT fields Experience in network troubleshooting Ability to work well in a team environment Excellent communication skills Strong problem-solving abilities",
"description_html": "<h1>IT Support Technician</h1><h2>Introduction:</h2><p>The IT Support Technician plays a crucial role in our team by providing technical support and assistance to our employees. This position involves troubleshooting and resolving technical issues to ensure smooth operations within the organization.</p><h2>Responsibilities:</h2><ul><li>Provide technical support to end users on various IT issues</li><li>Install, configure, and troubleshoot hardware and software</li><li>Manage and maintain Windows operating systems</li><li>Administer M365 and Azure platforms</li><li>Utilize Intune for device management and security</li><li>Manage and maintain Active Directory</li><li>Respond to help desk tickets in a timely manner</li><li>Provide desktop support for hardware and software issues</li><li>Utilize Servicenow for incident and problem management</li></ul><h2>Requirements:</h2><h3>Required Skills:</h3><ul><li>Proficiency in Windows operating systems</li><li>Experience with M365 and Azure platforms</li><li>Knowledge of Intune for device management</li><li>Experience in managing Active Directory</li><li>Ability to provide help desk support</li><li>Experience in desktop support for hardware and software</li><li>Familiarity with Servicenow for incident and problem management</li></ul><h3>Preferred Skills:</h3><ul><li>Certifications in relevant IT fields</li><li>Experience in network troubleshooting</li><li>Ability to work well in a team environment</li><li>Excellent communication skills</li><li>Strong problem-solving abilities</li></ul>",
"skills": [
"Windows",
"M635",
"Azure",
"Intune",
"Active directory",
"Help desk",
"Desktop support",
"Servicenow"
]
},
"entities": {
"company": {
"name": "Digicomplish Inc",
"id": "91163260",
"profile_url": "https://www.dice.com/company-profile/5bf5524b-c1ca-419e-804c-2382b4cccedf"
}
},
"media": {
"company_logo_url": "https://prod-file-upload-store.s3.amazonaws.com/Monograms/D.png"
},
"location": {
"location_text": "Los Angeles, California, USA",
"formatted_location": "Hybrid in Los Angeles, CA, US",
"locality": "Los Angeles",
"region": "CA",
"postal_code": "90012",
"country": "US",
"applicant_location_country": "USA",
"workplace_types": [
"Hybrid"
]
},
"pricing": {
"salary_text": "35 - 40",
"price_numeric": 35,
"salary_currency": "USD",
"salary_min": 35,
"salary_max": 40
},
"timestamps": {
"posted_at": "2026-03-29T17:30:55+00:00",
"modified_at": "2026-03-29T17:30:55+00:00",
"valid_through": "2026-04-29T17:30:55+00:00"
},
"attributes": {
"employment_type": "Contract",
"employment_type_structured": "CONTRACTOR",
"employer_type": "Direct Hire",
"apply_type": "Internal",
"detail_badges": [
"Contract Independent",
"25% Travel Required",
"Hybrid",
"$$35 - $40/hr"
]
},
"availability": {
"easy_apply": true,
"is_remote": false,
"is_saved": false,
"is_featured": false,
"is_authed_candidate": false
}
}

Field reference

Job fields (type = "job")

  • identity.record_id (string, required): Primary record identifier.
  • identity.job_guid (string, optional): Dice job GUID when available.
  • identity.legacy_job_id (string, optional): Legacy Dice job identifier.
  • identity.position_id (string, optional): Position identifier exposed by the listing.
  • identity.recruiter_id (string, optional): Recruiter identifier when available.
  • identity.correlation_id (string, optional): Correlation identifier from the listing payload.
  • identity.fingerprint (string, required): Stable fingerprint for repeat-detection.
  • source_context.record_url (string, required): Canonical job detail URL.
  • source_context.source_url (string, required): URL where the record was discovered.
  • source_context.seed.id (string, required): Seed identifier for the run input.
  • source_context.seed.type (string, required): Discovery source type, such as query or url.
  • source_context.seed.value (string, required): Original query text or start URL value.
  • source_context.page_index (number, required): Results page number where the record was found.
  • source_context.extraction_strategy (string, required): Extraction mode used for the record.
  • source_context.source_domain (string, required): Source domain for the record.
  • content.title (string, required): Job title.
  • content.summary (string, optional): Short listing summary.
  • content.description_text (string, optional): Plain-text job description.
  • content.description_html (string, optional): HTML version of the description.
  • content.skills (array[string], optional): Skills detected in the listing.
  • entities.company.name (string, optional): Employer or hiring company name.
  • entities.company.id (string, optional): Company identifier when available.
  • entities.company.profile_url (string, optional): Public Dice company profile URL.
  • media.company_logo_url (string, optional): Company logo URL.
  • location.location_text (string, optional): Raw location text.
  • location.formatted_location (string, optional): Human-readable location string.
  • location.locality (string, optional): City or locality.
  • location.region (string, optional): State or region.
  • location.postal_code (string, optional): Postal code.
  • location.country (string, optional): Country code or country name.
  • location.applicant_location_country (string, optional): Applicant location requirement when provided.
  • location.workplace_types (array[string], optional): Workplace modes such as remote, hybrid, or on-site.
  • pricing.salary_text (string, optional): Salary text exactly as normalized from the listing.
  • pricing.price_numeric (number, optional): Numeric salary value when a single comparable figure is available.
  • pricing.currency (string, optional): Currency detected from the listing.
  • pricing.salary_currency (string, optional): Salary currency from detailed job data.
  • pricing.salary_min (number, optional): Minimum salary value when available.
  • pricing.salary_max (number, optional): Maximum salary value when available.
  • timestamps.posted_at (string, optional): Posting timestamp.
  • timestamps.modified_at (string, optional): Last modified timestamp.
  • timestamps.valid_through (string, optional): Listing expiration timestamp.
  • attributes.employment_type (string, optional): Employment label shown on the listing.
  • attributes.employment_type_structured (string, optional): Normalized employment type when available.
  • attributes.employer_type (string, optional): Hiring source label.
  • attributes.apply_type (string, optional): Application method label.
  • attributes.detail_badges (array[string], optional): Additional badges shown on the job detail page.
  • availability.easy_apply (boolean, optional): Whether Dice marks the job as Easy Apply.
  • availability.is_remote (boolean, optional): Whether the listing is marked remote.
  • availability.sponsorship_available (boolean, optional): Whether sponsorship is indicated.
  • availability.is_saved (boolean, optional): Saved status when present in source data.
  • availability.is_featured (boolean, optional): Featured status when present in source data.
  • availability.is_authed_candidate (boolean, optional): Candidate-auth state flag when present.
  • availability.saved_job_ids (array[string], optional): Associated saved job identifiers when available.

Data guarantees & handling

  • Best-effort extraction: fields may vary by region, session, listing availability, and UI experiments.
  • Optional fields: null-check in downstream code.
  • Deduplication: recommend type + ":" + id.

How to Run on Apify

  1. Open the Actor in Apify Console.
  2. Configure your search parameters, such as keywords, location, workplace type, and other optional filters.
  3. Set the maximum number of job records you want to collect.
  4. Click Start and wait for the run to finish.
  5. Download results in JSON, CSV, Excel, or another supported format.

Scheduling & Automation

Scheduling

Automated Data Collection

You can schedule recurring runs to keep your dataset current without manual effort. This is useful for ongoing monitoring, recurring analytics, and regularly refreshed reporting.

  • Navigate to Schedules in Apify Console
  • Create a new schedule (daily, weekly, or custom cron)
  • Configure input parameters
  • Enable notifications for run completion
  • Optional: add webhooks for automated processing

Integration Options

  • Webhooks: Trigger downstream actions when a run completes.
  • Zapier: Connect to 5,000+ apps without coding.
  • Make (Integromat): Build multi-step automation workflows.
  • Google Sheets: Export results to a spreadsheet.
  • Slack/Discord: Receive notifications and summaries.
  • Email: Send automated reports via email.

Performance

  • Small runs (< 1,000 outputs): ~2-3 minutes
  • Medium runs (1,000-5,000 outputs): ~5-15 minutes
  • Large runs (5,000+ outputs): ~15-30 minutes

Execution time varies based on filters, total result volume, and how much information is returned per record.

Compliance & Ethics

Responsible Data Collection

This actor collects publicly available job listing and employer information from https://www.dice.com for legitimate business purposes. Common use cases include labor market research and market analysis, recruiting and talent intelligence, and competitive hiring monitoring. Users are responsible for reviewing their own use of the data and ensuring compliance with applicable laws, regulations, and platform terms. This section is informational and not legal advice.

Best Practices

  • Use collected data in accordance with applicable laws, regulations, and the target site's terms.
  • Respect individual privacy and personal information.
  • Use data responsibly and avoid disruptive or excessive collection.
  • Do not use this actor for spamming, harassment, or other harmful purposes.
  • Follow relevant data protection requirements where applicable, including GDPR and CCPA.

Support

For help, use the Issues section or the actor page in Apify. When reporting a problem, include the input you used with any sensitive values redacted, the run ID, a short note describing expected versus actual behavior, and a small output sample if it helps reproduce the issue.