{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse & Lever Job Scraper",
    "description": "Scrape open roles straight from companies' own career boards and get title, employer, location, department, workplace type, employment type, posting date and apply URL. Give it a list of company boards. No login, no account.",
    "version": "1.0",
    "x-build-id": "1qmdk22jBlvfeW5o2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zilicon~ats-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zilicon-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/zilicon~ats-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zilicon-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/zilicon~ats-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zilicon-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": "Company boards",
            "type": "array",
            "description": "The company career boards to scrape, each as \"provider:slug\". Provider is greenhouse or lever; the slug is the board token in the company's careers URL - boards.greenhouse.io/STRIPE becomes \"greenhouse:stripe\", jobs.lever.co/LEVERDEMO becomes \"lever:leverdemo\". Add as many companies as you like; one bad slug is reported and skipped, it does not sink the run.",
            "default": [
              "greenhouse:stripe",
              "lever:leverdemo"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many roles. Your cost control - 500 results costs about $2.50. Set 0 for no cap.",
            "default": 100
          },
          "keywords": {
            "title": "Search keywords",
            "type": "string",
            "description": "Keep only roles containing ALL of these words, e.g. 'senior engineer'. Matched against the title, company, department, tags and description unless 'Match title only' is on. Leave blank to return every open role."
          },
          "titleOnly": {
            "title": "Match title only",
            "type": "boolean",
            "description": "Match the keywords against the job title alone. Use this when a word like 'python' appears in the body of every posting and you only want roles actually named for it.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "string",
            "description": "Drop any role containing ANY of these words, e.g. 'intern manager director'. Applied to the whole record. Useful for stripping seniority levels you do not want."
          },
          "location": {
            "title": "Location filter",
            "type": "string",
            "description": "Keep only roles whose location contains ALL of these words, e.g. 'London', 'New York', 'Germany'. Word order does not matter, so 'york new' also matches 'New York'. Leave blank for all locations."
          },
          "remoteOnly": {
            "title": "Remote roles only",
            "type": "boolean",
            "description": "Keep only remote roles. Uses the ATS remote flag where the provider publishes one (Lever) and the location text otherwise (Greenhouse).",
            "default": false
          },
          "department": {
            "title": "Department",
            "type": "string",
            "description": "Keep only roles whose department contains ALL of these words, e.g. 'Engineering', 'Sales', 'Design'. Matched as substrings, so 'eng' matches 'Engineering'. Note that Greenhouse often prefixes an internal id ('1654 Account Executives (AI)'), so match on a word rather than the full name."
          },
          "employmentType": {
            "title": "Employment type",
            "type": "string",
            "description": "Keep only roles whose commitment contains this text, e.g. 'full time', 'contract', 'intern'. Each company writes its own wording - real values include 'Regular Full Time (Salary)', 'Contract - Remote' and 'Hourly' - so this matches as a substring rather than an exact list. Published by Lever boards only; Greenhouse does not expose it, so Greenhouse roles are excluded whenever this filter is set."
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only roles published or updated in the last N days, e.g. 14 for the last fortnight. Roles with no usable date are kept rather than silently dropped. Leave 0 for no date limit.",
            "default": 0
          },
          "maxPerCompany": {
            "title": "Max results per company",
            "minimum": 0,
            "type": "integer",
            "description": "Cap how many roles come from any single company, so one big employer cannot fill your whole result set. Leave 0 for no per-company cap.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy configuration. Datacenter proxies are fine for these boards.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}