{
  "openapi": "3.0.1",
  "info": {
    "title": "💼 Workday Job Scraper: Every Job, Past the 2,000 Cap",
    "description": "Scrape every open job from any Workday career site (myworkdayjobs.com). Pages the whole board past the 2,000-job cap. Title, location, pay range, posted date, description and apply link as clean JSON. Only-new mode for monitoring. No login, no proxies.",
    "version": "1.0",
    "x-build-id": "aCKnHrApZiUgFaODH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/findata~workday-job-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-findata-workday-job-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/findata~workday-job-scraper/runs": {
      "post": {
        "operationId": "runs-sync-findata-workday-job-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/findata~workday-job-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-findata-workday-job-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": {
          "preset": {
            "title": "Employer list",
            "enum": [
              "custom",
              "sample",
              "georgia-sc"
            ],
            "type": "string",
            "description": "Pick a ready-made list or use your own. \"The career sites I list below\" runs exactly the sites in the next field, and if that field is empty it falls back to the sample boards so a run never fails for lack of input. The other choices add a curated list on top of anything you paste.",
            "default": "custom"
          },
          "sources": {
            "title": "Workday career sites",
            "type": "array",
            "description": "Workday career-site URLs, one per line. Any page on the site works; the actor trims it to the board. You can also write the short form tenant.wdN/site, for example workday.wd5/Workday. Examples: https://workday.wd5.myworkdayjobs.com/en-US/Workday, https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite, https://carrier.wd5.myworkdayjobs.com/jobs. Optional when an Employer list is chosen above.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title keywords (any)",
            "type": "array",
            "description": "Keep jobs whose title contains at least one of these words or phrases. Case-insensitive. Leave empty to keep all.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words or phrases. Case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location filter (any)",
            "type": "array",
            "description": "Keep jobs whose location text contains at least one of these, e.g. Atlanta, Georgia, GA, United States. Case-insensitive. Leave empty to keep all. With the Georgia and upstate SC list chosen and this left empty, the list's own Georgia and South Carolina locations are used.",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Department filter (any)",
            "type": "array",
            "description": "Keep jobs whose department or team contains at least one of these, e.g. Finance, Engineering, People.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only jobs the ATS marks as remote or whose location says remote.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only jobs posted or updated within this many days. 0 means no limit. Workday list pages only give relative dates, so this is applied to the parsed value.",
            "default": 0
          },
          "fetchDetails": {
            "title": "Fetch full job details",
            "type": "boolean",
            "description": "Workday list pages do not include the description, the exact posting date or the hiring organization name. Turn this on to make one extra request per job for those plus pay ranges and additional locations. Title and location filters are applied first, so only jobs that can pass them are fetched. Slower and uses more platform usage.",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Include description HTML",
            "type": "boolean",
            "description": "Add the raw HTML description to each record alongside the plain text. Makes datasets larger.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new jobs since last run",
            "type": "boolean",
            "description": "Remember every job ID seen per source in a named key-value store and output only jobs not seen before. Use with a schedule to get a feed of new postings. You are charged only for jobs that are output.",
            "default": false
          },
          "seenStoreName": {
            "title": "Seen-jobs store name",
            "type": "string",
            "description": "Name of the key-value store used by only-new mode. Use a different name per monitor if you run several configurations.",
            "default": "workday-job-scraper-seen"
          },
          "maxJobsPerSource": {
            "title": "Max jobs per source",
            "minimum": 0,
            "type": "integer",
            "description": "Stop paging a source after this many jobs. 0 means no limit. Workday boards cap at 2,000 per query; the actor splits large boards by facet automatically so you still get the whole board.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Parallel sources",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many career sites to pull at the same time.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}