# Dice Tech Job Listings Scraper (`scrapers_lat/dice-jobs-scraper`) Actor

Extract public Dice.com tech job postings by keyword and location: title, company, location, salary, employment type, posted date, skills and full description.

- **URL**: https://apify.com/scrapers\_lat/dice-jobs-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Jobs, Business, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![Dice Tech Job Listings Scraper](https://scrapers.lat/banners/dice-jobs-scraper.png)](https://console.apify.com/actors/N8WrxYOyftyn7mher/input)
<!-- /actor-banner -->

## Dice Jobs Scraper

> Extract public tech job postings from Dice.com by keyword and location, with salary, required skills and full descriptions.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-United%20States-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>20+ fields</strong><br>per record</td>
<td align="center"><strong>United States</strong><br>tech jobs</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-22</td>
</tr></table>

<br>

### What you get

Each record is one public Dice.com job posting matched to your keyword and location search, ready to load into a spreadsheet, a hiring tracker or a talent pipeline.

- **title**: job title
- **company**: hiring company name
- **location**: job location as shown on the posting
- **city / state / country**: parsed location parts
- **remote**: true or false based on the work from home flag, otherwise empty
- **workplaceType**: on-site, remote or hybrid when the posting reports it
- **employmentType**: full-time, part-time, contract or third party
- **employerType**: direct hire, recruiter or staffing firm
- **salary**: pay range as published on the posting
- **easyApply**: whether the role supports Dice Easy Apply
- **willingToSponsor**: whether the employer indicates visa sponsorship
- **postedAt**: date the job was posted in ISO format
- **modifiedAt**: date the job was last updated
- **summary**: short preview text of the role
- **companyLogoUrl**: company logo image
- **jobId**: Dice job posting identifier
- **url**: direct link to the public job posting
- **companyUrl**: link to the company page on Dice
- **description\***: full job description text
- **skills\***: list of required skills tagged on the posting
- **validThrough\***: date the posting expires
- **observedAt**: when this listing was last seen by the scraper

*\*These fields only appear when Fetch Job Details is set to true.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Build a live feed of open tech roles for a niche or city | Tech recruiters and staffing agencies |
| Track which companies are hiring engineers and which stacks they need | Sales and market researchers |
| Aggregate listings into a tech job board or newsletter | Job board and community operators |
| Monitor salary, skills and demand trends over time | Talent and compensation analysts |
| Source leads from companies that are actively hiring developers | B2B and lead generation teams |

### Frequently Asked Questions

**Which locations does this Dice jobs scraper cover?**
Dice is a United States tech job board. You type a keyword such as python developer and an optional city such as Austin, TX, or set the location to Remote to target work from home roles.

**How many job postings can I collect in one run?**
You control the volume with the Max Items setting. The scraper paginates through Dice results automatically, so you can pull anywhere from a handful to thousands of listings depending on how many match your search.

**Can I filter by date posted, remote work or employment type?**
Yes. You can limit results to today, the last 3 days or the last 7 days, restrict to fully remote roles, and target full-time, part-time, contract or third party positions.

**What is the difference between running with and without job details?**
Without details you get the fast listing fields like title, company, location, salary and posted date. With details enabled the scraper opens each posting to add the full description, required skills and posting expiry date.

**What happens when a field is missing on a posting?**
Missing values are returned as empty rather than guessed. For example salary only appears when the employer publishes it, and the remote flag is only set when the posting reports work from home availability.



<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Remote DevOps Engineer Jobs Scraper (US Tech Jobs)](https://apify.com/scrapers_lat/dice-jobs-scraper/examples/cybersecurity-devops-engineer-jobs-usa): Scrape remote DevOps engineer tech jobs data from Dice.com in the US. Collect titles, companies, salaries, locations, skills and apply links as structured JSON.
- [Data Engineer Jobs Scraper in Austin, Texas](https://apify.com/scrapers_lat/dice-jobs-scraper/examples/data-engineer-jobs-austin-texas): Scrape data engineer tech jobs in Austin, Texas from Dice.com. Export job titles, companies, salaries, required skills and apply links as clean JSON or CSV.
- [Remote Python Developer Jobs Scraper (US Tech Jobs)](https://apify.com/scrapers_lat/dice-jobs-scraper/examples/remote-python-developer-jobs-usa): Scrape remote Python developer tech jobs data from Dice.com in the US. Get titles, companies, salaries, locations, skills and apply links as structured JSON.

<!-- /example-tasks -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [LinkedIn Job Listings Scraper](https://apify.com/scrapers_lat/linkedin-jobs-scraper): Extract public LinkedIn job postings by keyword and location worldwide. Scrape job title, company...
- [Workable Job Listings Scraper](https://apify.com/scrapers_lat/workable-scraper): Extract public job listings from any Workable-hosted company careers board by account name or board...
- [Talent.com Job Listings Scraper](https://apify.com/scrapers_lat/talent-jobs-scraper): Extract public Talent.com job listings by keyword, location and country: title, company, salary...
- [Computrabajo Job Listings Scraper](https://apify.com/scrapers_lat/computrabajo-scraper): Extract job listings from Computrabajo across 19 LATAM countries. Scrape titles, companies...
- [GetOnBrd Tech Jobs & Salary Scraper](https://apify.com/scrapers_lat/getonbrd-scraper): Extract LATAM tech jobs and salary data from GetOnBrd. Scrape job title, company, category...
- [Instagram Profile & Posts Scraper](https://apify.com/scrapers_lat/instagram-scraper): Extract public Instagram profiles and recent posts by username without login.

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with Dice or DHI Group. It only accesses data that is publicly available on the platform. Use it in accordance with Dice's terms of service.

# Actor input Schema

## `keyword` (type: `string`):

Job search keyword, for example "python developer", "devops engineer" or "data scientist".
## `location` (type: `string`):

City or location to search in, for example "New York", "Austin, TX" or "Remote". Leave empty to search all of the United States.
## `remote` (type: `boolean`):

When enabled, only fully remote jobs are returned.
## `postedDate` (type: `string`):

Filter by how recently the job was posted.
## `employmentType` (type: `string`):

Filter by the type of employment.
## `maxItems` (type: `integer`):

Maximum number of job postings to collect. Optional.
## `withDetails` (type: `boolean`):

When enabled, the actor opens each job posting to add the full description, required skills and posting expiry date. This is slower but richer.
## `proxyConfiguration` (type: `object`):

Proxy settings. Enabled by default using Apify datacenter proxies for reliability.

## Actor input object example

```json
{
  "keyword": "python developer",
  "location": "Remote",
  "remote": false,
  "postedDate": "",
  "employmentType": "",
  "maxItems": 50,
  "withDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "python developer",
    "location": "Remote",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/dice-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "python developer",
    "location": "Remote",
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/dice-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "python developer",
  "location": "Remote",
  "maxItems": 50
}' |
apify call scrapers_lat/dice-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/dice-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Dice Tech Job Listings Scraper",
        "description": "Extract public Dice.com tech job postings by keyword and location: title, company, location, salary, employment type, posted date, skills and full description.",
        "version": "0.1",
        "x-build-id": "6eGvKxvtcOEaxfWaa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~dice-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-dice-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~dice-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-dice-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~dice-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-dice-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword"
                ],
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Job search keyword, for example \"python developer\", \"devops engineer\" or \"data scientist\"."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or location to search in, for example \"New York\", \"Austin, TX\" or \"Remote\". Leave empty to search all of the United States."
                    },
                    "remote": {
                        "title": "Remote only",
                        "type": "boolean",
                        "description": "When enabled, only fully remote jobs are returned.",
                        "default": false
                    },
                    "postedDate": {
                        "title": "Date Posted",
                        "enum": [
                            "",
                            "ONE",
                            "THREE",
                            "SEVEN"
                        ],
                        "type": "string",
                        "description": "Filter by how recently the job was posted.",
                        "default": ""
                    },
                    "employmentType": {
                        "title": "Employment Type",
                        "enum": [
                            "",
                            "FULLTIME",
                            "PARTTIME",
                            "CONTRACTS",
                            "THIRD_PARTY"
                        ],
                        "type": "string",
                        "description": "Filter by the type of employment.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of job postings to collect. Optional."
                    },
                    "withDetails": {
                        "title": "Fetch Job Details",
                        "type": "boolean",
                        "description": "When enabled, the actor opens each job posting to add the full description, required skills and posting expiry date. This is slower but richer.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Enabled by default using Apify datacenter proxies for reliability.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
