{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Career Pages Jobs Monitor",
    "description": "Live job postings straight from company career sites, with new/closed tracking, salary ranges, seniority and tech-stack signals. No proxies, no blocks.",
    "version": "0.1",
    "x-build-id": "YAgiUw3dqwVC48n7V"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/taekop~career-site-jobs-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-taekop-career-site-jobs-monitor",
        "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/taekop~career-site-jobs-monitor/runs": {
      "post": {
        "operationId": "runs-sync-taekop-career-site-jobs-monitor",
        "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/taekop~career-site-jobs-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-taekop-career-site-jobs-monitor",
        "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": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "One entry per company. Accepts a company name or slug (`airbnb`), a domain (`stripe.com`), a careers page URL, an ATS board URL (`https://jobs.lever.co/palantir`), or an explicit `ats:slug` such as `greenhouse:airbnb`, `smartrecruiters:BoschGroup`, `gem:company`, `breezy:company`, `rippling:company` or `personio:company`. Workday needs the careers page URL, for example `https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite`. The platform is detected automatically.",
            "default": [
              "Airbnb",
              "Palantir",
              "OpenAI",
              "bunq"
            ],
            "items": {
              "type": "string"
            }
          },
          "titleKeywords": {
            "title": "Job title contains (any of)",
            "type": "array",
            "description": "Keep jobs whose title contains at least one of these words, for example `engineer`, `account executive`. Whole words only; add `*` for a prefix (`engineer*`).",
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Job title does not contain",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, for example `intern*`, `recruiter`. Whole words only; add `*` for a prefix.",
            "items": {
              "type": "string"
            }
          },
          "departmentKeywords": {
            "title": "Department / team contains (any of)",
            "type": "array",
            "description": "Keep jobs whose department or team contains one of these words, for example `sales`, `data`. Whole words only.",
            "items": {
              "type": "string"
            }
          },
          "locationKeywords": {
            "title": "Location contains (any of)",
            "type": "array",
            "description": "Keep jobs whose location contains one of these words, for example `London`, `Germany`, `UK`. Whole words only, so `UK` does not match Ukraine.",
            "items": {
              "type": "string"
            }
          },
          "workModes": {
            "title": "Work mode",
            "type": "array",
            "description": "Keep only these work modes. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "seniorityLevels": {
            "title": "Seniority",
            "type": "array",
            "description": "Seniority is inferred from the job title. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "mid",
                "senior",
                "staff_principal",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern",
                "Junior",
                "Mid",
                "Senior",
                "Staff / Principal",
                "Manager / Lead",
                "Director / Head",
                "Executive (VP, C-level)"
              ]
            }
          },
          "techTagsAny": {
            "title": "Mentions technology (any of)",
            "type": "array",
            "description": "Keep jobs that mention one of these technologies, for example `python`, `kubernetes`, `golang`, `snowflake`. Common names and aliases are recognized; any other word is searched in the job text.",
            "items": {
              "type": "string"
            }
          },
          "hasSalaryOnly": {
            "title": "Only jobs with a salary range",
            "type": "boolean",
            "description": "Keep only jobs where a salary range was published in the ATS or found in the job text.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep jobs published or updated in the last N days. Jobs without a date are dropped when this is set."
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of jobs returned per company, newest first. Filters are applied to the full job list before this limit. Ignored when \"Only new jobs\" is on, which always returns every new job.",
            "default": 25
          },
          "maxTotalJobs": {
            "title": "Max jobs in total",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many billed records across all companies (job records and company summaries). This is also a cost cap.",
            "default": 500
          },
          "includeDescription": {
            "title": "Job description",
            "enum": [
              "none",
              "text",
              "html"
            ],
            "type": "string",
            "description": "Add the full job description as plain text or HTML. For SmartRecruiters, Workday and Rippling this needs one extra request per job, so runs are slower, and technology tags and text-based salary for these jobs come from the title only unless this is turned on. Breezy's feed has no job text at all.",
            "default": "none"
          },
          "redactContactDetails": {
            "title": "Remove e-mails and phone numbers from descriptions",
            "type": "boolean",
            "description": "Job texts sometimes contain recruiter e-mail addresses and phone numbers. When on, they are replaced with [email removed] and [phone removed] in the description output.",
            "default": true
          },
          "includeCompanySummary": {
            "title": "Add a hiring summary per company",
            "type": "boolean",
            "description": "One extra record per company: open roles, breakdown by department, seniority and work mode, remote share, share with salary, and the most requested technologies. Billed as a separate event.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key (optional)",
            "type": "string",
            "description": "Give this watch list a name, for example `sales-targets`. The Actor remembers the jobs it has seen under this name, marks every job `new` or `existing`, and can report closed jobs. Use the same key on every scheduled run."
          },
          "changesOnly": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Return only jobs that were not seen in the previous run with the same Monitor key. Requires a Monitor key. The very first run for a company saves a baseline and returns nothing; new jobs appear from the next run.",
            "default": false
          },
          "includeClosedJobs": {
            "title": "Also report closed jobs (free)",
            "type": "boolean",
            "description": "Add one free record for every job that disappeared since the last run with the same Monitor key. Only detected when a company's jobs were fetched completely.",
            "default": false
          },
          "probeAllAts": {
            "title": "Search all ATS providers for a name",
            "type": "boolean",
            "description": "When you enter a plain name or domain, the first ATS that has jobs for it is used. Turn this on to return every ATS that has a board with that name.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}