{
  "openapi": "3.0.1",
  "info": {
    "title": "Greenhouse, Lever, Ashby & Workday Jobs Scraper – 10 ATS",
    "description": "Career site & ATS jobs scraper: Greenhouse, Lever, Ashby, Workday, Teamtailor, SmartRecruiters, Recruitee, Personio, Breezy & Workable. Input: company names or career-site URLs. Output: jobs with salary, location, remote flag. $1.75/1k.",
    "version": "0.1",
    "x-build-id": "6eW81gp3Lrwy9Y09D"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/glidepath~ats-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-glidepath-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/glidepath~ats-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-glidepath-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/glidepath~ats-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-glidepath-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": "Companies or job-board URLs",
            "type": "array",
            "description": "One entry per company. Accepts (1) provider:slug, e.g. greenhouse:figma, lever:palantir, ashby:ramp, smartrecruiters:Equinox, recruitee:bunq, personio:personio, breezy:acme, workable:acme, lever-eu:acme; (2) a job-board URL, e.g. https://jobs.lever.co/palantir; (3) a company website, e.g. stripe.com (we look for the job board on the site); (4) a company name (we try each supported job board).",
            "items": {
              "type": "string"
            }
          },
          "companiesFileUrl": {
            "title": "Company list file (CSV, Excel or Google Sheets URL)",
            "type": "string",
            "description": "Optional. A public URL of a CSV/TSV/TXT file, an .xlsx file, a Google Sheet or a Google Drive file shared as 'Anyone with the link can view'. One company per row in any of the formats above; up to 5,000 companies per run, file order kept. Added after the list above (clear the list if you only want the file). Max 5 MB."
          },
          "companiesFileColumn": {
            "title": "Column with the companies",
            "type": "string",
            "description": "Optional. Header name (e.g. Website) or column letter (e.g. B). By default the first column named company, name, website, domain, url, job board or similar is used, otherwise the first column."
          },
          "keywords": {
            "title": "Title keywords (any)",
            "type": "array",
            "description": "Keep jobs whose title contains any of these words (case-insensitive, whole words). Leave empty to keep all.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. intern, senior.",
            "items": {
              "type": "string"
            }
          },
          "searchInDescription": {
            "title": "Also match keywords in the description",
            "type": "boolean",
            "description": "If on, a keyword found in the job description also counts as a match.",
            "default": false
          },
          "locations": {
            "title": "Locations (any)",
            "type": "array",
            "description": "Keep jobs whose location contains any of these terms, e.g. Berlin, Germany, Remote, or a 2-letter country code like DE.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs the employer marks as remote (or whose location says Remote).",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only jobs published (or updated, if no publish date) in the last N days. Jobs without any date are dropped when this is set."
          },
          "seniority": {
            "title": "Seniority (any)",
            "type": "array",
            "description": "Keep jobs whose title shows one of these levels (rule-based, e.g. 'Senior', 'Head of', 'Werkstudent'). Titles without a level word have seniority null and are dropped when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "Intern",
                "Entry-level",
                "Senior",
                "Manager",
                "Executive"
              ],
              "enumTitles": [
                "Intern / working student",
                "Entry-level / junior",
                "Senior / lead / staff",
                "Manager / director",
                "Executive / VP / head of"
              ]
            }
          },
          "departments": {
            "title": "Departments (any)",
            "type": "array",
            "description": "Keep jobs whose department or team contains any of these terms, e.g. Engineering, Sales.",
            "items": {
              "type": "string"
            }
          },
          "minAnnualSalary": {
            "title": "Minimum annual salary",
            "minimum": 0,
            "type": "number",
            "description": "Keep jobs whose salary, scaled to a year (hourly ×2080, monthly ×12, …), reaches this amount. Uses the employer's published salary, or a salary stated in the description. Jobs without a salary are dropped when this is set."
          },
          "salaryCurrency": {
            "title": "Salary currency",
            "type": "string",
            "description": "Optional, with the minimum salary: only salaries in this currency (ISO code, e.g. USD, EUR, GBP)."
          },
          "visaSponsorshipOnly": {
            "title": "Visa sponsorship only",
            "type": "boolean",
            "description": "Keep only jobs whose description says visa sponsorship is offered (visaSponsorship = true).",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many matching jobs per company. Leave empty for all jobs."
          },
          "maxJobs": {
            "title": "Max jobs in total",
            "minimum": 1,
            "maximum": 10000000,
            "type": "integer",
            "description": "Stop the whole run after this many jobs. Leave empty for no limit (your maximum cost per run still applies)."
          },
          "onlyNewSinceLastRun": {
            "title": "Only jobs that are new since the last run",
            "type": "boolean",
            "description": "Remember which jobs you already received (in a key-value store in your own account) and return only new ones. Ideal for scheduled monitoring. The first run returns all current jobs.",
            "default": false
          },
          "trackChanges": {
            "title": "Track changes: new, updated and closed jobs",
            "type": "boolean",
            "description": "Remember the jobs you received (in a key-value store in your own account) and return only changes since the last run: new jobs, updated jobs (title, location, team, salary or work type changed) and closed jobs (gone from the board), each with changeType and firstSeenAt. The first run returns every current job as new. Overrides 'Only new'.",
            "default": false
          },
          "stateStoreName": {
            "title": "Memory store name (for 'only new')",
            "type": "string",
            "description": "Named key-value store used by 'Only new'. Use different names to keep separate watchlists.",
            "default": "glidepath-ats-jobs-state"
          },
          "includeDescription": {
            "title": "Include job description (plain text)",
            "type": "boolean",
            "description": "Adds descriptionText. Turn off for smaller, faster output.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Include job description (HTML)",
            "type": "boolean",
            "description": "Adds descriptionHtml with the original formatting.",
            "default": false
          },
          "redactContactInfo": {
            "title": "Remove e-mail addresses and phone numbers from descriptions",
            "type": "boolean",
            "description": "Recommended. Job ads sometimes contain a recruiter's e-mail or phone number; this removes them.",
            "default": true
          },
          "detectFromWebsite": {
            "title": "Find the job board on company websites",
            "type": "boolean",
            "description": "For entries like stripe.com, open the site (and /careers, /jobs) and look for a supported job board.",
            "default": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}