{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs Scraper: 9 ATS incl. Workday, Personio",
    "description": "Open jobs from a company's own career site (Greenhouse, Lever, Workday, Personio and 5 more ATS) for a company domain; $1.80 per 1,000 jobs. Posted pay, department, remote flag, description. Monitoring mode returns only new jobs plus free closed-job rows. No recruiter names.",
    "version": "0.1",
    "x-build-id": "ivmmXG9eXMkQKc8mc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/arcadium~career-site-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-arcadium-career-site-jobs",
        "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/arcadium~career-site-jobs/runs": {
      "post": {
        "operationId": "runs-sync-arcadium-career-site-jobs",
        "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/arcadium~career-site-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-arcadium-career-site-jobs",
        "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": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One entry per company: a company domain (stripe.com), a careers page URL, a job board URL (https://jobs.lever.co/zoox) or `system:token`, e.g. `greenhouse:stripe` or `ashby:openai`. Domains and careers pages are resolved automatically. For Workday paste the board address (https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite) or write `workday:nvidia/wd5/NVIDIAExternalCareerSite`. Supported: Greenhouse, Lever, Ashby, Workable, Recruitee, Personio, Teamtailor, SmartRecruiters, Workday.",
            "items": {
              "type": "string"
            }
          },
          "atsAllowList": {
            "title": "Only these job systems",
            "type": "array",
            "description": "Leave empty to allow every supported system. Select some to restrict both detection and explicit entries to them.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workable",
                "recruitee",
                "personio",
                "teamtailor",
                "smartrecruiters",
                "workday"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workable",
                "Recruitee",
                "Personio",
                "Teamtailor",
                "SmartRecruiters",
                "Workday"
              ]
            }
          },
          "includeSmartRecruiters": {
            "title": "Include SmartRecruiters",
            "type": "boolean",
            "description": "SmartRecruiters' robots.txt asks crawlers to stay out of its API. If you want to respect that, switch this off and SmartRecruiters boards are skipped.",
            "default": true
          },
          "includeDescriptions": {
            "title": "Job descriptions",
            "enum": [
              "text",
              "html",
              "none"
            ],
            "type": "string",
            "description": "Plain text, the original HTML, or none. Email addresses and phone numbers inside descriptions are always removed. 'None' is the lightest option and still returns pay when the job board publishes it as a field."
          },
          "maxDescriptionChars": {
            "title": "Shorten descriptions to (characters)",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "0 keeps descriptions whole.",
            "default": 0
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Upper limit of jobs delivered per company. In 'only changes' mode it caps the new jobs per run."
          },
          "maxItems": {
            "title": "Max jobs in total",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops the run after this many charged jobs across all companies, 1 to 1,000,000. A cost cap; leave empty for no limit. Free coverage, closed and error rows do not count."
          },
          "onlyChanges": {
            "title": "Only changes since the last run",
            "type": "boolean",
            "description": "Delivers jobs that appeared since the previous run and adds a free `closed` row for every job that disappeared. The first run delivers all current jobs. State is stored in a named key-value store in your account. Charged per company checked plus per new job."
          },
          "emitBaseline": {
            "title": "Deliver all jobs on the first run",
            "type": "boolean",
            "description": "Only used with 'only changes'. Switch off to just record today's jobs as the starting point and get changes from the next run on.",
            "default": true
          },
          "stateKey": {
            "title": "State name",
            "pattern": "^[A-Za-z0-9-]{1,40}$",
            "type": "string",
            "description": "Names the saved state, so several monitoring setups can run side by side. Use 1-40 letters, digits or dashes. Use a new name whenever you change the filters of a monitoring setup. Example: weekly-monitoring.",
            "default": "default"
          },
          "keywords": {
            "title": "Keywords (any of)",
            "type": "array",
            "description": "Keep jobs whose title, department or team contains any of these words. Example: [\"engineer\", \"data\"].",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title, department or team contains any of these words. Example: [\"intern\", \"sales\"].",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Country names or two-letter codes (Germany, DE, US). Jobs without a stated country are matched on their location text. Example: [\"Germany\", \"US\"].",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keeps only jobs the company marks as remote."
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Drops jobs published longer ago. Jobs without a publish date are kept."
          },
          "includeErrorRows": {
            "title": "Add a row for companies that failed",
            "type": "boolean",
            "description": "Adds a free row to the dataset for every company that could not be read, so a failure is never silent.",
            "default": true
          },
          "includeCoverageRows": {
            "title": "Add a coverage row per company",
            "type": "boolean",
            "description": "Adds a free row per company: how many jobs the board states, how many were delivered and how the board was found.",
            "default": true
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How often a request is retried after a temporary error.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy (advanced)",
            "type": "object",
            "description": "Leave empty. The actor uses the cheapest proxy that works. Set your own proxy only if you must."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}