{
  "openapi": "3.0.1",
  "info": {
    "title": "Dice Advertised Pay, With the Bands Taken Out",
    "description": "Advertised pay from dice.com, normalised to a yearly figure you can compare. Dice's own salary bands are left out by default, hourly rates are converted with the assumption written on the row, and every advert that was dropped is counted with its reason.",
    "version": "0.1",
    "x-build-id": "OVE1QoDiruZVtWyhd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gubidonius~dice-salaries/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gubidonius-dice-salaries",
        "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/gubidonius~dice-salaries/runs": {
      "post": {
        "operationId": "runs-sync-gubidonius-dice-salaries",
        "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/gubidonius~dice-salaries/run-sync": {
      "post": {
        "operationId": "run-sync-gubidonius-dice-salaries",
        "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": [
          "maxAdvertsToRead"
        ],
        "properties": {
          "location": {
            "title": "Place",
            "type": "string",
            "description": "A place in dice.com's own form, for example \"Austin, TX, USA\". A place dice.com cannot resolve returns the whole United States board rather than an error, so this run checks for that and stops. Leave empty for the whole board.",
            "default": ""
          },
          "postedDate": {
            "title": "Posted within",
            "enum": [
              "",
              "ONE",
              "THREE",
              "SEVEN"
            ],
            "type": "string",
            "description": "dice.com offers these three windows and nothing else.",
            "default": ""
          },
          "employmentType": {
            "title": "Contract type",
            "enum": [
              "",
              "FULLTIME",
              "PARTTIME",
              "CONTRACTS",
              "THIRD_PARTY"
            ],
            "type": "string",
            "description": "dice.com takes the value, not the label. A label returns zero adverts rather than an error. Contract roles are where most hourly pay is.",
            "default": ""
          },
          "employerType": {
            "title": "Who is advertising",
            "enum": [
              "",
              "Direct Hire",
              "Recruiter",
              "Other"
            ],
            "type": "string",
            "description": "Compare what employers advertise against what agencies advertise.",
            "default": ""
          },
          "workplaceTypes": {
            "title": "Workplace",
            "enum": [
              "",
              "On-Site",
              "Remote",
              "Hybrid"
            ],
            "type": "string",
            "description": "The remote filter that works.",
            "default": ""
          },
          "willingToSponsor": {
            "title": "Visa sponsorship offered",
            "enum": [
              "",
              "true",
              "false"
            ],
            "type": "string",
            "description": "On 2026-09-16 this cut held no Dice bands at all, 471 phrases and 201 real employer ranges.",
            "default": ""
          },
          "includeHourly": {
            "title": "Include hourly pay",
            "type": "boolean",
            "description": "Convert hourly rates to a yearly equivalent and include them. Every converted row is marked and carries the hours it assumed. Turn this off to keep only pay dice.com published as yearly.",
            "default": true
          },
          "hoursPerYear": {
            "title": "Hours per year for the conversion",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "What an hourly rate is multiplied by. 2080 is 40 hours across 52 weeks. This assumption is written onto every converted row, so it can be redone with a different number from originalMin.",
            "default": 2080
          },
          "includeDiceBands": {
            "title": "Include Dice's own salary bands",
            "type": "boolean",
            "description": "Off by default. About one advert in five publishes one of dice.com's five bands, like USD 80,001.00 to 120,000.00, in the same field and the same format as real pay. Those are not what the employer pays. Turn this on to get them anyway, marked with isDiceBandNotEmployerPay. They are never included in the run summary's pay statistics either way.",
            "default": false
          },
          "maxAdvertsToRead": {
            "title": "How many adverts to read",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Adverts to read from the board, not salaries to return: only some adverts carry usable pay. Must be a positive number. The board stops serving new adverts at roughly 740 whatever you ask for, which the run summary reports.",
            "default": 500
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}