Jobs · Lead generation
Dice Tech Jobs Scraper
Scrape tech job postings from Dice.com — filter by keyword, location and radius, skill, or employment type. Get one normalized row per job with title, company, location, employment type, and optional skill tags, ready for CSV, JSON, or API export.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
Dice is a dedicated tech-job board listing developer, DevOps, data, and IT-contract roles that general job boards often miss. This Actor searches Dice's own listings and writes one structured row per posting: title, company, location, employment type, a remote flag, and (optionally) the skill tags Dice attaches to each role. Filter by keyword, location + radius, skill, or employment type — or leave everything blank to pull the newest postings site-wide.
What we handle for you
- 🛡️ We rotate browser fingerprints —
curl-cffiimpersonation (Chrome / Firefox / Safari) so the target sees real-browser TLS, not Python. - 🌐 We rotate residential proxies through Apify Proxy on every block — fresh session ID, fresh exit IP.
- 🔁 We retry with exponential backoff on
408 / 429 / 5xxand honourRetry-After— up to 5 attempts per page. - 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
- 🧊 We keep the dataset clean — Pydantic-validated rows, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
Use cases
- Tech recruiting pipelines — pull fresh Dice postings that match a role profile into your ATS or sourcing sheet.
- Market-rate research — aggregate published salary/rate text by skill and location to benchmark comp bands.
- Contract/DevOps sourcing — filter by Employment type to isolate Contract and Third Party roles Dice specializes in.
- Remote-role monitoring — track newly posted remote tech jobs across a keyword or skill on a schedule.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
keyword | string | no | Free-text search term matched against job titles and descriptions. Leave empty to browse all postings. |
location | string | no | City, state, or ZIP to center the search on, e.g. 'Austin, TX'. Leave empty to search nationwide. |
skill | string | no | Single skill or technology to filter by, e.g. 'Kubernetes'. Leave empty to skip skill filtering. |
radius | integer | no | Search radius in miles around Location. Ignored when Location is empty. |
includeRemote | boolean | no | Include postings Dice tags as remote-eligible in addition to the Location + Radius match. |
employmentType | string | no | Filter by employment type. Leave empty to include all types. |
fetchSkills | boolean | no | When enabled, fetch each job's full skill-tag list from its detail page. Adds one extra request per job. |
maxResults | integer | no | Hard cap on dataset rows for this run. |
{
"keyword": "python developer",
"location": "Austin, TX",
"radius": 30,
"includeRemote": true,
"maxResults": 3,
"proxyConfiguration": {
"useApifyProxy": true
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
job_idtitlecompanylocation_displayis_remoteworkplace_typessalary_textemployment_typeemployer_typeeasy_applyposted_datemodified_datesummaryapply_urlskillsdescription_full
{
"job_id": "b4b1e2f7c9",
"title": "Senior Python Developer",
"company": "Example Tech Inc.",
"location_display": "Austin, TX",
"is_remote": true,
"workplace_types": [
"On-Site"
],
"employment_type": "Full-time",
"employer_type": "Direct Hire",
"easy_apply": true,
"skills": [
"Python",
"Django",
"AWS"
],
"posted_date": "2026-07-30T00:00:00+00:00",
"salary_text": "$120,000 - $150,000",
"apply_url": "https://www.dice.com/job-detail/b4b1e2f7c9",
"scraped_at": "2026-08-01T14:00:00+00:00"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Result emitted | $0.0008 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
FAQ
Do I need a Dice account or API key?
What happens if I leave every filter blank?
Does skills always populate?
Why is salary_text sometimes null?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors