{
  "openapi": "3.0.1",
  "info": {
    "title": "Workday Jobs Scraper",
    "description": "Search Workday employers in our index by job title, country and more, or get every open job from your own list of Workday career sites (myworkdayjobs.com), with full descriptions, real posting dates and pay. Reads past Workday's 2,000-job limit. Monitoring mode for new and closed jobs.",
    "version": "0.1",
    "x-build-id": "8hAUGzdmSs79imyfk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/natanr123~workday-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-natanr123-workday-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/natanr123~workday-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-natanr123-workday-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/natanr123~workday-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-natanr123-workday-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": {
          "titleKeywords": {
            "title": "Job title contains any of",
            "type": "array",
            "description": "Jobs whose title contains at least one of these words or phrases (not case-sensitive), for example data engineer, product manager, nurse. With no companies listed, this searches every Workday employer in our index.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes, for example US, GB, DE, IL. Jobs whose country cannot be determined are left out when this is set.",
            "items": {
              "type": "string"
            }
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep only these. Jobs whose career site does not say are left out when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these. Jobs whose career site does not say are left out when this is set (a title like \"Intern\" counts as saying).",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "temporary",
                "internship",
                "other"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship",
                "Other"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only jobs posted in the last N days. Without descriptions, Workday shows only \"Posted 30+ Days Ago\" for older jobs, so those count as 30 days old."
          },
          "companies": {
            "title": "Workday career sites (optional: leave empty to search our index)",
            "type": "array",
            "description": "Leave empty to search every Workday employer in our index with the filters above. Or list Workday career sites, one per line: the address of the company's job search page, for example https://adobe.wd5.myworkdayjobs.com/external_experienced or https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Any job page from the site works too. Short form: workday:adobe.wd5/external_experienced. Optionally put the company's name in front, separated by a bar, to control how it appears in the results: Acme Corp | https://adobe.wd5.myworkdayjobs.com/external_experienced.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "The most jobs this run returns, all companies together (closed-job rows don't count). A search without companies returns the most recently posted matches. 0 means no limit.",
            "default": 1000
          },
          "includeDescription": {
            "title": "Include full job descriptions",
            "type": "boolean",
            "description": "On: every job comes with its full description, real posting date and pay parsed from the text (one extra request per job). Off: list fields only (title, location, relative posting date, requisition id), much faster on big sites.",
            "default": true
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "text",
              "html",
              "both"
            ],
            "type": "string",
            "description": "Plain text keeps headings and bullet points as lines. HTML is the employer's original markup. Emails and phone numbers are removed from both.",
            "default": "text"
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs from each company. 0 means all of them.",
            "default": 0
          },
          "onlyNewJobs": {
            "title": "Only jobs that are new or changed since the last run",
            "type": "boolean",
            "description": "Remembers which jobs earlier runs returned (per monitor name, in a key-value store in your account) and outputs only jobs that are new or whose details changed. Schedule the Actor daily to get a feed of new openings.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "pattern": "^[a-z0-9-]{1,40}$",
            "type": "string",
            "description": "Separate monitors keep separate memories. Use a different name for each company list or search you schedule. Lowercase letters, digits and hyphens.",
            "default": "default"
          },
          "emitExistingOnFirstRun": {
            "title": "First run: output the jobs that are already open",
            "type": "boolean",
            "description": "On: the first run of a monitor outputs every current job. Off: the first run only remembers them, so later runs output just what is new.",
            "default": true
          },
          "reportClosedJobs": {
            "title": "Also output jobs that closed",
            "type": "boolean",
            "description": "Adds a row with changeType \"closed\" for every job that disappeared from its career site. A job counts as closed after it is missing from two runs in a row, so a hiccup on the career site never reports open jobs as closed. Closed rows are free.",
            "default": false
          },
          "maxDataAgeHours": {
            "title": "Max data age (hours)",
            "minimum": 0,
            "type": "integer",
            "description": "Our index re-reads every company it covers each day. Companies it read within this many hours are taken from it: fast, and not charged as \"Company checked\". Other companies are read live from their career sites. 0 means always read live.",
            "default": 30
          },
          "maxConcurrency": {
            "title": "Career sites read in parallel",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many career sites to read at the same time, up to 10: Workday's sites share its servers, so a higher number reads no faster. Each site is still asked politely, at most about one request per second.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}