{
  "openapi": "3.0.1",
  "info": {
    "title": "Dice.com Jobs Scraper: US Tech Jobs, Salaries & New-Job Alerts",
    "description": "Scrape Dice.com tech jobs by keyword and location: title, company, location, parsed salary, remote/hybrid, employment type, post date, optional skills. Goes past Dice's 500-job limit, plus new-job alerts.",
    "version": "0.1",
    "x-build-id": "0J3CFexRmo84u9fGs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datasmithlab~dice-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datasmithlab-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/datasmithlab~dice-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datasmithlab-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/datasmithlab~dice-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datasmithlab-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": {
          "keywords": {
            "title": "Job titles or skills",
            "type": "array",
            "description": "One per line, e.g. 'Python', 'Data Engineer', 'DevOps'. Words are matched as a phrase. Each keyword is searched in each location below.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "One per line: a city like 'Austin, TX' or a state like 'Texas'. Leave empty to search all of the US (and Canada). Every keyword x location pair is its own search.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Dice search URLs",
            "type": "array",
            "description": "Or paste Dice search pages such as https://www.dice.com/jobs/q-python-l-Austin,_TX-jobs. Dice's robots.txt does not allow '?q=' search URLs; only the path form (plus filters.* and page) works.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many job rows (you pay per row). Dice shows at most 500 jobs per search; large searches are split by filters automatically.",
            "default": 200
          },
          "workplace": {
            "title": "Work location type",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "onsite",
              "remoteOrHybrid"
            ],
            "type": "string",
            "description": "Filters are applied by Dice and double-checked by the scraper; jobs that don't match are not charged.",
            "default": "any"
          },
          "employmentTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Keep only these employment types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "FULLTIME",
                "PARTTIME",
                "CONTRACTS",
                "THIRD_PARTY"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Third party"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Only jobs posted in the last N days (1, 3 and 7 are filtered by Dice; other values are checked by the scraper). Leave empty for any date."
          },
          "onlyWithSalary": {
            "title": "Only jobs with a stated salary",
            "type": "boolean",
            "description": "Skip jobs that say 'Depends on experience' or show no pay. Skipped jobs are not charged.",
            "default": false
          },
          "visaSponsorshipOnly": {
            "title": "Only jobs willing to sponsor a visa",
            "type": "boolean",
            "description": "Uses Dice's own sponsorship filter.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Only Easy Apply jobs",
            "type": "boolean",
            "description": "Only jobs that can be applied to directly on Dice.",
            "default": false
          },
          "splitLargeSearches": {
            "title": "Go beyond 500 jobs per search",
            "type": "boolean",
            "description": "Dice shows 500 jobs per search at most. When a search has more, it is split by employment type, work location type and posting date (one extra page request per slice, free for you). Check the SEARCHES report for coverage.",
            "default": true
          },
          "includeSkills": {
            "title": "Add skills (opens each job page)",
            "type": "boolean",
            "description": "Adds the skills list and the posting's end date by opening every job's page (slower; billed at the higher 'job with skills' price per row).",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs (monitoring)",
            "type": "boolean",
            "description": "For scheduled runs: each run returns only jobs not seen in an earlier run with the same settings (changeType NEW). Jobs already seen are not returned and not charged. The first run returns everything as NEW.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Dice answers Apify's IPs directly, so no proxy is used by default. Turn on Apify Proxy only if you see blocked searches: it is then used when a request is refused (up to 3 new IPs)."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}