{
  "openapi": "3.0.1",
  "info": {
    "title": "Dice Jobs Scraper — Tech Jobs & Salaries",
    "description": "Scrape public Dice technology jobs by keyword, location, or URL. Returns normalized title, company, location, salary, work mode, employment type, description, dates, and job URLs for recruiting, market research, and job alerts. Not for profiles, applications, or private account data. $0.002/job.",
    "version": "1.0",
    "x-build-id": "tPfWpYq9mgzWdmucB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~dice-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-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/muhammadafzal~dice-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-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/muhammadafzal~dice-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-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",
        "properties": {
          "searches": {
            "title": "Dice job searches",
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "description": "Use this for one or more Dice keyword/location searches. Enter objects such as {\"keyword\":\"software engineer\",\"location\":\"New York, NY\"}. Defaults to one working US search and accepts 0–10 searches. Set [] when using only start URLs; this is not a list of applicant profiles.",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "title": "Keyword",
                  "type": "string",
                  "description": "Use this to search a role, skill, or employer term on Dice. Enter plain text such as \"data engineer\" or \"Kubernetes\". Accepts 1–120 characters; this is not a résumé Boolean query.",
                  "editor": "textfield",
                  "minLength": 1,
                  "maxLength": 120,
                  "example": "data engineer"
                },
                "location": {
                  "title": "Location",
                  "type": "string",
                  "description": "Use this to narrow a Dice search to a US city, state, or ZIP code. Enter text such as \"Austin, TX\" or leave empty for all locations. Accepts up to 120 characters; this is not a proxy country.",
                  "editor": "textfield",
                  "default": "",
                  "maxLength": 120,
                  "example": "Austin, TX"
                }
              },
              "required": [
                "keyword"
              ],
              "additionalProperties": false
            },
            "default": [
              {
                "keyword": "software engineer",
                "location": "New York, NY"
              }
            ]
          },
          "startUrls": {
            "title": "Dice start URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Use this for public dice.com/jobs search URLs or dice.com/job-detail/... URLs. Paste URLs such as https://www.dice.com/jobs?q=python or a specific job page. Defaults to []; this does not accept employer dashboards, login pages, or non-Dice URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Maximum unique jobs",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Use this to cap unique dataset records across every search and URL. Enter an integer such as 100. Defaults to 50 and accepts 1–1,000; at $0.002 per job this is the main event-cost cap, not a per-search limit.",
            "default": 50
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Use this to bound Dice pagination for each search URL. Enter an integer such as 5. Defaults to 5 and accepts 1–20; each page currently exposes about 20 job links. This does not limit direct job-detail URLs.",
            "default": 5
          },
          "includeDescription": {
            "title": "Include full descriptions",
            "type": "boolean",
            "description": "Use this when downstream analysis needs the cleaned public job description. Defaults to true and caps text at 20,000 characters. Disable it for smaller records; this does not skip job-detail requests because filters use detail metadata.",
            "default": true
          },
          "datePostedDays": {
            "title": "Maximum job age",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "Use this to keep jobs posted within a recent number of days based on Dice's ISO date. Enter 0 to disable or 1–30 days; for example 7 keeps the last week. Defaults to 0. This is not the Actor schedule interval.",
            "default": 0
          },
          "workplaceTypes": {
            "title": "Workplace types",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to keep selected Dice work arrangements. Choose any of remote, hybrid, or on-site. Defaults to [] for all arrangements; missing work-mode labels remain eligible only when no selection is supplied.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "on-site"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            },
            "default": []
          },
          "employmentTypes": {
            "title": "Employment types",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to keep selected normalized employment types from Dice. Choose full-time, part-time, contract, temporary, or internship. Defaults to [] for all types; this is not a work-location filter.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            },
            "default": []
          },
          "minimumSalary": {
            "title": "Minimum disclosed salary",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Use this to require the disclosed Dice salary maximum to meet a numeric threshold in its original pay period, such as 60 for $60/hour. Defaults to 0 (disabled). Jobs without salary remain eligible only when this is 0; this does not convert hourly pay to annual pay.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Use this if direct Dice requests are restricted from your network. Configure Apify or custom proxies in the standard proxy editor. Defaults to no proxy because Dice currently serves public HTML directly; this is not a job-location setting.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}