{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Job Scraper: Only New Jobs (Greenhouse, Lever, Ashby)",
    "description": "Only new or changed jobs since your last run, at $1.50 per 1,000 jobs plus $0.001 per board. Track the public job boards of up to 1,000 companies on Greenhouse, Lever, Ashby, Workable, Recruitee and Breezy HR. Filters for title, location, remote and posting date run before you pay.",
    "version": "0.1",
    "x-build-id": "H0GIWjbNaGLTk9abL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/batchpane~ats-jobs-only-new/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-batchpane-ats-jobs-only-new",
        "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/batchpane~ats-jobs-only-new/runs": {
      "post": {
        "operationId": "runs-sync-batchpane-ats-jobs-only-new",
        "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/batchpane~ats-jobs-only-new/run-sync": {
      "post": {
        "operationId": "run-sync-batchpane-ats-jobs-only-new",
        "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 or ats:slug)",
            "type": "array",
            "description": "One company per line. Use a job board URL (https://jobs.lever.co/palantir, https://job-boards.greenhouse.io/airbnb, https://jobs.ashbyhq.com/notion, https://apply.workable.com/huggingface, https://bunq.recruitee.com, https://acme.breezy.hr), a short form like greenhouse:airbnb or lever:palantir, or the company's own careers page (we look for a link to one of these job boards on it). Up to 1,000 per run.",
            "items": {
              "type": "string"
            }
          },
          "outputMode": {
            "title": "Which jobs to output",
            "enum": [
              "newAndChanged",
              "new",
              "all"
            ],
            "type": "string",
            "description": "\"newAndChanged\" (default): only jobs that are new or changed (title, location, team, salary, type) since the last run with the same company list. \"new\": only new jobs. \"all\": every open job, every run (no memory). The first run outputs all current jobs, unless you switch off \"First run outputs all jobs\".",
            "default": "newAndChanged"
          },
          "firstRunOutputsAll": {
            "title": "First run outputs all jobs",
            "type": "boolean",
            "description": "true (default): the first run outputs every current job (as \"new\"). false: the first run only remembers the current jobs and outputs none, so later runs give you just what was posted after today.",
            "default": true
          },
          "titleIncludes": {
            "title": "Title contains (any of)",
            "type": "array",
            "description": "Only jobs whose title contains at least one of these words (case-insensitive), e.g. engineer, designer. Empty = all titles.",
            "items": {
              "type": "string"
            }
          },
          "titleExcludes": {
            "title": "Title does not contain",
            "type": "array",
            "description": "Skip jobs whose title contains any of these words, e.g. intern, senior.",
            "items": {
              "type": "string"
            }
          },
          "locationIncludes": {
            "title": "Location contains (any of)",
            "type": "array",
            "description": "Only jobs with a location that contains one of these texts, e.g. Amsterdam, Germany, Remote. Empty = all locations.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Only jobs marked remote by the ATS (or with \"Remote\" in the location).",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs with a publish date in the last N days (1-365). Jobs without a publish date are then left out. Empty = no date filter."
          },
          "includeDescription": {
            "title": "Include job description (plain text)",
            "type": "boolean",
            "description": "Adds the job description as plain text. E-mail addresses and phone numbers in it are removed. Makes the run slower for Greenhouse boards. Default: false.",
            "default": false
          },
          "includeRemoved": {
            "title": "Also list removed jobs",
            "type": "boolean",
            "description": "Adds a row (changeType \"removed\", not charged) for each job that was open in the last run and is gone now.",
            "default": false
          },
          "stateKey": {
            "title": "Memory name (optional)",
            "type": "string",
            "description": "Name under which \"already seen\" jobs are remembered, in the key-value store \"batchpane-ats-jobs-state\" of your account. Empty = derived from the company list. Use the same name in different tasks to share the memory."
          },
          "resetState": {
            "title": "Forget previous runs",
            "type": "boolean",
            "description": "true = start over: this run behaves like a first run for this memory name.",
            "default": false
          },
          "stopAfterFailures": {
            "title": "Stop after failures in a row",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Safety stop: the run stops when this many boards in a row fail. Default 20; 0 switches only this in-a-row rule off. A second rule always stays on: after 50 boards, the run stops if fewer than 25% succeeded.",
            "default": 20
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}