{
  "openapi": "3.0.1",
  "info": {
    "title": "Personio Jobs Scraper: Career Pages, Salaries & Alerts",
    "description": "Open jobs from any Personio careers page (jobs.personio.de / .com) via Personio’s public XML job feed. Give company names or links; get every job with offices, department, employment type, description and alerts.",
    "version": "1.2",
    "x-build-id": "iyH4goPcJW2vI06y7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/wiltech~personio-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-wiltech-personio-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/wiltech~personio-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-wiltech-personio-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/wiltech~personio-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-wiltech-personio-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": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Companies",
            "minItems": 1,
            "maxItems": 1000,
            "type": "array",
            "description": "One company per line: a careers link (https://ottonova.jobs.personio.de/), a company name, a website, or personio:company (personio:ottonova).",
            "items": {
              "type": "string"
            }
          },
          "titleKeywords": {
            "title": "Job title contains",
            "type": "array",
            "description": "Keep jobs whose title contains any of these words, e.g. engineer, sales, marketing. Matches the start of words, so \"engineer\" also finds \"Engineering Manager\". Leave empty for all jobs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeTitleKeywords": {
            "title": "Job title does not contain",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. intern, senior.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locationKeywords": {
            "title": "Location contains",
            "type": "array",
            "description": "Keep jobs whose location matches any of these, e.g. London, Germany, Remote, or a 2-letter country code such as US.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep only these workplace types. Leave empty for all. \"Not stated\" covers jobs whose posting does not say.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite",
                "unspecified"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site",
                "Not stated"
              ]
            },
            "default": []
          },
          "departmentKeywords": {
            "title": "Department or team contains",
            "type": "array",
            "description": "Keep jobs whose department or team matches any of these, e.g. Engineering, Sales.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted in the last (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Keep jobs posted in the last N days. 0 means any date. Jobs with no posting date are kept.",
            "default": 0
          },
          "requireSalary": {
            "title": "Only jobs that show a salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a salary range.",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs since the last run",
            "type": "boolean",
            "description": "Return only jobs not seen in earlier runs of the same company list (or the same watch list name). Ideal for scheduled daily or weekly alerts. The first run returns everything and sets the baseline.",
            "default": false
          },
          "watchListName": {
            "title": "Watch list name",
            "type": "string",
            "description": "Optional. Give a name to keep \"new job\" tracking separate from your other lists, or to keep it when you edit the company list. Without a name, tracking follows the exact company list.",
            "default": ""
          },
          "descriptionFormat": {
            "title": "Job description",
            "enum": [
              "text",
              "html",
              "both",
              "none"
            ],
            "type": "string",
            "description": "Include the full job description as plain text, HTML, both, or not at all (faster, smaller results).",
            "default": "text"
          },
          "maxJobsPerCompany": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop reading a company's board after this many jobs. Large employers list thousands of jobs.",
            "default": 500
          },
          "maxTotalJobs": {
            "title": "Max total jobs",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Stop the run after saving this many jobs in total. 0 means no limit. Your run's spending limit is always respected as well.",
            "default": 0
          },
          "scanCompanyWebsites": {
            "title": "Look for job board links on company websites",
            "type": "boolean",
            "description": "When you give a website (stripe.com), read its careers page to find the exact job board. Respects the site's robots.txt. Turn off to only check job systems directly.",
            "default": true
          },
          "acceptUncertainMatches": {
            "title": "Accept uncertain matches",
            "type": "boolean",
            "description": "When a company name only loosely matches a job board, include it anyway. Off by default so you never get another company's jobs by mistake; every job carries matchConfidence either way.",
            "default": false
          },
          "includeStatusRecords": {
            "title": "Add status records for problems",
            "type": "boolean",
            "description": "Add a record (recordType \"status\", never charged) for each company that could not be matched or loaded, explaining why. Useful for automations and AI agents so a missing company is never silent.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}