Dice Jobs Scraper

Scrape public Dice tech jobs by keyword, location, or Dice search URL. Export titles, companies, salaries, work models, descriptions, and links.

Data fields

FieldTypeDescription
idstring | nullValue exported as id.
titlestring | nullValue exported as title.
companyNamestring | nullValue exported as companyName.
companyLogoUrlstring | nullValue exported as companyLogoUrl.
locationstring | nullValue exported as location.
isRemoteboolean | nullValue exported as isRemote.
workplaceTypesarrayValue exported as workplaceTypes.
employmentTypestring | nullValue exported as employmentType.

Input preview

queryJob keywords
locationLocation
radiusSearch radius
radiusUnitRadius unit
maxItemsMaximum jobs
pageSizePage size

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export public Dice tech job listings by keyword, location, or Dice search URL, including job titles, companies, locations, salaries, work models, descriptions, skills, and job links.

Use this Actor when you need a repeatable CSV, JSON, Excel, API, or AI-agent export of Dice job data for recruiting intelligence, hiring-market research, lead generation, or job monitoring.

What Does Dice Jobs Scraper Do?

Dice Jobs Scraper turns Dice search results into a structured dataset.

  • Search by keyword and location: query Dice for roles such as software engineer, Java developer, cybersecurity analyst, data scientist, or cloud architect.
  • Use Dice search URLs: paste one or more Dice /jobs URLs when you already have a filtered search.
  • Collect job details: export titles, companies, locations, salary text, workplace types, posting dates, summaries, and job URLs.
  • Optionally open detail pages: include fuller descriptions and detected skills when you enable includeDetails.
  • Export anywhere: download from Apify as CSV, JSON, Excel, XML, RSS, or connect through the Dataset API.

Input Example

{
  "query": "python developer",
  "location": "Remote",
  "radius": 20,
  "radiusUnit": "mi",
  "maxItems": 20,
  "pageSize": 20,
  "includeDetails": false
}

You can also paste Dice search URLs:

{
  "startUrls": [
    {
      "url": "https://www.dice.com/jobs?q=data%20engineer&location=Remote&radius=20&radiusUnit=mi&page=1&pageSize=20"
    }
  ],
  "maxItems": 50,
  "includeDetails": true
}

Output Example

{
  "id": "123456",
  "title": "Senior Python Developer",
  "companyName": "Example Tech",
  "location": "Remote",
  "isRemote": true,
  "workplaceTypes": ["Remote"],
  "employmentType": "Full-time",
  "postedAt": "2026-07-01T00:00:00.000Z",
  "salary": "$130,000 - $160,000",
  "easyApply": true,
  "detailsPageUrl": "https://www.dice.com/job-detail/example",
  "summary": "Build backend services and data pipelines.",
  "skills": ["Python", "AWS", "SQL"],
  "description": "Full description when includeDetails is enabled.",
  "searchUrl": "https://www.dice.com/jobs?q=python%20developer&location=Remote",
  "scrapedAt": "2026-07-07T10:00:00.000Z"
}

Who Is It For?

User Use case
Recruiters Track available tech roles by skill, company, location, or remote status.
Sales teams Find companies actively hiring for technologies related to your product.
Market researchers Monitor salary text, work models, and demand by technology.
Job boards Build repeatable exports of Dice listings for analysis or enrichment.
AI agents Run Dice searches through Apify API or MCP and summarize hiring patterns.

Input settings

Setting JSON key Type / default Description
Job keywords query string, default "software engineer" Keywords to search on Dice, such as a job title, skill, or technology.
Location location string, default "Remote" Dice location text, for example Remote, New York, Austin, or United States.
Search radius radius integer, default 20 Distance around the location to search.
Radius unit radiusUnit string, default "mi" Unit for the search radius.
Maximum jobs maxItems integer, default 20 Maximum number of job listings to save.
Page size pageSize integer, default 20 Dice results to request per search page.
Open detail pages includeDetails boolean, default false Fetch each job detail page to add a fuller description and detected skills. Leave off for faster runs.
Dice search URLs startUrls array, default [{"url":"https://www.dice.com/jobs?q=data%20engineer&location=Remote&radius=20&radiusUnit=mi&page=1&pageSize=20"}] Optional Dice /jobs search URLs. If provided, these override keyword and location fields.
Proxy configuration proxyConfiguration object, default {"useApifyProxy":false} Optional Apify proxy settings. Datacenter/automatic proxy is usually enough for small public Dice searches.

Tips For Better Results

  • Start small: test with maxItems set to 10-20 before scheduling larger runs.
  • Use specific keywords: python developer, data engineer, or cloud architect usually produces cleaner data than broad words.
  • Turn on details only when needed: includeDetails gives richer descriptions and skills but opens more pages.
  • Use start URLs for complex searches: configure filters on Dice, copy the search URL, and paste it into startUrls.
  • Expect missing salaries: many Dice listings do not publish salary text.

API usage

Run Dice Jobs Scraper from your own code with the Apify API.

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "query": "software engineer",
  "location": "Remote",
  "radius": 20,
  "radiusUnit": "mi",
  "maxItems": 20
};

const run = await client.actor('fetch_cat/dice-jobs-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/dice-jobs-scraper").call(run_input={
  "query": "software engineer",
  "location": "Remote",
  "radius": 20,
  "radiusUnit": "mi",
  "maxItems": 20
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~dice-jobs-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"software engineer","location":"Remote","radius":20,"radiusUnit":"mi","maxItems":20}'

Use with AI agents via MCP

Dice Jobs Scraper can be used by AI assistants through the hosted Apify MCP server.

Claude Code setup

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/dice-jobs-scraper"

Claude Desktop, Cursor, or VS Code JSON config

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=fetch_cat/dice-jobs-scraper"
    }
  }
}

Example prompts

  • "Run Dice Jobs Scraper with this input JSON and summarize the dataset."
  • "Export the latest Dice Jobs Scraper results to a table I can review."
  • "Schedule this Actor for monitoring and tell me what changed between runs."

Limits And Notes

  • The Actor extracts public Dice data; it does not bypass login-only or private content.
  • Dice may omit salary, skills, employer type, or full description for some listings.
  • Larger runs and includeDetails can take longer because more pages are requested.
  • Search result counts can change quickly as Dice updates its listings.

Support

Report bugs, wrong output, blocked runs, or missing fields from the Actor page. Include the Apify run ID or run URL, your input JSON, what you expected, what the Actor returned, and one reproducible public URL so the issue can be tested quickly.

Common questions

Questions and answers reused from the canonical actor README.

Can I export Dice jobs to CSV or Excel?

Yes. After a run, open the dataset on Apify and export it as CSV, Excel, JSON, XML, or RSS.

Can I monitor Dice jobs on a schedule?

Yes. Create an Apify schedule with the same input to run the Actor daily, weekly, or at your preferred interval.

Why is description empty?

Set includeDetails to true. Some jobs still may not expose a full description publicly.

Is this a Dice jobs API alternative?

It can be used as a practical API-style export for public Dice job search results through Apify API, datasets, webhooks, and MCP.