{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse, Lever, Ashby & Workable Jobs Scraper",
    "description": "Give it company websites like stripe.com, company names, or career page and job board URLs. It looks up the Greenhouse, Lever, Ashby, Workable, SmartRecruiters or Recruitee board and returns every open job with title, locations, remote flag, salary, description. $1.50 per 1,000 jobs, failures free.",
    "version": "1.0",
    "x-build-id": "dhHUrf9ujI3XzyW5b"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/heyitsgautham~career-site-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-heyitsgautham-career-site-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/heyitsgautham~career-site-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-heyitsgautham-career-site-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/heyitsgautham~career-site-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-heyitsgautham-career-site-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies",
            "minItems": 1,
            "type": "array",
            "description": "One per line. A company website (stripe.com), a company name (Scale AI), a job board URL (boards.greenhouse.io/stripe, jobs.lever.co/spotify, jobs.ashbyhq.com/openai, apply.workable.com/huggingface, careers.smartrecruiters.com/Canva, bunq.recruitee.com), a career page URL (notion.so/careers), a board name (stripe) or a board name with the ATS (greenhouse:stripe). For websites and names the scraper finds the board itself, and each row says which board it used. Board URLs and ATS:name pairs are read exactly as given.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep jobs whose title, department or team contains any of these words or phrases. Case does not matter. Leave empty for all jobs.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these, for example senior or intern.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs whose location or country contains any of these, for example London, Germany or US. The word remote matches every remote job.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs the ATS marks as remote, or whose location says remote.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs posted in the last N days. 0 keeps all.",
            "default": 0
          },
          "hasSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs whose board lists a pay amount. Workable boards send no pay, so this drops all of their jobs.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs whose listed pay reaches this amount in the currency and period below. A job paying 120,000 to 160,000 passes a minimum of 150,000. Amounts are never converted between currencies or periods. 0 turns it off.",
            "default": 0
          },
          "salaryCurrency": {
            "title": "Salary currency",
            "pattern": "^[A-Za-z]{3}$",
            "type": "string",
            "description": "Currency of the minimum salary, as a 3-letter code such as USD, EUR or GBP. Jobs paid in another currency count as having no salary.",
            "default": "USD"
          },
          "salaryPeriod": {
            "title": "Salary period",
            "enum": [
              "YEAR",
              "MONTH",
              "WEEK",
              "DAY",
              "HOUR"
            ],
            "type": "string",
            "description": "The period the minimum salary is paid per. Jobs paid per another period count as having no salary, and so does Greenhouse pay whose zone titles name no period.",
            "default": "YEAR"
          },
          "keepJobsWithoutSalary": {
            "title": "Keep jobs without a salary",
            "type": "boolean",
            "description": "With a minimum salary set, also keep jobs that list no pay in that currency and period. Off by default, so those jobs are dropped.",
            "default": false
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep only jobs at these levels, for example intern and entry for students and new grads. Every job row has a seniority field, read from the title, the years of experience the description asks for, and the level fields the board sends. Leave empty for all jobs.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "mid",
                "senior",
                "lead",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Entry level and new grad",
                "Mid level",
                "Senior",
                "Lead, staff, principal or manager",
                "Director and above"
              ]
            }
          },
          "keepJobsWithoutSeniority": {
            "title": "Keep jobs with no clear seniority",
            "type": "boolean",
            "description": "With a seniority filter set, also keep jobs whose level the title, description and board do not show (seniority null). Off by default, so those jobs are dropped.",
            "default": false
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since the last run",
            "type": "boolean",
            "description": "For scheduled runs. Returns only jobs this actor has not returned to you before for the same board and filters. The first run returns every matching job and remembers them. The memory is a key-value store named career-site-jobs-scraper-monitor in your Apify account.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many matching jobs per board. 0 means no limit.",
            "default": 0
          },
          "includeDescription": {
            "title": "Include job descriptions",
            "type": "boolean",
            "description": "Adds the full description as plain text and HTML. Turn off for a smaller dataset. SmartRecruiters boards also run faster without it.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Boards in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many company boards to read at the same time.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed. These job feeds are public and answer without a proxy. Turn it on only if a board starts refusing requests.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}