{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse Jobs & Lever Jobs Scraper - Ashby + 3 More ATS",
    "description": "Scrape Greenhouse jobs, Lever jobs and Ashby, Recruitee, SmartRecruiters or Personio postings from any employer's careers board — paste the board URL. Title, location, department, description, pay where published, apply link. Filters apply before billing. Pay per job.",
    "version": "0.1",
    "x-build-id": "qQYw19ecuWh3R1YZO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nexgenwatch~public-ats-hiring-closure-delta-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nexgenwatch-public-ats-hiring-closure-delta-feed",
        "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/nexgenwatch~public-ats-hiring-closure-delta-feed/runs": {
      "post": {
        "operationId": "runs-sync-nexgenwatch-public-ats-hiring-closure-delta-feed",
        "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/nexgenwatch~public-ats-hiring-closure-delta-feed/run-sync": {
      "post": {
        "operationId": "run-sync-nexgenwatch-public-ats-hiring-closure-delta-feed",
        "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": {
          "boardUrls": {
            "title": "Careers-board URLs (Greenhouse jobs, Lever jobs, Ashby …)",
            "type": "array",
            "description": "Paste the public careers-board URL(s) you know — e.g. https://boards.greenhouse.io/stripe, https://jobs.lever.co/netflix, https://jobs.ashbyhq.com/openai, https://acme.recruitee.com, https://careers.smartrecruiters.com/Visa, https://acme.jobs.personio.com. Each is turned into the matching provider + board id below; any other URL is refused with the list of supported forms (nothing arbitrary is fetched).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "targets": {
            "title": "Career boards",
            "type": "array",
            "description": "Public ATS boards to read, as provider + public board id. You can give these directly, or paste careers-board URLs in boardUrls above and let the actor resolve them.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "provider",
                "boardId"
              ],
              "properties": {
                "provider": {
                  "type": "string",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby",
                    "recruitee",
                    "smartrecruiters",
                    "personio"
                  ],
                  "description": "ATS provider.",
                  "title": "ATS provider"
                },
                "boardId": {
                  "type": "string",
                  "description": "Public board identifier: Greenhouse token, Lever site, Ashby job-board name, Recruitee subdomain, SmartRecruiters company id, or Personio account. A bare safe token — no URLs, slashes, or dots.",
                  "title": "Public board id"
                },
                "region": {
                  "type": "string",
                  "enum": [
                    "global",
                    "eu"
                  ],
                  "description": "Lever data region only. Ignored for other providers.",
                  "title": "Lever region"
                },
                "companyName": {
                  "type": "string",
                  "description": "Optional label used as the target key in output.",
                  "title": "Company label"
                }
              }
            }
          },
          "watchMode": {
            "title": "Watch mode",
            "type": "boolean",
            "description": "Seed a private baseline and emit only confirmed later deltas (opened/changed/closed/reopened). First run emits zero deltas.",
            "default": false
          },
          "closureConfirmations": {
            "title": "Closure confirmations",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Consecutive eligible runs a job must be absent before it is confirmed closed.",
            "default": 2
          },
          "baselineId": {
            "title": "Baseline id",
            "type": "string",
            "description": "Named watch baseline. Changing the canonical input derives a new baseline."
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum job records to emit this run.",
            "default": 10
          },
          "maxItemsPerBoard": {
            "title": "Max jobs per board (optional)",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Caps what ONE board may contribute, so the first board cannot use up the whole maxItems allowance when you want coverage across several employers — e.g. maxItems 300 with maxItemsPerBoard 100 over three boards. Leave empty for the existing behaviour (boards fill the allowance in the order listed). The run message reports boards reached and any board that hit its cap."
          },
          "filters": {
            "title": "Filters",
            "type": "object",
            "description": "Post-normalization filters. Do not change what is fetched, only what is emitted.",
            "properties": {
              "titleInclude": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Keep only jobs whose title contains one of these substrings (case-insensitive).",
                "title": "Title contains"
              },
              "remoteOnly": {
                "type": "boolean",
                "description": "Keep only jobs whose normalized workplace type is remote.",
                "default": false,
                "title": "Remote only"
              },
              "locationInclude": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Location contains",
                "description": "Keep only jobs whose location text, any listed location, or country code contains one of these (case-insensitive) — e.g. [\"London\", \"GB\"] or [\"Remote\"]."
              }
            },
            "additionalProperties": false
          },
          "includeDescriptions": {
            "title": "Include descriptions",
            "type": "boolean",
            "description": "Include sanitized description_html and description_plain.",
            "default": true
          },
          "includeCompensation": {
            "title": "Include compensation",
            "type": "boolean",
            "description": "Request compensation fields where the provider exposes them publicly.",
            "default": true
          },
          "includeRaw": {
            "title": "Include raw",
            "type": "boolean",
            "description": "Attach the raw provider payload (bounded).",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Global concurrent requests.",
            "default": 6
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}