Dice Jobs Scraper - $0.90 per 1,000, No Login
Pricing
from $0.90 / 1,000 dice jobs
Dice Jobs Scraper - $0.90 per 1,000, No Login
Dice's filters want Dice's own tokens, not the labels on its cards. Ask for "Full-time" and zero jobs come back; this translates. Per job: title, company, location, employment type, workplace type, posting age, apply URL, id. $0.90 per 1,000 jobs plus $0.001 per run start.
Pricing
from $0.90 / 1,000 dice jobs
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Dice Jobs Scraper
Dice's search filters want Dice's own tokens, not the labels it prints on the cards. Ask its employment filter for Full-time and you get a page with zero jobs on it; ask for FULLTIME and the jobs come back. This actor takes either spelling and sends the one Dice accepts.
Dice.com is a US tech job board. The actor searches it and writes one row per job: title, company, location, employment type, workplace type, posting age, apply URL and job id. The full public description comes too, if you switch it on.
Nothing to sign into and no key to get.
What you get
{"source": "dice","jobId": "c82f6786-9c23-4b87-9645-7ae12f9ca251","title": "Python Developer","company": "Randstad Digital","location": "Pennsylvania","workplaceType": null,"employmentType": "Contract","postedAt": "Today","description": null,"url": "https://www.dice.com/job-detail/c82f6786-9c23-4b87-9645-7ae12f9ca251","searchQuery": "python developer","searchLocation": null}
description is null unless you ask for it
That row above has description: null, and that is the default behaviour, not a bug.
The search results page doesn't carry descriptions. Getting them means opening each job's own page, so it's behind includeDetails, which is off by default. Set includeDetails: true and you get the full public description text. The run takes longer because it's one extra request per job. The price per job doesn't change.
If you're building a job board feed you probably want it on. If you're counting hiring volume by company, leave it off and the run finishes in a fraction of the time.
postedAt is Dice's own display string — "Today", "3 days ago" — not a date. workplaceType is null when the listing doesn't declare remote, hybrid or on-site.
Input
{"searchQueries": ["python developer", "site reliability engineer"],"locations": ["New York, NY", "Remote"],"postedDate": "7d","workplaceType": "remote","maxItems": 500,"includeDetails": true}
Or go straight at known jobs, skipping search entirely:
{"jobUrls": ["https://www.dice.com/job-detail/c82f6786-9c23-4b87-9645-7ae12f9ca251"],"includeDetails": true}
searchQueries— keywords or job titles. Every query runs against every location.locations— cities, states, countries, orRemote.jobUrls/jobIds— collect specific jobs directly.postedDate—any,today,3d,7d,30d.workplaceType—any,remote,hybrid,onsite.employmentTypes— Dice's own values areFULLTIME,PARTTIME,CONTRACTS,THIRD_PARTY, but everyday labels like"Full-time","contract"and"corp-to-corp"are accepted and translated for you.easyApply— only jobs marked for easy application.maxItems— unique jobs across the whole run. Default 100, ceiling 1,000.maxPagesPerSearch— default 5, ceiling 25. Raise it if a broad query is being cut short beforemaxItems.
Limits
- Dice is US tech jobs. That's the whole site. It isn't a general job board and it isn't international.
- 1,000 jobs per run, and
maxPagesPerSearchcan stop a search before that. If you're getting fewer results than expected on a broad keyword, raise the pages before raising anything else. - Results are deduplicated by job id across all your queries, so overlapping searches don't bill twice.
postedAtis a display string, not a timestamp.descriptionis null unlessincludeDetailsis on.- Reposted jobs are common on Dice. The same role from the same staffing agency can appear under different ids, and deduplication can't catch that because Dice treats them as different listings.
Proxy
The run goes direct first and only falls back to a proxy after a block or rate limit. maxProxyRetries defaults to 2.
Apify proxy groups here are limited to rotating datacenter. If you request RESIDENTIAL or GOOGLE_SERP it's swapped for datacenter, because this actor doesn't offer metered proxy groups and silently billing you for bandwidth would be a nasty surprise. Your own proxyUrls are used exactly as given.
Billing
$0.90 per 1,000 jobs, plus a $0.001 run-start fee. Flat on every plan.
Charged per real, deduplicated job. Sample rows, diagnostic rows and duplicates aren't charged. Turning on includeDetails costs you time, not money.
maxItems caps your spend: a full 1,000-job run is 90 cents plus the start fee.