{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Jobs Scraper & Monitor: Company Career Sites",
    "description": "Open jobs straight from company career sites on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor, Rippling, BambooHR and Breezy: one schema with salary, remote type and full description. Monitor for new and closed jobs.",
    "version": "0.1",
    "x-build-id": "jzfnK6BrR5JtA0mYw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/koivu-data~company-jobs-ats-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-koivu-data-company-jobs-ats-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/koivu-data~company-jobs-ats-scraper/runs": {
      "post": {
        "operationId": "runs-sync-koivu-data-company-jobs-ats-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/koivu-data~company-jobs-ats-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-koivu-data-company-jobs-ats-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies (job board URLs, identifiers or names)",
            "type": "array",
            "description": "One per line. Best: the company's job board URL, for example <code>https://job-boards.greenhouse.io/airbnb</code>, <code>https://jobs.lever.co/palantir</code>, <code>https://jobs.ashbyhq.com/ramp</code>, <code>https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite</code>. Also accepted: an identifier such as <code>greenhouse:airbnb</code> or <code>smartrecruiters:BoschGroup</code>, a career page URL or domain (the Actor looks for a job board link on the page), or a company name (looked up on Greenhouse, Lever, Ashby, Workable, Recruitee, Teamtailor and Breezy). Supported: Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor, Rippling, BambooHR, Breezy HR.",
            "default": [
              "https://job-boards.greenhouse.io/airbnb",
              "https://jobs.lever.co/palantir",
              "https://jobs.ashbyhq.com/ramp"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of jobs saved per company, most recently posted first. You only pay for jobs that are saved.",
            "default": 200
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Description as HTML, clean text and Markdown. For Workday and SmartRecruiters this needs one extra request per job, so turning it off makes large runs faster. The price is the same either way.",
            "default": true
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run (monitoring)",
            "type": "boolean",
            "description": "For scheduled runs. The first run returns the current jobs (marked INITIAL) and remembers them; later runs return only jobs that appeared since the previous run (marked NEW). The memory is kept per saved task and per company.",
            "default": false
          },
          "includeRemovedJobs": {
            "title": "Also report removed (closed) jobs",
            "type": "boolean",
            "description": "With monitoring: also return one row (marked REMOVED) for each job that was on the board in the previous run and is gone now. Charged like any other row.",
            "default": false
          },
          "returnExistingJobsOnFirstRun": {
            "title": "Return current jobs on the first monitoring run",
            "type": "boolean",
            "description": "On by default. Turn off to start monitoring silently: the first run only remembers the current jobs and saves nothing.",
            "default": true
          },
          "keywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "Keep jobs whose title contains any of these words or phrases (case-insensitive, whole words). Example: <code>engineer</code>, <code>data scientist</code>.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words. Example: <code>intern</code>, <code>senior</code>.",
            "items": {
              "type": "string"
            }
          },
          "searchInDescription": {
            "title": "Search keywords in the description too",
            "type": "boolean",
            "description": "Match keywords against the title and the full description.",
            "default": false
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs whose location contains any of these words: a city, region, country name or two-letter country code (<code>Berlin</code>, <code>Finland</code>, <code>US</code>, <code>Remote</code>).",
            "items": {
              "type": "string"
            }
          },
          "workplace": {
            "title": "Remote / hybrid / on-site",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "remoteOrHybrid",
              "onsite"
            ],
            "type": "string",
            "description": "Filter by workplace type as published by the company. 'Remote' keeps only fully remote jobs; hybrid jobs need 'Hybrid' or 'Remote or hybrid'. Jobs whose type is not published pass only with 'Any', unless the ATS flags them as remote.",
            "default": "any"
          },
          "departments": {
            "title": "Departments or teams",
            "type": "array",
            "description": "Keep jobs whose department or team contains any of these words (<code>Engineering</code>, <code>Sales</code>).",
            "items": {
              "type": "string"
            }
          },
          "postedSince": {
            "title": "Posted since",
            "type": "string",
            "description": "Keep jobs posted on or after this date. Absolute (<code>2026-09-01</code>) or relative (<code>7 days</code>, <code>24 hours</code>). Jobs without a published posting date are dropped when this is set."
          },
          "stateKey": {
            "title": "Monitoring state key",
            "type": "string",
            "description": "Advanced. Name of the memory slot used by monitoring. Leave empty to use the task ID automatically."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed: the Actor reads public job board endpoints directly.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}