{
  "openapi": "3.0.1",
  "info": {
    "title": "Swiss Jobs Scraper (Job-Room / arbeit.swiss)",
    "description": "Scrape every open job in Switzerland from Job-Room (arbeit.swiss): 80,000+ jobs with recruiter email and phone, salary when stated, GPS and required languages. Search by keyword, occupation or distance around any town, skip staffing agencies, and get alerts on new jobs.",
    "version": "1.0",
    "x-build-id": "jFMdrQ2Oh0BmkBtLH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~jobroom-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-jobroom-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/normdata~jobroom-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-jobroom-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/normdata~jobroom-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-jobroom-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",
        "properties": {
          "maxItems": {
            "title": "How many jobs",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops once this many jobs are collected. Leave empty to get every matching job. _(Free plan: always a 10 job sample.)_"
          },
          "keywords": {
            "title": "Job title or keywords",
            "type": "array",
            "description": "Words in the job title or description, in any language, e.g. `nurse`, `Koch`, `comptable`. A job matches if it has any of them. The prefilled `software` is only a sample: replace it, or delete it if you use Occupations instead.",
            "items": {
              "type": "string"
            }
          },
          "occupationGroups": {
            "title": "Occupations",
            "type": "array",
            "description": "Pick from the list; start typing to search: nursing, software developers, electricians, cooks, accountants... A job matches if it is in any of them.",
            "items": {
              "type": "string",
              "enum": [
                "242",
                "334",
                "921",
                "612",
                "216",
                "031",
                "343",
                "821",
                "264",
                "722",
                "515",
                "712",
                "711",
                "333",
                "121",
                "832",
                "523",
                "813",
                "531",
                "422",
                "011",
                "512",
                "265",
                "252",
                "911",
                "741",
                "742",
                "215",
                "214",
                "241",
                "331",
                "622",
                "816",
                "941",
                "751",
                "621",
                "753",
                "411",
                "335",
                "514",
                "731",
                "833",
                "141",
                "351",
                "133",
                "413",
                "261",
                "341",
                "111",
                "262",
                "213",
                "314",
                "831",
                "723",
                "112",
                "932",
                "132",
                "611",
                "432",
                "212",
                "321",
                "221",
                "812",
                "931",
                "811",
                "312",
                "613",
                "834",
                "021",
                "431",
                "322",
                "222",
                "441",
                "754",
                "962",
                "325",
                "226",
                "516",
                "524",
                "143",
                "818",
                "235",
                "713",
                "224",
                "532",
                "211",
                "311",
                "234",
                "732",
                "313",
                "131",
                "134",
                "541",
                "961",
                "142",
                "814",
                "332",
                "122",
                "243",
                "233",
                "412",
                "721",
                "315",
                "835",
                "522",
                "263",
                "251",
                "342",
                "521",
                "951",
                "952",
                "631",
                "634",
                "632",
                "633",
                "352",
                "421",
                "815",
                "323",
                "223",
                "933",
                "511",
                "231",
                "912",
                "225",
                "324",
                "232",
                "513",
                "817",
                "752"
              ],
              "enumTitles": [
                "Administration Professionals",
                "Administrative and Specialized Secretaries",
                "Agricultural, Forestry and Fishery Labourers",
                "Animal Producers",
                "Architects, Planners, Surveyors and Designers",
                "Armed Forces Occupations, Other Ranks",
                "Artistic, Cultural and Culinary Associate Professionals",
                "Assemblers",
                "Authors, Journalists and Linguists",
                "Blacksmiths, Toolmakers and Related Trades Workers",
                "Building and Housekeeping Supervisors",
                "Building Finishers and Related Trades Workers",
                "Building Frame and Related Trades Workers",
                "Business Services Agents",
                "Business Services and Administration Managers",
                "Car, Van and Motorcycle Drivers",
                "Cashiers and Ticket Clerks",
                "Chemical and Photographic Products Plant and Machine Operators",
                "Child Care Workers and Teachers' Aides",
                "Client Information Workers",
                "Commissioned Armed Forces Officers",
                "Cooks",
                "Creative and Performing Artists",
                "Database and Network Professionals",
                "Domestic, Hotel and Office Cleaners and Helpers",
                "Electrical Equipment Installers and Repairers",
                "Electronics and Telecommunications Installers and Repairers",
                "Electrotechnology Engineers",
                "Engineering Professionals (excluding Electrotechnology)",
                "Finance Professionals",
                "Financial and Mathematical Associate Professionals",
                "Fishery Workers, Hunters and Trappers",
                "Food and Related Products Machine Operators",
                "Food Preparation Assistants",
                "Food Processing and Related Trades Workers",
                "Forestry and Related Workers",
                "Garment and Related Trades Workers",
                "General Office Clerks",
                "Government Regulatory  Associate Professionals",
                "Hairdressers, Beauticians and Related Workers",
                "Handicraft Workers",
                "Heavy Truck and Bus Drivers",
                "Hotel and Restaurant Managers",
                "Information and Communications Technology Operations and User Support Technicians",
                "Information and Communications Technology Service managers",
                "Keyboard Operators",
                "Legal Professionals",
                "Legal, Social and Religious Associate Professionals",
                "Legislators and Senior Officials",
                "Librarians, Archivists and Curators",
                "Life Science Professionals",
                "Life Science Technicians and Related Associate Professionals",
                "Locomotive Engine Drivers and Related Workers",
                "Machinery Mechanics and Repairers",
                "Managing Directors and Chief Executives",
                "Manufacturing Labourers",
                "Manufacturing, Mining, Construction and Distribution Managers",
                "Market Gardeners and Crop Growers",
                "Material Recording and Transport Clerks",
                "Mathematicians, Actuaries and Statisticians",
                "Medical and Pharmaceutical Technicians",
                "Medical Doctors",
                "Metal Processing and Finishing Plant Operators",
                "Mining and Construction Labourers",
                "Mining and Mineral Processing Plant Operators",
                "Mining, Manufacturing and Construction Supervisors",
                "Mixed Crop and Animal Producers",
                "Mobile Plant Operators",
                "Non-commissioned Armed Forces Officers",
                "Numerical Clerks",
                "Nursing and Midwifery Associate Professionals",
                "Nursing and Midwifery Professionals",
                "Other Clerical Support Workers",
                "Other Craft and Related Workers",
                "Other Elementary Workers",
                "Other Health Associate Professionals",
                "Other Health Professionals",
                "Other Personal Services Workers",
                "Other Sales Workers",
                "Other Services Managers",
                "Other Stationary Plant and Machine Operators",
                "Other Teaching Professionals",
                "Painters, Building Structure Cleaners and Related Trades Workers",
                "Paramedical Practitioners",
                "Personal Care Workers in Health Services",
                "Physical and Earth Science Professionals",
                "Physical and Engineering Science Technicians",
                "Primary School and Early Childhood Teachers",
                "Printing Trades Workers",
                "Process Control Technicians",
                "Production Managers in Agriculture, Forestry and Fisheries",
                "Professional Services Managers",
                "Protective Services Workers",
                "Refuse Workers",
                "Retail and Wholesale Trade Managers",
                "Rubber, Plastic and Paper Products Machine Operators",
                "Sales and Purchasing Agents and Brokers",
                "Sales, Marketing and Development Managers",
                "Sales, Marketing and Public Relations Professionals",
                "Secondary Education Teachers",
                "Secretaries (general)",
                "Sheet and Structural Metal Workers, Moulders and Welders, and Related Workers",
                "Ship and Aircraft Controllers and Technicians",
                "Ships' Deck Crews and Related Workers",
                "Shop Aalespersons",
                "Social and Religious Professionals",
                "Software and Applications Developers and Analysts",
                "Sports and Fitness Workers",
                "Street and Market Salespersons",
                "Street and Related Service Workers",
                "Street Vendors (excluding Food)",
                "Subsistence Crop Farmers",
                "Subsistence Fishers, Hunters, Trappers and Gatherers",
                "Subsistence Livestock Farmers",
                "Subsistence Mixed Crop and Livestock Farmers",
                "Telecommunications and Broadcasting Technicians",
                "Tellers, Money Collectors and Related Clerks",
                "Textile, Fur and Leather Products Machine Operators",
                "Traditional and Complementary Medicine Associate Professionals",
                "Traditional and Complementary Medicine Professionals",
                "Transport and Storage Labourers",
                "Travel Attendants, Conductors and Guides",
                "University and Higher Education Teachers",
                "Vehicle, Window, Laundry and Other Hand Cleaning Workers",
                "Veterinarians",
                "Veterinary Technicians and Assistants",
                "Vocational education teachers",
                "Waiters and Bartenders",
                "Wood Processing and Papermaking Plant Operators",
                "Wood Treaters, Cabinet-makers and Related Trades Workers"
              ]
            }
          },
          "jobTitles": {
            "title": "Official Swiss job titles",
            "type": "array",
            "description": "For one exact profession, e.g. `Pflegefachfrau`, `Informatiker`, `Polymechaniker`, `infirmier`. Unlike keywords, this finds every job filed under that profession, whatever words the ad uses. If a title is not found, the closest ones are suggested.",
            "items": {
              "type": "string"
            }
          },
          "company": {
            "title": "Company",
            "type": "string",
            "description": "Only jobs from companies whose name contains this, e.g. `Migros`, `SBB`, `Roche`."
          },
          "city": {
            "title": "Town or city",
            "type": "string",
            "description": "Any Swiss town, e.g. `Zürich`, `Genève`, `Winterthur`, `Lugano`."
          },
          "radiusKm": {
            "title": "Distance around the town",
            "enum": [
              "5",
              "10",
              "15",
              "20",
              "30",
              "50",
              "80"
            ],
            "type": "string",
            "description": "Jobs up to this far from the town above. Only used when a town is filled in.",
            "default": "10"
          },
          "cantons": {
            "title": "Cantons",
            "type": "array",
            "description": "Jobs anywhere in these cantons.",
            "items": {
              "type": "string",
              "enum": [
                "AG",
                "AR",
                "AI",
                "BL",
                "BS",
                "BE",
                "FR",
                "GE",
                "GL",
                "GR",
                "JU",
                "LU",
                "NE",
                "NW",
                "OW",
                "SH",
                "SZ",
                "SO",
                "SG",
                "TG",
                "TI",
                "UR",
                "VS",
                "VD",
                "ZG",
                "ZH"
              ],
              "enumTitles": [
                "Aargau (AG)",
                "Appenzell Ausserrhoden (AR)",
                "Appenzell Innerrhoden (AI)",
                "Basel-Landschaft (BL)",
                "Basel-Stadt (BS)",
                "Bern (BE)",
                "Fribourg (FR)",
                "Geneva (GE)",
                "Glarus (GL)",
                "Graubünden (GR)",
                "Jura (JU)",
                "Lucerne (LU)",
                "Neuchâtel (NE)",
                "Nidwalden (NW)",
                "Obwalden (OW)",
                "Schaffhausen (SH)",
                "Schwyz (SZ)",
                "Solothurn (SO)",
                "St. Gallen (SG)",
                "Thurgau (TG)",
                "Ticino (TI)",
                "Uri (UR)",
                "Valais (VS)",
                "Vaud (VD)",
                "Zug (ZG)",
                "Zurich (ZH)"
              ]
            }
          },
          "postalCodes": {
            "title": "Postal codes",
            "type": "array",
            "description": "A full code like `8001`, or the start of one like `80` for the whole area.",
            "items": {
              "type": "string"
            }
          },
          "contractType": {
            "title": "Contract",
            "enum": [
              "any",
              "permanent",
              "temporary"
            ],
            "type": "string",
            "description": "Permanent jobs, temporary jobs, or both.",
            "default": "any"
          },
          "workloadMin": {
            "title": "Workload from",
            "enum": [
              "10",
              "20",
              "30",
              "40",
              "50",
              "60",
              "70",
              "80",
              "90",
              "100"
            ],
            "type": "string",
            "description": "Pensum in percent of full time. A job matches when its workload range touches yours: 80% to 100% also brings jobs offered at 60 to 80%.",
            "default": "10"
          },
          "workloadMax": {
            "title": "Workload up to",
            "enum": [
              "10",
              "20",
              "30",
              "40",
              "50",
              "60",
              "70",
              "80",
              "90",
              "100"
            ],
            "type": "string",
            "description": "100% is full time.",
            "default": "100"
          },
          "immediateStart": {
            "title": "Start right away",
            "type": "boolean",
            "description": "Only jobs that start immediately.",
            "default": false
          },
          "postedWithinDays": {
            "title": "...were published in the last",
            "enum": [
              "1",
              "2",
              "3",
              "7",
              "14",
              "30",
              "60"
            ],
            "type": "string",
            "description": "Every job online is at most 60 days old.",
            "default": "60"
          },
          "remoteOnly": {
            "title": "...offer home office or hybrid work",
            "type": "boolean",
            "description": "The ad mentions home office, remote or hybrid work.",
            "default": false
          },
          "salaryOnly": {
            "title": "...state a salary",
            "type": "boolean",
            "description": "The ad gives an amount; you get the minimum, maximum and period.",
            "default": false
          },
          "noExperienceOnly": {
            "title": "...need no experience",
            "type": "boolean",
            "description": "The employer says no work experience is needed.",
            "default": false
          },
          "excludeAgencies": {
            "title": "...are posted by the employer itself",
            "type": "boolean",
            "description": "Leaves out jobs posted by staffing and recruitment agencies on behalf of another company.",
            "default": false
          },
          "mustHave": {
            "title": "...come with",
            "type": "array",
            "description": "Only jobs that include all the details you pick.",
            "items": {
              "type": "string",
              "enum": [
                "email",
                "phone",
                "contactPerson",
                "applyLink"
              ],
              "enumTitles": [
                "An email address",
                "A phone number",
                "A named contact person",
                "An application link"
              ]
            }
          },
          "languagesNotRequired": {
            "title": "...don't require these languages",
            "type": "array",
            "description": "Leaves out jobs that ask for the language at intermediate level or higher. For people who do not speak German, French or Italian.",
            "items": {
              "type": "string",
              "enum": [
                "de",
                "fr",
                "it",
                "en"
              ],
              "enumTitles": [
                "German",
                "French",
                "Italian",
                "English"
              ]
            }
          },
          "sort": {
            "title": "Order",
            "enum": [
              "newest",
              "oldest",
              "relevance"
            ],
            "type": "string",
            "description": "\"Best match\" only differs from newest first when you search by keywords.",
            "default": "newest"
          },
          "language": {
            "title": "Language of occupation names",
            "enum": [
              "en",
              "de",
              "fr",
              "it"
            ],
            "type": "string",
            "description": "Occupation names come in this language. A job posted in several languages gives its description in this one too.",
            "default": "en"
          },
          "jobIds": {
            "title": "Job links",
            "type": "array",
            "description": "One per line: a job-room.ch job link or its ID.",
            "items": {
              "type": "string"
            }
          },
          "trackChanges": {
            "title": "Track changes between runs",
            "type": "boolean",
            "description": "The first run remembers every job. Each later run marks jobs as new, updated or reappeared, and lists the ones that closed.",
            "default": false
          },
          "emitUnchanged": {
            "title": "Also return jobs that did not change",
            "type": "boolean",
            "description": "Off: later runs return only what changed. On: every current job, each with its change type.",
            "default": false
          },
          "emitExpired": {
            "title": "Also return closed jobs",
            "type": "boolean",
            "description": "Jobs from the last run that are no longer online.",
            "default": true
          },
          "stateKey": {
            "title": "Name of this watch",
            "type": "string",
            "description": "Optional. Only needed to run several watches on the same search separately."
          },
          "slackWebhookUrl": {
            "title": "Slack",
            "type": "string",
            "description": "A Slack incoming webhook link, starting with https://hooks.slack.com/services/ (create one at api.slack.com/apps: Create New App, Incoming Webhooks, Add New Webhook to Workspace, pick the channel)."
          },
          "discordWebhookUrl": {
            "title": "Discord",
            "type": "string",
            "description": "A Discord channel webhook link (Edit Channel, Integrations, Webhooks, New Webhook, Copy Webhook URL)."
          },
          "telegramBotToken": {
            "title": "Telegram bot token",
            "type": "string",
            "description": "The token of your Telegram bot, from @BotFather."
          },
          "telegramChatId": {
            "title": "Telegram chat ID",
            "type": "string",
            "description": "The chat or channel the bot posts to."
          },
          "webhookUrl": {
            "title": "Webhook",
            "type": "string",
            "description": "Receives a JSON summary with the new and changed jobs."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}