{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Jobs & Hiring Signals — Greenhouse, Lever, Ashby, Workday",
    "description": "Track who is hiring at the companies you care about. Give company websites or ATS handles; get normalized jobs from Greenhouse, Lever, Ashby, Workday, and European ATS (Personio, Recruitee, Teamtailor) that many job feeds skip. Only-new-jobs mode for scheduled monitoring. No login.",
    "version": "0.1",
    "x-build-id": "aIREXq7X8ybLojxLT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/suitable_sunspot~keyless-ats-jobs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-suitable_sunspot-keyless-ats-jobs-api",
        "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/suitable_sunspot~keyless-ats-jobs-api/runs": {
      "post": {
        "operationId": "runs-sync-suitable_sunspot-keyless-ats-jobs-api",
        "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/suitable_sunspot~keyless-ats-jobs-api/run-sync": {
      "post": {
        "operationId": "run-sync-suitable_sunspot-keyless-ats-jobs-api",
        "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": {
          "companyWebsites": {
            "title": "Company websites or careers URLs (auto-detect ATS)",
            "type": "array",
            "description": "Easiest input: just list companies by website (stripe.com) or careers-page URL. The Actor finds which ATS each company uses (Greenhouse, Lever, Ashby, Workday, Personio, Recruitee, Teamtailor) from the URL, the site's /careers page, or a public API probe. Companies it cannot match are listed in the coverage ledger as not_detected and cost nothing.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Companies by ATS (vendor + handle)",
            "type": "array",
            "description": "Optional if you use company websites above. Exact sources: {vendor, handle} — plus host and site for Workday. Public ATS endpoints only, no login.",
            "items": {
              "type": "object",
              "properties": {
                "vendor": {
                  "title": "Vendor",
                  "type": "string",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby",
                    "workday",
                    "personio",
                    "recruitee",
                    "teamtailor"
                  ],
                  "description": "Applicant-tracking vendor."
                },
                "handle": {
                  "title": "Handle",
                  "type": "string",
                  "description": "Company slug/token for the vendor (e.g. 'gitlab' for Greenhouse, 'storytel' for Teamtailor, 'personio' for Recruitee)."
                },
                "label": {
                  "title": "Label",
                  "type": "string",
                  "description": "Optional display name; defaults to the handle."
                },
                "host": {
                  "title": "Host",
                  "type": "string",
                  "description": "Workday only: e.g. nvidia.wd5.myworkdayjobs.com"
                },
                "tenant": {
                  "title": "Tenant",
                  "type": "string",
                  "description": "Workday only: tenant segment (defaults to handle)."
                },
                "site": {
                  "title": "Site",
                  "type": "string",
                  "description": "Workday only: career site id, e.g. NVIDIAExternalCareerSite"
                }
              },
              "required": [
                "vendor"
              ]
            }
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run (hiring signals)",
            "type": "boolean",
            "description": "Turn this on for scheduled monitoring. The Actor remembers which jobs it already delivered (in a named key-value store in your own Apify account) and returns only postings that appeared since your previous run. You pay only for the new rows. The first run returns all current jobs as the baseline.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Used with 'Only new jobs'. Keep one name per watch-list (e.g. 'sales-targets', 'competitors') so different schedules keep separate memories.",
            "default": "default"
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "type": "integer",
            "description": "Cap per company. Hitting it is reported as coverageStatus=capped with a reason, never a silent truncation. Default 200; raise it for big employers.",
            "default": 200
          },
          "maxItems": {
            "title": "Max items (run-wide)",
            "minimum": 1,
            "type": "integer",
            "description": "Hard ceiling on delivered rows across all companies in one run (and therefore on cost).",
            "default": 5000
          },
          "includeDescriptions": {
            "title": "Include descriptions",
            "type": "boolean",
            "description": "Fetch full job descriptions (costs one extra request per job for Workday; others include them already).",
            "default": true
          },
          "maxRetries": {
            "title": "Max HTTP retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Retries per request for retryable failures (429, 5xx, network).",
            "default": 4
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. Public ATS APIs rarely need a proxy; enable only if a source blocks.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}