{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Job Postings: Career Page Jobs API for 12 ATS",
    "description": "Every open job of the companies you name, by company name, website or careers page, on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and 4 more, plus a hiring summary per company. Priced per company checked, not per job. Can return only new jobs.",
    "version": "0.1",
    "x-build-id": "V1Cicv8SOjzmk4u3a"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/enisbodlli~ats-job-postings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-enisbodlli-ats-job-postings",
        "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/enisbodlli~ats-job-postings/runs": {
      "post": {
        "operationId": "runs-sync-enisbodlli-ats-job-postings",
        "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/enisbodlli~ats-job-postings/run-sync": {
      "post": {
        "operationId": "run-sync-enisbodlli-ats-job-postings",
        "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 (names, websites or careers pages)",
            "maxItems": 5000,
            "uniqueItems": true,
            "type": "array",
            "description": "One entry per company: its name (stripe), its website (stripe.com) or its careers page URL (https://boards.greenhouse.io/stripe, https://jobs.lever.co/palantir, https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite). The Actor finds the job board on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, Teamtailor, BambooHR, Breezy HR or Rippling: from a board link, from the website and its careers pages, or by trying the name. Workday needs the URL or the website. Leave the list empty to search every company in the built-in directory instead.",
            "items": {
              "type": "string"
            }
          },
          "searchAllCompanies": {
            "title": "Search every company in the directory",
            "type": "boolean",
            "description": "Also search the built-in directory of 1,302 company job boards (723 on Greenhouse, 200 on Lever, 374 on Ashby and 5 Workday careers sites, checked 4 October 2026), after the companies above. The largest boards are asked first, and the run stops at Maximum jobs in total. With Companies empty the directory is searched whether or not this is on. Add Title keywords to search for a role.",
            "default": false
          },
          "ats": {
            "title": "Job board system for plain names",
            "enum": [
              "auto",
              "greenhouse",
              "lever",
              "ashby",
              "smartrecruiters",
              "workable",
              "recruitee",
              "personio",
              "teamtailor",
              "bamboohr",
              "breezy",
              "rippling"
            ],
            "type": "string",
            "description": "Only used for entries that are a plain name, not a URL or a website. Auto tries every system that can be found by name and uses the first that has the board. Workday has no plain names.",
            "default": "auto"
          },
          "titleKeywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep only jobs whose title contains at least one of these words or phrases, for example data engineer. Not case sensitive. Leave empty to keep every job. With the directory, this is the search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words or phrases, for example intern or manager. Not case sensitive.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locationKeywords": {
            "title": "Location keywords",
            "type": "array",
            "description": "Keep only jobs whose location contains at least one of these words or phrases, for example Berlin or United Kingdom. Not case sensitive. Leave empty to keep every location.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "departmentKeywords": {
            "title": "Department keywords",
            "type": "array",
            "description": "Keep only jobs whose department or team contains at least one of these words, for example engineering or sales. Workday lists no department, so its jobs do not pass this filter.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs marked as remote. Greenhouse has no remote flag, so a Greenhouse job counts as remote when its location text contains the word remote.",
            "default": false
          },
          "employmentTypes": {
            "title": "Employment types",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only jobs of these types. A job whose type the job system does not state is kept, because Greenhouse states none.",
            "items": {
              "type": "string",
              "enum": [
                "full_time",
                "part_time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            },
            "default": []
          },
          "seniorityLevels": {
            "title": "Seniority levels",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only jobs whose title states one of these ranks. A title without a rank word, such as \"Software Engineer\", has no seniority and is left out when this filter is set.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "mid",
                "senior",
                "lead",
                "staff",
                "principal",
                "manager",
                "director",
                "vp",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Entry level",
                "Mid level",
                "Senior",
                "Lead",
                "Staff",
                "Principal",
                "Manager",
                "Director",
                "Vice president",
                "Executive"
              ]
            },
            "default": []
          },
          "postedWithinDays": {
            "title": "Posted within days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only jobs published in the last N days, for example 7. 0 switches the filter off. Jobs with no published date are left out when it is on.",
            "default": 0
          },
          "hasSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that state pay, either in the job system's salary field or as a range written in the description.",
            "default": false
          },
          "outputMode": {
            "title": "Rows to return",
            "enum": [
              "both",
              "jobs",
              "companies"
            ],
            "type": "string",
            "description": "Jobs: one row per job posting. Companies: one summary row per company (open jobs, new in the last 7 and 30 days, remote share, top departments and locations, median pay, closed since the last check), no job rows. Both: the summary rows and the job rows. Every company you name is charged once per check, whichever you choose.",
            "default": "both"
          },
          "includeDescription": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Add the full job description as plain text and as HTML. Turn off for smaller, faster results.",
            "default": true
          },
          "onlyNewSinceLastRun": {
            "title": "Only jobs that are new since the last run",
            "type": "boolean",
            "description": "Remember which jobs were open on the previous run and return only postings that appeared since. The first run returns everything. Use with a schedule to monitor companies for new openings.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "maxLength": 60,
            "type": "string",
            "description": "Used with \"Only jobs that are new since the last run\". A name for this search's memory of seen jobs, for example engineers-berlin. Runs with different names keep separate memories, so two searches on the same company do not hide each other's jobs. Saved tasks are kept apart automatically; set this when you start runs through the API or keep several searches in one task."
          },
          "maxJobsPerCompany": {
            "title": "Maximum jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs for each company. 0 means no limit.",
            "default": 0
          },
          "maxResults": {
            "title": "Maximum jobs in total",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop the whole run after this many jobs, across all companies. 0 means no limit for the companies you name; when the directory is searched, 0 means 1,000.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}