{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs Scraper | Greenhouse, Lever, Workday | $0.9/1K",
    "description": "Jobs API for company career sites: Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee. Paste board URLs or names; get title, location, remote, salary, apply link, description. Filters plus only-new-jobs monitoring. $0.90 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "lyfxUcSSypAzOIZVJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hridayrungta~career-site-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hridayrungta-career-site-jobs-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/hridayrungta~career-site-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hridayrungta-career-site-jobs-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/hridayrungta~career-site-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hridayrungta-career-site-jobs-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",
        "required": [
          "boards"
        ],
        "properties": {
          "boards": {
            "title": "Career boards or companies",
            "type": "array",
            "description": "One per line. Paste a career board URL (boards.greenhouse.io/stripe, jobs.lever.co/spotify, jobs.ashbyhq.com/linear, apply.workable.com/huggingface, jobs.smartrecruiters.com/Wise, bunq.recruitee.com, nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite), a short form such as greenhouse:stripe, a bare company name (we try each ATS for you), or the company's own careers page URL (we look for the job board link on it). The ATS is detected automatically from the URL.",
            "items": {
              "type": "string"
            }
          },
          "atsForNames": {
            "title": "ATS for bare company names",
            "enum": [
              "auto",
              "greenhouse",
              "lever",
              "ashby",
              "workable",
              "smartrecruiters",
              "recruitee"
            ],
            "type": "string",
            "description": "Used only for lines that are a plain company name (no URL). Auto tries Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in that order and uses the first one with open jobs. Workday always needs the full URL.",
            "default": "auto"
          },
          "titleKeywords": {
            "title": "Job title contains (any of)",
            "type": "array",
            "description": "Keep a job only if its title contains at least one of these words (case-insensitive), e.g. engineer, data, marketing. Leave empty for all jobs. On Workday this also narrows the search on Workday's side, which makes big boards much faster.",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Job title must not contain",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. intern, senior, manager.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location contains (any of)",
            "type": "array",
            "description": "Keep a job only if its location, any of its locations or its country contains one of these, e.g. London, Germany, United States, Remote.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs marked remote by the board, or with 'remote' in the location or title.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep only jobs posted in the last N days (0 = any date). Workday list dates are approximate ('Posted 3 Days Ago'), the exact date is read from the job page.",
            "default": 0
          },
          "departments": {
            "title": "Department or team contains (any of)",
            "type": "array",
            "description": "Keep a job only if its department or team contains one of these, e.g. Engineering, Sales.",
            "items": {
              "type": "string"
            }
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run (monitoring)",
            "type": "boolean",
            "description": "Remembers which jobs each board already returned (in a key-value store on your own account) and returns only jobs that are new since your previous run. Schedule the Actor daily or hourly to get a feed of new openings. Each row then has isNew = true.",
            "default": false
          },
          "firstRunMode": {
            "title": "First monitoring run",
            "enum": [
              "all",
              "baseline"
            ],
            "type": "string",
            "description": "What the first run with 'Only new jobs' does for a board it has never seen. 'Return all current jobs' delivers today's openings (and remembers them). 'Baseline only' just remembers today's openings and returns nothing, so you are charged only for jobs posted after that.",
            "default": "all"
          },
          "stateStoreName": {
            "title": "Monitoring store name",
            "type": "string",
            "description": "Name of the key-value store on your account that keeps the seen job IDs. Change it to run separate, independent monitors.",
            "default": "career-site-jobs-state"
          },
          "stateNamespace": {
            "title": "Monitoring namespace (optional)",
            "type": "string",
            "description": "Optional label to keep several independent monitors in the same store, e.g. 'sales-roles'. Leave empty to use your Apify user ID."
          },
          "includeDescription": {
            "title": "Include full job description",
            "type": "boolean",
            "description": "Adds the full description as plain text and HTML. On SmartRecruiters and Workday this needs one extra request per job, so turning it off makes those boards much faster.",
            "default": true
          },
          "maxJobsPerBoard": {
            "title": "Max jobs per board",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many matching jobs from one board (0 = no limit).",
            "default": 1000
          },
          "maxItems": {
            "title": "Max jobs in total",
            "minimum": 0,
            "type": "integer",
            "description": "Stop the whole run after this many job rows (0 = no limit). Status rows for boards that failed are free and do not count.",
            "default": 0
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 0,
            "maximum": 6,
            "type": "integer",
            "description": "How many times a failed request is retried before the board or job is reported as failed.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: the job boards' public APIs answer without a proxy. Only set one if you see blocks.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}