{
  "openapi": "3.0.1",
  "info": {
    "title": "Dice Jobs Scraper & API: C2C, W2 & Recruiter Emails",
    "description": "Scrape dice.com tech jobs with the contract type of every job (W2, C2C, 1099) and a filter on it, the recruiter's apply email, contract term, travel, visa sponsorship, reposts and pay in numbers. 1,000 jobs a request, newest first, job alerts.",
    "version": "0.1",
    "x-build-id": "f7qTPCyavveZoC4lK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~dice-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-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/s_actors~dice-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-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/s_actors~dice-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-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": "🔎 Keywords",
            "type": "array",
            "description": "Job title, skill or technology, one per line: \"python\", \"java developer\", \"data engineer\", \"salesforce\", \"devops\". Dice's boolean search works too: \"\\\"data engineer\\\" AND spark\". Each keyword is its own search. Empty = every Dice job in the locations below (about 113,000 in the US).",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "US city, state or ZIP as on Dice: \"New York, NY\", \"Austin, TX\", \"Texas\", \"94105\", or \"Remote\". Dice finds the place itself and searches around it (radius below). Each location is its own search. Empty = the whole US.",
            "items": {
              "type": "string"
            }
          },
          "radiusMiles": {
            "title": "📏 Radius (miles)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Distance around each location. Empty = Dice's default of 30 miles."
          },
          "contractTypes": {
            "title": "📑 Contract type: W2, C2C, 1099",
            "type": "array",
            "description": "Keep contract jobs that accept one of these tax terms, as the recruiter set them on Dice (Dice's own search has no such filter). Every row has contractTypes, isC2C, isW2, is1099. Removed jobs are free.",
            "items": {
              "type": "string",
              "enum": [
                "c2c",
                "w2",
                "1099"
              ],
              "enumTitles": [
                "C2C (Corp-to-Corp)",
                "W2",
                "1099 (Independent)"
              ]
            }
          },
          "employmentTypes": {
            "title": "💼 Employment type",
            "type": "array",
            "description": "Dice's own filter; several = any of them. Empty = all (contract and third party when a contract type is chosen).",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "contract",
                "thirdParty",
                "partTime"
              ],
              "enumTitles": [
                "Full-time",
                "Contract",
                "Third party",
                "Part-time"
              ]
            }
          },
          "workplaceTypes": {
            "title": "🏠 Workplace",
            "type": "array",
            "description": "Dice's own filter; several = any of them. Hybrid jobs have the office days in hybridDetails (\"3 days onsite\").",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onSite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "postedWithin": {
            "title": "🕒 Posted within",
            "enum": [
              "anyTime",
              "past24Hours",
              "past3Days",
              "pastWeek",
              "past2Weeks",
              "pastMonth"
            ],
            "type": "string",
            "description": "By Dice's posting date (a repost counts as new; the first date is in firstPostedDate). 2 weeks and a month are read newest first and cut at the date.",
            "default": "anyTime"
          },
          "visaSponsorshipOnly": {
            "title": "🛂 Visa sponsorship (H1B)",
            "type": "boolean",
            "description": "Only jobs whose employer is willing to sponsor a work visa (Dice's own filter).",
            "default": false
          },
          "employerTypes": {
            "title": "🏢 Employer type",
            "type": "array",
            "description": "Dice's own filter: jobs posted by the employer itself or by a recruiting firm.",
            "items": {
              "type": "string",
              "enum": [
                "directHire",
                "recruiter",
                "other"
              ],
              "enumTitles": [
                "Direct hire (the employer)",
                "Recruiter (staffing firm)",
                "Other"
              ]
            }
          },
          "easyApplyOnly": {
            "title": "⚡ Easy Apply only",
            "type": "boolean",
            "description": "Only jobs with Dice's one-click Easy Apply.",
            "default": false
          },
          "maxJobsPerSearch": {
            "title": "🔢 Max jobs per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Per keyword × location or link. The Actor reads Dice 1,000 jobs a request. Dice shows 10,000 jobs for one search; bigger searches are split by employment type.",
            "default": 100
          },
          "sortBy": {
            "title": "↕️ Order",
            "enum": [
              "relevance",
              "newest"
            ],
            "type": "string",
            "description": "Newest first = Dice's own date sort.",
            "default": "relevance"
          },
          "onlyWithApplyEmail": {
            "title": "📧 Only jobs with an apply email",
            "type": "boolean",
            "description": "Keep jobs that take applications by email (the recruiter's or vendor's address is in applyEmail). Most contract jobs on Dice do.",
            "default": false
          },
          "excludeReposts": {
            "title": "♻️ Skip reposted jobs",
            "type": "boolean",
            "description": "Recruiters repost old jobs to look new. On = drop jobs first published 2+ days before their current posting date (firstPostedDate vs postedDate). Every row has isRepost.",
            "default": false
          },
          "maxTravelPercent": {
            "title": "✈️ Max travel (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep jobs that ask for at most this much travel (0, 10, 25, 50, 75, 100 as set on Dice), e.g. 25. Jobs without a travel value pass."
          },
          "onlyWithSalary": {
            "title": "💰 Only jobs with a salary",
            "type": "boolean",
            "description": "Keep jobs with a pay rate or salary in numbers (not \"Depends on experience\").",
            "default": false
          },
          "minYearlySalary": {
            "title": "💵 Min yearly pay (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs whose top pay reaches this per year; hourly rates count as 2,080 hours ($60/hr = $124,800). Jobs without pay are removed."
          },
          "titleMustMatchKeyword": {
            "title": "🎯 Title must contain the keyword",
            "type": "boolean",
            "description": "On = only jobs whose title has every word of the keyword (\"python\" drops a \"Backend Engineer\" job that asks for Python). Removed jobs are free.",
            "default": false
          },
          "titleInclude": {
            "title": "✅ Title must contain one of",
            "type": "array",
            "description": "Keep only jobs whose title contains one of these words, e.g. \"senior\", \"lead\".",
            "items": {
              "type": "string"
            }
          },
          "titleExclude": {
            "title": "🚫 Title must not contain",
            "type": "array",
            "description": "Remove jobs whose title contains one of these words, e.g. \"intern\", \"manager\".",
            "items": {
              "type": "string"
            }
          },
          "companyExclude": {
            "title": "🚷 Exclude companies",
            "type": "array",
            "description": "Remove jobs of companies whose name contains one of these.",
            "items": {
              "type": "string"
            }
          },
          "skipDuplicates": {
            "title": "👯 Skip copies",
            "type": "boolean",
            "description": "One job posted several times: same title + company + place = one row.",
            "default": true
          },
          "searchUrls": {
            "title": "🔗 Dice search links",
            "type": "array",
            "description": "Search pages copied from the browser, e.g. https://www.dice.com/jobs?q=devops&location=Austin,%20TX&filters.employmentType=CONTRACTS: the link's own filters are used.",
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "🔗 Dice job links",
            "type": "array",
            "description": "Links of single jobs, e.g. https://www.dice.com/job-detail/7015377a-0d8c-4367-86c2-c8de29fa55b8, or just the id.",
            "items": {
              "type": "string"
            }
          },
          "includeJobDetails": {
            "title": "📄 Full job data",
            "type": "boolean",
            "description": "Contract type (W2 / C2C / 1099), contract term, apply email or link, travel, first posting date, skills and the full description: one request per job, included in the price. Off = faster runs with the search fields only.",
            "default": true
          },
          "descriptionFormat": {
            "title": "📝 Description",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "The full job description is included at no extra cost.",
            "default": "text"
          },
          "onlyNewJobs": {
            "title": "🔔 Only new jobs (job alert)",
            "type": "boolean",
            "description": "Remembers the jobs of earlier runs with the same alert name and returns only new ones, newest first. Schedule the Actor hourly or daily for a Dice job alert to Slack, email or a sheet. Jobs already seen are free.",
            "default": false
          },
          "monitorName": {
            "title": "🏷️ Alert name",
            "type": "string",
            "description": "Separate memory for each alert: use a different name for each search you schedule.",
            "default": "default"
          },
          "maxConcurrency": {
            "title": "⚡ Parallel requests",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many Dice requests run at once.",
            "default": 10
          },
          "debugLog": {
            "title": "🐞 Debug log",
            "type": "boolean",
            "description": "Log every retry.",
            "default": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}