A production-ready job scraping tool that collects detailed job listings from Dice.com with precision and scale. It helps recruiters, analysts, and developers access structured tech job data for research, hiring insights, and automation workflows.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for dice-com-full-job-scraper you've just found your team — Let’s Chat. 👆👆
This project extracts job listings from Dice.com based on flexible search criteria like keywords, locations, and job attributes. It solves the problem of manually collecting and organizing job market data by delivering clean, structured results at scale. It’s built for developers, data teams, recruiters, and market researchers who need reliable job data.
- Supports keyword and location-based job discovery
- Applies multiple job-type and workplace filters
- Handles dynamic pagination seamlessly
- Produces structured, analysis-ready datasets
| Feature | Description |
|---|---|
| Keyword Search | Find jobs using custom keyword queries. |
| Location Filtering | Target jobs by city, state, or region. |
| Job Type Filters | Supports full-time, part-time, contract, and more. |
| Workplace Modes | Extracts on-site, remote, and hybrid jobs. |
| Pagination Handling | Navigates JavaScript-driven result pages reliably. |
| Result Limiting | Controls scrape size to optimize performance. |
| Field Name | Field Description |
|---|---|
| id | Unique job identifier. |
| title | Job title as listed. |
| jobLocation | Structured job location details. |
| postedDate | Date the job was posted. |
| detailsPageUrl | Direct link to the job description. |
| companyPageUrl | Link to the company profile. |
| companyName | Hiring company name. |
| salary | Salary or compensation range if available. |
| employmentType | Full-time, part-time, or contract type. |
| summary | Short job description summary. |
| easyApply | Indicates quick-apply availability. |
| willingToSponsor | Indicates visa sponsorship availability. |
| isRemote | Remote job indicator. |
| modifiedDate | Last updated timestamp. |
[
{
"id": "12345",
"title": "Senior Software Engineer",
"jobLocation": {
"city": "New York",
"state": "NY",
"country": "US"
},
"postedDate": "2024-01-12T00:00:00Z",
"detailsPageUrl": "https://dice.com/job-detail/12345",
"companyName": "Tech Solutions Inc.",
"salary": "$120,000 - $150,000",
"employmentType": "Full-time",
"easyApply": true,
"isRemote": false
}
]
🔥Dice.com FULL Job Scraper🔥/
├── src/
│ ├── index.js
│ ├── crawler/
│ │ ├── jobCrawler.js
│ │ └── pagination.js
│ ├── extractors/
│ │ └── jobParser.js
│ ├── filters/
│ │ └── jobFilters.js
│ └── utils/
│ └── helpers.js
├── data/
│ └── sample-output.json
├── package.json
├── package-lock.json
└── README.md
- Recruiters use it to track open tech roles, so they can spot hiring trends faster.
- Market analysts use it to study job demand, so they can produce accurate labor reports.
- Developers use it to feed job data into apps, so they can build career platforms.
- Staffing agencies use it to monitor competitors’ listings, so they stay competitive.
Can I run searches without keywords or location? Yes. If both are omitted, the scraper performs a general job search across Dice.com.
How do I control how many jobs are collected? Use the limit parameter to cap the number of listings and manage runtime.
Does it support remote-only jobs? Yes. Remote, on-site, and hybrid roles can be filtered independently.
Will it break if the site layout changes? Major site changes may require updates, but the scraper is designed to be resilient to minor UI updates.
Primary Metric: Averages 25–35 job listings per minute under standard filters.
Reliability Metric: Maintains over 97% successful extraction rate across multi-page searches.
Efficiency Metric: Optimized request flow minimizes redundant page loads and resource usage.
Quality Metric: Delivers consistently complete records with high field accuracy across listings.
