{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Job Scraper - Greenhouse, Lever, Ashby & More",
    "description": "Give it company domains and get their open jobs straight from each company's own career site. The Actor first detects which applicant tracking system the company runs, then reads the jobs from it. Incremental mode only charges for new or changed postings.",
    "version": "0.1",
    "x-build-id": "BfVgZGrOGdleP97NH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/garnet_puppet~career-site-job-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-garnet_puppet-career-site-job-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/garnet_puppet~career-site-job-scraper/runs": {
      "post": {
        "operationId": "runs-sync-garnet_puppet-career-site-job-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/garnet_puppet~career-site-job-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-garnet_puppet-career-site-job-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",
        "properties": {
          "companyDomains": {
            "title": "🏢 Company domains",
            "type": "array",
            "description": "Websites of the companies you want to track, e.g. vercel.com. We work out which ATS they use - you do not need to know it. Already have board links? Paste those instead (https://jobs.lever.co/spotify and the like) and they are fetched directly.",
            "default": [
              "ramp.com",
              "vercel.com"
            ],
            "items": {
              "type": "string"
            }
          },
          "incremental": {
            "title": "🔄 Return only new and changed jobs",
            "type": "boolean",
            "description": "When on, postings identical to the previous run are skipped and not charged. Leave it on if you plan to run this on a schedule.",
            "default": true
          },
          "includeDescription": {
            "title": "📄 Include job descriptions",
            "type": "boolean",
            "description": "Turn off for faster runs that return only job metadata.",
            "default": true
          },
          "maxJobsPerCompany": {
            "title": "🔢 Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Cost cap. 0 means unlimited.",
            "default": 0
          },
          "directSources": {
            "title": "🎯 Direct ATS sources",
            "type": "array",
            "description": "Skip auto-detection when you already know a company's ATS and slug. Fourteen platforms are supported. Two need a composite slug: Workday as tenant:wdN:site (e.g. nvidia:wd5:NVIDIAExternalCareerSite) and Comeet as uid:token (both values appear in the careers page embed).",
            "items": {
              "type": "object",
              "properties": {
                "sourceId": {
                  "type": "string",
                  "title": "ATS",
                  "description": "The applicant tracking system this company uses.",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby",
                    "workable",
                    "smartrecruiters",
                    "recruitee",
                    "personio",
                    "bamboohr",
                    "teamtailor",
                    "pinpoint",
                    "rippling",
                    "workday",
                    "comeet",
                    "join"
                  ],
                  "enumTitles": [
                    "Greenhouse",
                    "Lever",
                    "Ashby",
                    "Workable",
                    "SmartRecruiters",
                    "Recruitee",
                    "Personio",
                    "BambooHR",
                    "Teamtailor",
                    "Pinpoint",
                    "Rippling",
                    "Workday",
                    "Comeet",
                    "JOIN"
                  ]
                },
                "slug": {
                  "type": "string",
                  "title": "Board slug",
                  "description": "The company identifier on that ATS, e.g. \"stripe\" for Greenhouse. For Workday use tenant:wdN:site."
                }
              },
              "required": [
                "sourceId",
                "slug"
              ]
            },
            "default": []
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy configuration",
            "type": "object",
            "description": "Not needed for these sources. Change it only if a source starts blocking requests.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}