{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse, Lever, Ashby & Workday Jobs Scraper – 10 ATS",
    "description": "Scrape open jobs from Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee, Personio, Teamtailor and BambooHR in one format. Paste any careers page and the ATS is detected automatically. Filter by keyword, location, remote, department and date.",
    "version": "1.0",
    "x-build-id": "xYIKjtfREq2yTzc8C"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/openharvest~ats-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-openharvest-ats-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/openharvest~ats-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-openharvest-ats-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/openharvest~ats-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-openharvest-ats-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": {
          "companies": {
            "title": "Companies (careers URLs, job-board URLs or names)",
            "type": "array",
            "description": "One company per line. Accepted: a job-board URL (<code>https://jobs.lever.co/spotify</code>, <code>https://boards.greenhouse.io/stripe</code>, <code>https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite</code>), a company careers page (<code>https://linear.app/careers</code> - the ATS is detected automatically), an explicit <code>ats:slug</code> pair (<code>greenhouse:stripe</code>, <code>workday:nvidia.wd5/NVIDIAExternalCareerSite</code>) or just a company name (<code>Hugging Face</code> - the ATS is guessed). Leave empty to run a small demo.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "Optional. Keep only jobs whose title contains at least one of these words or phrases (case-insensitive), e.g. <code>engineer</code>, <code>product manager</code>.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Optional. Drop jobs whose title contains any of these words, e.g. <code>intern</code>, <code>senior</code>.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location contains",
            "type": "array",
            "description": "Optional. Keep only jobs whose location (any of the job's locations or its country) contains at least one of these texts, e.g. <code>Berlin</code>, <code>United Kingdom</code>, <code>US</code>. The value <code>remote</code> also matches jobs flagged as remote.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs marked as remote by the ATS (or whose location says \"Remote\").",
            "default": false
          },
          "includeHybrid": {
            "title": "Count hybrid jobs as remote",
            "type": "boolean",
            "description": "With \"Remote jobs only\" on, also keep hybrid jobs.",
            "default": false
          },
          "departments": {
            "title": "Department contains",
            "type": "array",
            "description": "Optional. Keep only jobs whose department or team contains one of these texts, e.g. <code>Engineering</code>, <code>Sales</code>. Note: Workday and Teamtailor often publish no department.",
            "items": {
              "type": "string"
            }
          },
          "postedSince": {
            "title": "Posted since",
            "type": "string",
            "description": "Optional. Keep only jobs published on or after this date: an absolute date (YYYY-MM-DD) or a relative period such as <code>7 days</code>, <code>2 weeks</code>, <code>1 month</code>. Jobs whose ATS publishes no date are kept."
          },
          "includeDescription": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Add the full job description as clean plain text (<code>descriptionText</code>). Makes the dataset larger; for SmartRecruiters it needs one extra request per job.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of jobs saved per company (after filters). 0 = no limit. You pay per job, so this also caps your cost.",
            "default": 100
          },
          "companyBoards": {
            "title": "Explicit job boards (JSON)",
            "type": "array",
            "description": "Optional, for API / automation users. A JSON list of <code>{\"ats\": \"greenhouse\", \"slug\": \"stripe\", \"name\": \"Stripe\"}</code> objects. <code>ats</code> is one of greenhouse, lever, ashby, workable, smartrecruiters, recruitee, personio, teamtailor, bamboohr, workday. For Workday use <code>\"slug\": \"tenant.wdN/Site\"</code>."
          },
          "guessAtsFromName": {
            "title": "Guess the ATS when it can't be detected",
            "type": "boolean",
            "description": "If a careers page has no recognizable ATS link (or you enter just a company name), try the company name on every supported ATS's public API. Only boards with open jobs and a matching company name are accepted.",
            "default": true
          },
          "includeCompanySummary": {
            "title": "Add a summary row per company",
            "type": "boolean",
            "description": "Add one free row (type = company) per company with the detected ATS, board URL and job counts. Rows for companies that could not be detected or scraped are always added. These rows are never charged.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Usually not needed - all ATS endpoints used are public APIs. Enable only if you see HTTP 429 (rate-limit) warnings on very large runs.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}