{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs Search API – 6,145 Company Job Boards",
    "description": "Search open jobs directly from 6,145 company career sites (Greenhouse, Lever, Ashby) plus any Workday site you add, in one schema: keyword, location, remote, posted-within and company filters, salary, apply links, only-new mode for daily feeds. $1.50 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "2my0G9zDzHeBjepuI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gazidev~career-site-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gazidev-career-site-jobs",
        "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/gazidev~career-site-jobs/runs": {
      "post": {
        "operationId": "runs-sync-gazidev-career-site-jobs",
        "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/gazidev~career-site-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-gazidev-career-site-jobs",
        "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": {
          "targets": {
            "title": "Companies (optional)",
            "type": "array",
            "description": "Leave empty to search the whole built-in directory. Or add your own companies: board URLs, career pages, domains or shorthands like greenhouse:airbnb, lever:palantir, ashby:openai, workable:huggingface.",
            "items": {
              "type": "string"
            }
          },
          "searchAllCompanies": {
            "title": "Search all 6,145 career-site companies in the built-in directory",
            "type": "boolean",
            "description": "When no companies are given (default), the actor scans its built-in directory of 6,145 verified career-site job boards and returns the jobs matching your keywords/location filters. Turn off to require your own company list."
          },
          "companyNameFilter": {
            "title": "Directory: only companies whose name contains",
            "type": "array",
            "description": "Optional. Limit the directory scan to company names containing any of these words (e.g. \"ai\", \"health\", \"bank\").",
            "items": {
              "type": "string"
            }
          },
          "maxCompanies": {
            "title": "Directory: max companies to scan",
            "minimum": 0,
            "type": "integer",
            "description": "0 = all. The biggest boards (most open jobs) are scanned first.",
            "default": 0
          },
          "keywords": {
            "title": "Keywords (any)",
            "type": "array",
            "description": "Keep a job if ANY keyword matches its title, department or team (case/accent-insensitive whole words; trailing * = prefix, e.g. \"engineer*\"). Empty = all jobs.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words (e.g. \"intern\", \"senior\").",
            "items": {
              "type": "string"
            }
          },
          "searchInDescription": {
            "title": "Match keywords in description too",
            "type": "boolean",
            "description": "Also match keywords against the full job description (broader, noisier). Off = title/department/team only.",
            "default": false
          },
          "locations": {
            "title": "Locations (any)",
            "type": "array",
            "description": "Keep a job if ANY of these strings appears in its locations or country (substring, case-insensitive), e.g. \"London\", \"Germany\", \"New York\". \"remote\" also matches jobs flagged remote. Empty = all locations.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Only jobs flagged remote by the ATS or with 'Remote' in their location/title.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only jobs posted (or, if the ATS has no posting date, updated) in the last N days. Empty = no date filter."
          },
          "includeDescription": {
            "title": "Include job description",
            "type": "boolean",
            "description": "Add description_html and description_text to each job. Off keeps the dataset small. (SmartRecruiters needs one extra request per job for this.)",
            "default": false
          },
          "onlyNew": {
            "title": "Delta mode: only jobs not seen in previous runs",
            "type": "boolean",
            "description": "Remembers delivered jobs in a named key-value store (career-site-jobs-state), keyed by your companies + filters. Scheduled runs then output (and charge) only newly posted jobs. The first run returns everything that matches.",
            "default": false
          },
          "stateKey": {
            "title": "Delta state key (optional)",
            "type": "string",
            "description": "Custom name for the delta memory, so you can edit companies/filters and keep the history. Default: derived automatically from companies + filters."
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Safety cap per job board (applied before filters for most ATSs; after title/date pre-filter for Workday).",
            "default": 2000
          },
          "maxItems": {
            "title": "Max jobs in total",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many jobs are output (you are charged per job output).",
            "default": 2000
          },
          "workdayFetchDetails": {
            "title": "Workday: fetch job details",
            "type": "boolean",
            "description": "Workday job lists only carry title, a location summary and a relative date. With this on (recommended), each matching job's detail is fetched for all locations, exact posting date, time type and description. Keyword filters are applied first (and sent to Workday search), so only relevant jobs cost a request.",
            "default": true
          },
          "guessSlugs": {
            "title": "Probe ATS APIs when a domain's career page shows no ATS",
            "type": "boolean",
            "description": "For bare domains: if the career page has no recognisable ATS link, try the domain name (e.g. stripe.com -> 'stripe') on each ATS's public board API. Detection method is reported per company in the OUTPUT record.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}