{
  "openapi": "3.0.1",
  "info": {
    "title": "Hiring Signals + ATS Jobs: Greenhouse Lever Ashby Workable",
    "description": "Find companies hiring now. Open jobs from public Greenhouse, Lever, Ashby and Workable boards plus a company hiring-signal row: new roles, hiring surges, first sales/security hires, growing teams and new locations. Paste domains or slugs; daily delta mode. No API key.",
    "version": "0.1",
    "x-build-id": "dGP5wsL3WWxque6LJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/technicaldost~ats-jobs-hiring-signals/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-technicaldost-ats-jobs-hiring-signals",
        "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/technicaldost~ats-jobs-hiring-signals/runs": {
      "post": {
        "operationId": "runs-sync-technicaldost-ats-jobs-hiring-signals",
        "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/technicaldost~ats-jobs-hiring-signals/run-sync": {
      "post": {
        "operationId": "run-sync-technicaldost-ats-jobs-hiring-signals",
        "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 company per line. Accepts a company domain (notion.so), a name or board slug (stripe), a careers/board URL (https://jobs.ashbyhq.com/ramp, https://jobs.lever.co/palantir, https://apply.workable.com/huggingface) or an explicit ats:slug (greenhouse:anthropic). Explicit URLs and ats:slug are the most precise.",
            "default": [
              "stripe",
              "ramp",
              "notion.so",
              "https://jobs.lever.co/palantir"
            ],
            "items": {
              "type": "string"
            }
          },
          "atsPlatforms": {
            "title": "ATS platforms to check",
            "type": "array",
            "description": "Which applicant tracking systems to search when auto-detecting a company's job board. Board URLs and ats:slug entries are always fetched from their own ATS.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workable"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workable"
              ]
            },
            "default": [
              "greenhouse",
              "lever",
              "ashby",
              "workable"
            ]
          },
          "autoDetectAts": {
            "title": "Auto-detect board (try slug variants)",
            "type": "boolean",
            "description": "Try a few slug variants (e.g. 'acme', 'acmehq', 'acmeio' from acme.io) on every selected ATS and keep the board with the most open roles. Turn off to try only the exact slug you entered.",
            "default": true
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "jobs+signals",
              "jobs",
              "signals"
            ],
            "type": "string",
            "description": "jobs+signals = one company hiring-signal row per company plus its job rows. jobs = job rows only. signals = only company hiring-signal rows (cheapest way to monitor many companies).",
            "default": "jobs+signals"
          },
          "onlyNew": {
            "title": "Only new since last run (monitoring mode)",
            "type": "boolean",
            "description": "Remembers what this stream already delivered. Job rows are returned only for roles you have not received yet, and a company signal row only when the company opened or closed roles since the last run. Ideal for daily or weekly schedules: you never pay twice for the same job.",
            "default": false
          },
          "stateKey": {
            "title": "Stream name",
            "type": "string",
            "description": "Separate 'only new' memory per list, client or pipeline (e.g. 'saas-targets-weekly'). Each stream de-duplicates independently. Stored in the named key-value store 'ats-hiring-signals-state'.",
            "default": "default"
          },
          "jobFunctions": {
            "title": "Job functions",
            "type": "array",
            "description": "Keep only jobs in these functions (classified from title and department). Leave empty for all. Company signals still describe the whole company.",
            "items": {
              "type": "string",
              "enum": [
                "sales",
                "revops",
                "marketing",
                "customer_success",
                "engineering",
                "data_ai",
                "security",
                "product",
                "design",
                "finance",
                "people",
                "legal",
                "operations",
                "other"
              ],
              "enumTitles": [
                "Sales",
                "RevOps / sales ops",
                "Marketing",
                "Customer success / support",
                "Engineering",
                "Data / AI",
                "Security",
                "Product",
                "Design",
                "Finance",
                "People / HR",
                "Legal",
                "Operations",
                "Other"
              ]
            }
          },
          "titleKeywords": {
            "title": "Title keywords (any)",
            "type": "array",
            "description": "Keep jobs whose title contains a word starting with any of these terms (case-insensitive), e.g. 'account executive', 'SDR', 'engineer' (also matches 'engineering'). Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains a word starting with any of these terms, e.g. 'intern' (also drops 'internship' and 'internal'), 'contract'.",
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Departments (any)",
            "type": "array",
            "description": "Keep jobs whose department or team contains a word starting with any of these terms, e.g. 'Sales', 'Engineering'. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (any)",
            "type": "array",
            "description": "Keep jobs whose location or country contains any of these whole words, e.g. 'London', 'Remote', 'US', 'DE', 'Germany' ('US' does not match 'Australia'). Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only roles marked remote by the ATS or with 'Remote' in the location.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only jobs first published in the last N days. 0 = any age.",
            "default": 0
          },
          "includeDescription": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Add the plain-text job description (up to 20,000 characters) to each job row. Makes runs slower and the dataset larger.",
            "default": false
          },
          "maxJobsPerCompany": {
            "title": "Max job rows per company",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Cap on job rows returned per company (newest first). Signals are always computed from all open roles.",
            "default": 500
          },
          "maxItems": {
            "title": "Max rows per run",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on rows returned (and charged) per run, counting job rows and company signal rows together.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}