{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Jobs Scraper: Greenhouse, Lever & Ashby Jobs API",
    "description": "Greenhouse, Lever & Ashby jobs API, plus Workable, SmartRecruiters, Recruitee, Personio and Breezy: list every open job at any company, live from its own career site. Auto-detects the ATS from a company website. One clean schema, filters, new-jobs-only alerts. $1 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "NnQR1YlZFFaeqsHq3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/redfoxscout~ats-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-redfoxscout-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/redfoxscout~ats-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-redfoxscout-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/redfoxscout~ats-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-redfoxscout-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One per line. Any of:<br>• a careers page URL, e.g. <code>https://boards.greenhouse.io/airbnb</code>, <code>https://jobs.lever.co/palantir</code>, <code>https://jobs.ashbyhq.com/ramp</code>, <code>https://apply.workable.com/acme</code><br>• a shorthand: <code>greenhouse:airbnb</code>, <code>lever:palantir</code>, <code>ashby:ramp</code><br>• a company website: <code>ramp.com</code> (the ATS is detected automatically)",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords (any)",
            "type": "array",
            "description": "Keep jobs whose title, department or team contains any of these words, e.g. <code>engineer</code>, <code>data</code>. Case-insensitive. Leave empty for all jobs.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title, department or team contains any of these, e.g. <code>intern</code>, <code>senior</code>.",
            "items": {
              "type": "string"
            }
          },
          "searchInDescription": {
            "title": "Also search descriptions",
            "type": "boolean",
            "description": "Apply keywords to the full job description too, not just title/department/team.",
            "default": false
          },
          "excludeDescriptionKeywords": {
            "title": "Exclude words in the description",
            "type": "array",
            "description": "Drop jobs whose full description contains any of these words or phrases, e.g. <code>security clearance</code> or <code>relocation required</code>. Case-insensitive, and each entry must match whole words, so <code>intern</code> does not match <code>international</code>.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (any)",
            "type": "array",
            "description": "Keep jobs whose location contains any of these, e.g. <code>London</code>, <code>Germany</code>, <code>US</code>, <code>Remote</code>. Case-insensitive.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs marked remote by the ATS or with 'Remote' in the location.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs posted in the last N days. 0 = no limit. Jobs without a posting date are kept.",
            "default": 0
          },
          "hasSalary": {
            "title": "Only jobs with a published salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a pay figure, from the ATS pay fields or the posting text (for example <code>$120,000 - $150,000 a year</code>). Off = all jobs.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum yearly salary",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs whose top published pay, converted to a yearly amount (hourly x 2,080, weekly x 52, monthly x 12, daily x 260), reaches this number. 0 = off. Jobs with no pay figure, or no stated pay period, are dropped when this is set. Amounts are compared as published, with no currency conversion, so set Pay currency too.",
            "default": 0
          },
          "salaryCurrency": {
            "title": "Pay currency",
            "type": "string",
            "description": "Keep only jobs whose pay is in this currency, e.g. <code>USD</code>, <code>EUR</code> or <code>GBP</code>. Jobs with no pay are dropped when set. Empty = any currency.",
            "default": ""
          },
          "includeDescription": {
            "title": "Include job descriptions",
            "type": "boolean",
            "description": "Add the full description as HTML and plain text. Turn off for faster, smaller results. The contact fields (descriptionEmails, hiringContact) and the description-based fields need it.",
            "default": true
          },
          "includeQuestions": {
            "title": "Greenhouse application questions",
            "type": "boolean",
            "description": "Greenhouse jobs only: add <code>applicationQuestions</code> (label, required, type, answer options) from the application form. Costs one extra request per returned Greenhouse job.",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs (monitoring mode)",
            "type": "boolean",
            "description": "Return only jobs that weren't returned by a previous run with the same company list. Ideal for scheduled runs that feed alerts or a database. The first run returns everything.",
            "default": false
          },
          "monitorName": {
            "title": "Monitoring name",
            "type": "string",
            "description": "Optional name for the 'seen jobs' memory used by monitoring mode. Use the same name across schedules to share it; by default it's derived from the company list."
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no limit.",
            "default": 0
          },
          "guessSlugs": {
            "title": "Guess ATS by company name",
            "type": "boolean",
            "description": "If a company website has no visible ATS link, try boards named after the domain (ramp.com → ramp) on each supported ATS. Results found this way are marked detectedVia = 'slug-guess'.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Companies in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many companies to process at once.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}