{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Jobs Scraper: Workday, Greenhouse, Lever & Ashby",
    "description": "Get every open job posting from company career pages on Workday, Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee and Workable: title, team, location, remote, salary when published, apply link, clean description. Only-new-jobs mode for daily feeds. Public job-board APIs, pay per job.",
    "version": "0.1",
    "x-build-id": "9VYA8V8l3Nsd89D13"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/plainrows~ats-job-postings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-plainrows-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/plainrows~ats-job-postings/runs": {
      "post": {
        "operationId": "runs-sync-plainrows-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/plainrows~ats-job-postings/run-sync": {
      "post": {
        "operationId": "run-sync-plainrows-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies (careers page URLs or names)",
            "minItems": 1,
            "maxItems": 2000,
            "type": "array",
            "description": "One company per line. Paste the job board URL (https://boards.greenhouse.io/airbnb, https://jobs.lever.co/spotify, https://jobs.ashbyhq.com/ramp, https://acme.recruitee.com, https://apply.workable.com/acme, https://careers.smartrecruiters.com/Ubisoft2, https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite) or just the board name (stripe): the ATS is then detected among Greenhouse, Lever, Ashby, Recruitee and SmartRecruiters. Workday needs the careers page URL (up to 2,000 jobs per site). Up to 1,000 companies per run.",
            "items": {
              "type": "string"
            }
          },
          "ats": {
            "title": "ATS for company names",
            "enum": [
              "auto",
              "greenhouse",
              "lever",
              "ashby",
              "recruitee",
              "workable",
              "smartrecruiters",
              "workday"
            ],
            "type": "string",
            "description": "Where to look up plain company names. URLs always use their own ATS. Workable is never auto-detected: paste its URL or pick it here. Workday is only reached through careers page URLs (names are refused).",
            "default": "auto"
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Most recent jobs first. Each job returned is billed; see Pricing.",
            "default": 500
          },
          "titleKeywords": {
            "title": "Job title contains (any of)",
            "type": "array",
            "description": "Keep jobs whose title has one of these words, e.g. \"engineer\", \"product manager\". Matches word starts, ignores case and accents. Filtered jobs are free.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Job title excludes",
            "type": "array",
            "description": "Drop jobs whose title has one of these words, e.g. \"intern\", \"senior\".",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location contains (any of)",
            "type": "array",
            "description": "Keep jobs listing one of these places, e.g. \"London\", \"Germany\", \"US\", \"Remote\". Whole words, ignores case and accents.",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Department or team (any of)",
            "type": "array",
            "description": "Keep jobs whose department or team starts with one of these words, e.g. \"Engineering\", \"Sales\".",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep jobs marked remote by the company or listing a remote location.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep jobs published in the last N days (0 = any date).",
            "default": 0
          },
          "includeDescription": {
            "title": "Include job description (plain text)",
            "type": "boolean",
            "description": "Full description as clean text. Turn off for smaller datasets.",
            "default": true
          },
          "includeHtml": {
            "title": "Also include description HTML",
            "type": "boolean",
            "description": "Adds descriptionHtml with the original formatting.",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs (monitoring)",
            "type": "boolean",
            "description": "Return only jobs this tool has never delivered to you for the same job board. The first run returns every matching job and remembers them; later runs (for example a daily schedule) return and bill only new jobs.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name (optional)",
            "pattern": "^([a-z0-9][a-z0-9-]{0,61}[a-z0-9]|[a-z0-9])?$",
            "type": "string",
            "description": "Name of the key-value store in your Apify account that remembers delivered jobs (default \"plainrows-jobs-monitor\"). Use a different name per monitoring task to keep separate histories, or a new name to start over. Lowercase letters, digits and hyphens."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}