Dice.com Jobs Scraper — Tech Hiring Feed
Pricing
from $1.25 / 1,000 job scrapeds
Dice.com Jobs Scraper — Tech Hiring Feed
Search public Dice.com technology jobs. Get normalized titles, employers, locations, salary ranges, work settings, dates, descriptions, and direct job URLs for recruiting and job-market research.
Pricing
from $1.25 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
What is Dice.com Jobs Scraper — Tech Hiring Feed?
Dice.com Jobs Scraper searches public Dice.com technology job listings and returns a normalized dataset with one row per job. Each row has the job title, employer, location, workplace type, employment type, published salary range with numeric min and max, description, Easy Apply and sponsorship flags, Dice job URL and collection time. Tech recruiters, staffing agencies, compensation analysts, job-market researchers and AI agents use it to track who is hiring for which skills, at what pay, and under which work arrangements.
Why teams use it
- Dice's own filters.
postedWithin,workplaceTypes,employmentTypes,easyApplyOnlyandwillingToSponsormap to Dice's public search filters. - Salary as numbers.
USD 80,000.00 - 190,000.00 per yearbecomessalaryMin,salaryMaxandsalaryCurrency. - Sponsorship signal.
willingToSponsorshows which listings Dice marks as open to sponsoring work authorization. - Two depths. Full detail pages by default, or a faster card-level feed with
includeJobDetails: false. - Agent-sized descriptions.
responseFormat: "concise"keeps text compact;detailedreturns the longer description.
Best fit for this Actor
- Designed for public Dice.com job search, from a role or skill keyword to an existing Dice search URL.
- Best fit for tech recruiting intelligence, contract-market research, salary benchmarking and sponsorship-friendly job lists.
- To cover startup and tech-company roles on another board, use Built In Jobs Scraper with the same keyword and merge the datasets.
- When you want the same search on LinkedIn, continue with LinkedIn Jobs Scraper and compare salary coverage across boards.
Example workflow: a weekly contract-rate tracker
A staffing agency's account manager tracks contract rates for data engineers. She starts with searchQuery: "data engineer", location: "Remote", employmentTypes: ["Contract"], postedWithin: "7days" and maxResults at 100. The dataset returns each listing's employer, salary range, workplace type and sponsorship flag. She compares the median salaryMin and salaryMax with the rates her agency quotes, then schedules the run every Monday and feeds the export into a rate-card dashboard her recruiters check before client calls.
Input
{"searchQuery": "data engineer","location": "Remote","workplaceTypes": ["Remote"],"employmentTypes": ["Contract"],"postedWithin": "7days","easyApplyOnly": false,"willingToSponsor": false,"maxResults": 10,"includeJobDetails": true,"responseFormat": "concise"}
| Field | Type | What it controls |
|---|---|---|
searchQuery | string | Role, skill or company phrase. Default software engineer. |
location | string | City, state or Remote. Default Remote. |
startUrls | array | Existing Dice search-results or job-detail URLs to scrape exactly. |
maxResults | integer | Jobs returned and billed, 1 to 100. Default 10. |
postedWithin | string | any (default), today, 3days or 7days. |
workplaceTypes | array | Any of Remote, Hybrid, On-Site. |
employmentTypes | array | Any of Full-time, Part-time, Contract, Third Party. |
easyApplyOnly | boolean | Only listings labeled Easy Apply. Default false. |
willingToSponsor | boolean | Only listings marked willing to sponsor. Default false. |
includeJobDetails | boolean | Visit each detail page for the fuller description. Default true. |
responseFormat | string | concise (default) or detailed description length. |
Output
One dataset row per job.
| Field | What it contains |
|---|---|
jobId, title, companyName | Dice job ID, role title and employer |
location | Location text as shown on the listing |
workplaceType, employmentType | On-Site, Hybrid or Remote, and the employment type when shown |
salaryText, salaryMin, salaryMax, salaryCurrency | Published pay text and parsed numbers |
description | Job description, length set by responseFormat |
postedAt | Posting date when Dice exposes one |
easyApply, willingToSponsor | Easy Apply and sponsorship flags |
jobUrl, applyUrl | Dice listing URL and external apply link when shown |
scrapedAt, source | Collection time and source site |
{"jobId": "c267e627-504f-412f-b8e8-cc8a387b525d","title": "Radar Software Engineer","companyName": "FishEye Software","location": "Maynard, Massachusetts • Today","workplaceType": "On-Site","employmentType": null,"salaryText": "USD 80,000.00 - 190,000.00 per year","salaryMin": 80000,"salaryMax": 190000,"salaryCurrency": "USD","description": "FishEye Software is seeking a Radar Systems Engineer to develop, integrate, and enhance advanced radar capabilities for mission-critical applications.","postedAt": null,"easyApply": false,"willingToSponsor": false,"jobUrl": "https://www.dice.com/job-detail/c267e627-504f-412f-b8e8-cc8a387b525d","applyUrl": null,"scrapedAt": "2026-10-01T01:43:14.771Z","source": "dice.com"}
Each run also writes OUTPUT and RUN_SUMMARY to the default key-value store; a valid search with no matching jobs ends as VALID_EMPTY.
Pricing
This Actor uses Pay per event with Apify platform usage included in the event price. The events are:
- Actor Start, once per run.
- Job scraped, once for each complete, validated job row saved to the dataset.
Worked example: a data engineer search with maxResults set to 50 that saves 50 jobs costs one Actor Start event plus 50 Job scraped events. maxResults caps the job charges for every run. Check the live Pricing tab on this page for current event prices.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~dice-com-jobs-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery": "python developer", "location": "Austin, TX", "maxResults": 20}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("khadinakbar/dice-com-jobs-scraper").call(run_input={"searchQuery": "devops engineer", "location": "Remote", "willingToSponsor": True, "maxResults": 25})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["companyName"], job["title"], job["salaryMin"], job["salaryMax"], job["jobUrl"])
Use it with AI agents (MCP)
Connect the Actor to Claude, ChatGPT, Cursor or another MCP client through Apify MCP, then ask:
Find 20 remote Python developer jobs on Dice posted in the last 3 days that are willing to sponsor. Return employer, title, salary range and job link, and tell me the salary spread.
The agent reads job rows with get-dataset-items, can cite jobUrl and scrapedAt as provenance, and checks OUTPUT for the run outcome. maxResults caps both the dataset and the cost.
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| A saved Dice search | Paste its URL into startUrls | Exactly the results you see on Dice |
| Contract-market research | Set employmentTypes to ["Contract"] | Contract roles only |
| Visa-sponsorship lists | Turn on willingToSponsor | Listings marked open to sponsorship |
| Fresh openings | Set postedWithin to today or 3days | Recently posted roles |
| A quick scan of many roles | Set includeJobDetails to false | A faster card-level feed |
Builder's note
I built this for recruiters and analysts who watch the tech job market week after week, so every row uses the same normalized fields whatever the listing looks like. I designed the filters to mirror Dice's own public search options, including sponsorship and Easy Apply, because I found those are the questions tech recruiters ask first. Salary text is parsed into numbers on every row that publishes pay, which makes rate comparisons a one-line calculation.
FAQ
Does it apply to jobs or contact recruiters?
No. It reads public Dice listings and returns links; applying stays with you.
Can I filter by contract or full-time roles?
Yes. Set employmentTypes to any mix of Full-time, Part-time, Contract and Third Party.
Why do some rows have no salary?
Salary fields fill when the employer publishes pay on Dice.
Responsible use
This Actor reads public Dice.com job listings only and uses no login. Use the data in line with Dice's terms, applicable laws and your own data-retention policies. Dice is a trademark of its owner, and this independent Actor is not affiliated with or endorsed by Dice. For questions, open a ticket in the Issues tab.