{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Jobs Search: Greenhouse, Lever, Ashby",
    "description": "Search job postings from company career sites on Greenhouse, Lever, Ashby, Workable and Recruitee ATS boards. A built-in index of 280 company boards, no company list needed. Filter by keyword, location and remote. Get title, department, salary and apply link. Monitor mode finds new and closed jobs.",
    "version": "0.1",
    "x-build-id": "FUPSdV9tJma8V9NJ2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maliksaid~career-site-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maliksaid-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/maliksaid~career-site-jobs/runs": {
      "post": {
        "operationId": "runs-sync-maliksaid-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/maliksaid~career-site-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-maliksaid-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": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep jobs whose title, department or company contains at least one keyword, for example \"data engineer\" or \"product manager\". Keywords match whole words and ignore case. Leave empty to keep every job.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, for example \"intern\" or \"senior\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "descriptionKeywords": {
            "title": "Description keywords",
            "type": "array",
            "description": "Keep jobs whose description contains at least one of these words, for example \"Python\" or \"Kubernetes\". Use this for skills that appear only in the job text. Whole words, any case. Leave empty to skip.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeDescriptionKeywords": {
            "title": "Exclude description keywords",
            "type": "array",
            "description": "Drop jobs whose description contains any of these words, for example \"clearance\" or \"relocation\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs in any of these places. Use a city, region or country as the employer writes it, for example \"London\", \"Germany\" or \"Remote\". Leave empty for every location.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeLocations": {
            "title": "Exclude locations",
            "type": "array",
            "description": "Drop jobs in any of these places, for example \"India\" to keep remote jobs outside India. Whole words, any case.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs that the ATS or the location marks as remote.",
            "default": false
          },
          "salaryOnly": {
            "title": "Jobs with salary only",
            "type": "boolean",
            "description": "Keep only jobs that state pay (a minimum, maximum or salary text). Greenhouse and Workable list APIs carry no salary, so their jobs are dropped when this is on.",
            "default": false
          },
          "seniorityLevels": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep only jobs at these levels. The level is read from the job title, for example \"Senior\", \"Staff\" or \"Head of\". Jobs whose title gives no level are dropped when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "mid",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Junior",
                "Mid-level",
                "Senior",
                "Lead, staff or principal",
                "Manager",
                "Director or head of",
                "Executive or VP"
              ]
            },
            "default": []
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep only remote, hybrid or on-site jobs. Jobs whose board does not state the workplace type are dropped when this is set. \"Remote jobs only\" keeps working as before.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "on-site"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            },
            "default": []
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Keep only these employment types. Jobs whose board does not state one are dropped when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "internship",
                "temporary"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Internship",
                "Temporary"
              ]
            },
            "default": []
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs posted or updated in the last N days. 0 means any date.",
            "default": 0
          },
          "atsPlatforms": {
            "title": "ATS platforms",
            "type": "array",
            "description": "Which applicant tracking systems to search. Leave empty for all five.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workable",
                "recruitee"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workable",
                "Recruitee"
              ]
            },
            "default": []
          },
          "useBuiltInIndex": {
            "title": "Search the built-in company index",
            "type": "boolean",
            "description": "Search every company board in the built-in index. Turn off to search only the companies you list below.",
            "default": true
          },
          "companies": {
            "title": "Extra companies",
            "type": "array",
            "description": "Optional. Add company job boards by URL, for example https://boards.greenhouse.io/stripe, https://jobs.lever.co/spotify, https://jobs.ashbyhq.com/openai, https://apply.workable.com/blueground or https://bunq.recruitee.com. You can also write greenhouse:stripe, or just a board name such as figma. A bare name is tried on every selected ATS, so it may also match another company that uses the same name.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Drop jobs from these companies. Use the company name or its board name, for example \"stripe\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companyDomains": {
            "title": "Company website domains",
            "type": "array",
            "description": "Keep only jobs from companies with these website domains, for example stripe.com. Only index boards whose domain is known can match. Index boards of other companies are not read, so the run is fast.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Add a description field with the whole job description as plain text, up to 8,000 characters. Emails and phone numbers are removed. Each record gets larger.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (new and closed jobs)",
            "type": "boolean",
            "description": "Return only changes since the last monitor run with the same state key: jobs that are new, and jobs that were removed from their board (closed). The first run returns every matching job as new. Schedule the Actor with this on to get a daily change feed.",
            "default": false
          },
          "includeUpdated": {
            "title": "Monitor mode: include updated jobs",
            "type": "boolean",
            "description": "In monitor mode, also return a job seen before when its title, location, pay, workplace type or update date changed. These records have changeType \"updated\". Off by default.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor state key",
            "type": "string",
            "description": "Name of the memory that monitor mode uses. Use a different key for each separate search.",
            "default": "default"
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after saving this many jobs. The default keeps test runs short and cheap. Set 0 for no limit.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}