{
  "openapi": "3.0.1",
  "info": {
    "title": "Dice Jobs Scraper",
    "description": "Scrape Dice search results and return job titles, companies, locations, employment types, posting dates, salary, summaries and application links. You can optionally fetch each job page for skill tags, the full description and its closing date, or skip details for a lighter collection.",
    "version": "0.1",
    "x-build-id": "bTNxRbxPTxutIperO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~dice-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-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/axiomworks~dice-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-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/axiomworks~dice-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-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": [
          "searchQueries"
        ],
        "properties": {
          "searchQueries": {
            "title": "Job keyword list (e.g. python developer)",
            "type": "array",
            "description": "Job keyword strings, e.g. [\"python developer\", \"data engineer\"]. Searches run in order and share maxItems with URLs and IDs. Required by the schema; use [] with startUrls or jobIds. No matches or a blocked target returns no rows for that target; try broader keywords or retry later.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Search location (e.g. New York, NY)",
            "type": "string",
            "description": "Location text for every searchQueries entry, e.g. \"New York, NY\" or \"Texas\". Default \"\" searches across the US, including remote jobs. startUrls retain their own location parameter; direct job IDs ignore location.",
            "default": ""
          },
          "maxItems": {
            "title": "Total job limit (e.g. 20)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum unique jobs saved across all keyword, URL and ID targets combined, in processing order: URLs and IDs first, then keywords. 1-10000, default 50; e.g. 20. Fewer rows are returned when matches run out, targets are blocked or your spending limit is reached.",
            "default": 50
          },
          "includeDetails": {
            "title": "Fetch job details (true or false)",
            "type": "boolean",
            "description": "Set true (default) to fetch each search result job page for skills, description, validThrough and postalCode; this adds one request per job. Set false for faster search lists with those fields null, e.g. false for a 20-job preview. Direct job IDs and job-detail URLs always fetch their page.",
            "default": true
          },
          "startUrls": {
            "title": "Dice search or job page URLs",
            "type": "array",
            "description": "Dice /jobs search URLs or /job-detail/<guid> URLs, e.g. [{\"url\":\"https://www.dice.com/jobs?q=python&location=Texas\"}]. String URLs also work. Default []; use searchQueries: [] for URL-only runs. Search URLs keep their location and query; supplied search filters still apply. Unsupported or non-Dice URLs are skipped.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "jobIds": {
            "title": "Dice job GUIDs or detail URLs",
            "type": "array",
            "description": "Dice job GUID strings or job-detail URLs, e.g. [\"8beb49a9-d16e-4c66-bd56-6c4d97c62df0\"]. Default []; use searchQueries: [] for ID-only runs. Direct jobs always fetch details and ignore search filters. Expired or removed jobs produce no row; check the ID or search for current jobs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote search jobs only (true or false)",
            "type": "boolean",
            "description": "Set true to request the Remote workplace filter for keyword searches and search URLs, e.g. true. Default false keeps the URL filter, if any, or all workplace types. Combines with workplaceTypes, so selecting only On-Site can yield no rows. Direct job targets ignore this option.",
            "default": false
          },
          "postedWithin": {
            "title": "Posting age (e.g. 7days)",
            "enum": [
              "any",
              "today",
              "3days",
              "7days"
            ],
            "type": "string",
            "description": "Posting-age filter for keyword searches and search URLs: \"any\", \"today\", \"3days\" or \"7days\", e.g. \"7days\". Default \"any\" adds no age filter and retains any filter in a supplied URL. It does not restrict direct job refreshes.",
            "default": "any"
          },
          "employmentType": {
            "title": "Employment filter (e.g. contract)",
            "enum": [
              "any",
              "fulltime",
              "parttime",
              "contract",
              "thirdparty"
            ],
            "type": "string",
            "description": "Employment filter for keyword searches and search URLs: \"any\", \"fulltime\", \"parttime\", \"contract\" or \"thirdparty\", e.g. \"contract\". Default \"any\" adds no filter and retains any filter in a supplied URL. Direct job targets ignore this option.",
            "default": "any"
          },
          "proxyConfiguration": {
            "title": "Proxy settings (Apify Proxy object)",
            "type": "object",
            "description": "Proxy settings object, e.g. {\"useApifyProxy\":true}. Default uses Apify Proxy with automatic datacenter selection. Blocked requests retry on a fresh session; persistent blocks return no rows for that target. Retry later if the target remains blocked.",
            "default": {
              "useApifyProxy": true
            }
          },
          "easyApplyOnly": {
            "title": "Easy Apply search jobs only (true or false)",
            "type": "boolean",
            "description": "Set true to save only search results explicitly marked easyApply: true, e.g. true. Default false keeps both application types. Applies to keyword searches and search URLs, alongside other filters; direct job IDs and job-detail URLs ignore it.",
            "default": false
          },
          "workplaceTypes": {
            "title": "Workplace labels (e.g. Hybrid)",
            "type": "array",
            "description": "Workplace label strings to match any selected value: [\"Remote\"], [\"Hybrid\", \"On-Site\"], or [] (default, all labels). Applies to keyword searches and search URLs alongside remoteOnly and other filters. Direct job targets ignore it. Clear this list if filters yield no matches.",
            "items": {
              "type": "string",
              "enum": [
                "Remote",
                "Hybrid",
                "On-Site"
              ]
            },
            "default": []
          },
          "employerTypes": {
            "title": "Employer types",
            "type": "array",
            "description": "Employer labels to include in keyword and search-URL results, e.g. [\"Direct Hire\"] to omit recruiters. Default [] accepts all employers. Matches any selected label exactly; missing labels are excluded when filtering. Direct job targets ignore this filter.",
            "items": {
              "type": "string",
              "enum": [
                "Direct Hire",
                "Recruiter",
                "Other"
              ]
            },
            "default": []
          },
          "excludeJobIds": {
            "title": "Previously collected job IDs",
            "type": "array",
            "description": "Job GUIDs or Dice job-detail URLs to skip, e.g. IDs from a previous dataset. Default [] excludes nothing. Applies to all targets before detail requests. Excluded jobs do not count toward maxItems; search pagination continues for unseen jobs. No state is shared between runs unless you pass this list.",
            "default": [],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}