{
  "openapi": "3.0.1",
  "info": {
    "title": "karriere.at Jobs Scraper",
    "description": "Scrape job listings from karriere.at, Austria's largest job board. Search by keyword, browse by Bundesland/city, job category, or company, and filter by contract type, job level, search radius, and home office. Optionally fetch each job's full description and structured salary.",
    "version": "1.0",
    "x-build-id": "nCICSjx3XDZaAvwAk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~karriere-at-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-karriere-at-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/crawlerbros~karriere-at-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-karriere-at-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/crawlerbros~karriere-at-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-karriere-at-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "browseLocation",
              "browseCategory",
              "byCompany"
            ],
            "type": "string",
            "description": "What to fetch. `search` uses a free-text keyword (or leave blank to browse the newest listings nationwide), `browseLocation` browses by Bundesland/city, `browseCategory` browses by job field, `byCompany` browses all open listings from one or more specific employers.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "Free-text keyword to search job titles and descriptions (mode=search). Leave blank to browse the newest active listings nationwide. E.g. `Softwareentwickler`, `Buchhaltung`, `Marketing`."
          },
          "location": {
            "title": "Location (Bundesland / city)",
            "uniqueItems": true,
            "type": "array",
            "description": "Browse or filter by one or more Austrian states (Bundesland) or major cities (mode=browseLocation, or as an extra filter on any mode). Multiple selections are combined with OR. Leave empty for all of Austria.",
            "items": {
              "type": "string",
              "enum": [
                "wien",
                "niederösterreich",
                "oberösterreich",
                "steiermark",
                "tirol",
                "kärnten",
                "salzburg",
                "vorarlberg",
                "burgenland",
                "graz",
                "linz",
                "salzburg-stadt",
                "innsbruck",
                "klagenfurt",
                "villach",
                "wels",
                "st-pölten",
                "dornbirn",
                "wiener-neustadt",
                "steyr",
                "feldkirch",
                "bregenz",
                "leoben",
                "eisenstadt",
                "baden",
                "amstetten",
                "ried",
                "wolfsberg",
                "spittal-an-der-drau",
                "krems",
                "wörgl",
                "kufstein",
                "hallein",
                "zell-am-see",
                "traun",
                "schwechat",
                "mödling",
                "klosterneuburg",
                "leonding"
              ],
              "enumTitles": [
                "Wien (Bundesland)",
                "Niederösterreich (Bundesland)",
                "Oberösterreich (Bundesland)",
                "Steiermark (Bundesland)",
                "Tirol (Bundesland)",
                "Kärnten (Bundesland)",
                "Salzburg (Bundesland)",
                "Vorarlberg (Bundesland)",
                "Burgenland (Bundesland)",
                "Graz",
                "Linz",
                "Salzburg (Stadt)",
                "Innsbruck",
                "Klagenfurt",
                "Villach",
                "Wels",
                "St. Pölten",
                "Dornbirn",
                "Wiener Neustadt",
                "Steyr",
                "Feldkirch",
                "Bregenz",
                "Leoben",
                "Eisenstadt",
                "Baden",
                "Amstetten",
                "Ried im Innkreis",
                "Wolfsberg",
                "Spittal an der Drau",
                "Krems an der Donau",
                "Wörgl",
                "Kufstein",
                "Hallein",
                "Zell am See",
                "Traun",
                "Schwechat",
                "Mödling",
                "Klosterneuburg",
                "Leonding"
              ]
            },
            "default": []
          },
          "locationSlug": {
            "title": "Additional location slug (any Austrian town/district)",
            "type": "array",
            "description": "One or more additional karriere.at location slugs not covered by the `Location` dropdown above — Austria has thousands of town/district slugs beyond the 30 curated major cities. Free text; combines via OR with `location` (mode=browseLocation, or as an extra filter on any mode). Find a slug from a job's location link, e.g. `https://www.karriere.at/jobs/eferding` → `eferding`. An unrecognized slug cleanly returns 0 jobs rather than erroring.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Job category (Berufsfeld)",
            "uniqueItems": true,
            "type": "array",
            "description": "Browse or filter by one or more job fields / profession categories (mode=browseCategory, or as an extra filter on any mode). Multiple selections are combined with OR. Leave empty for all categories.",
            "items": {
              "type": "string",
              "enum": [
                "3085",
                "3090",
                "3095",
                "3083",
                "3086",
                "3091",
                "3100",
                "3093",
                "2172",
                "3089",
                "3099",
                "3096",
                "3088",
                "3087",
                "4048",
                "3951",
                "3092",
                "3081",
                "3084",
                "3097"
              ],
              "enumTitles": [
                "Assistenz, Verwaltung",
                "Beratung, Consulting",
                "Coaching, Training",
                "Einkauf, Logistik",
                "Finanzen, Bankwesen",
                "Führung, Management",
                "Gastronomie, Tourismus",
                "Grafik, Design",
                "IT, EDV",
                "Marketing, PR",
                "Personalwesen",
                "Pharma, Gesundheit, Soziales",
                "Produktion, Handwerk",
                "Rechnungswesen, Controlling",
                "Rechtswesen",
                "Sachbearbeitung",
                "Sonstige Berufe",
                "Technik, Ingenieurwesen",
                "Verkauf, Kundenbetreuung",
                "Wissenschaft, Forschung"
              ]
            },
            "default": []
          },
          "contractType": {
            "title": "Contract type (Anstellungsart)",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by one or more employment/contract types, e.g. Vollzeit (full-time) or Teilzeit (part-time). Multiple selections are combined with OR. Applies to any mode. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "3960",
                "3961",
                "3966",
                "3963",
                "3965",
                "3964",
                "3962"
              ],
              "enumTitles": [
                "Vollzeit (Full-time)",
                "Teilzeit (Part-time)",
                "Geringfügig (Marginal employment)",
                "Praktika (Internship)",
                "Lehre (Apprenticeship)",
                "Diplomarbeit, Dissertation (Thesis)",
                "Freelancer*in, Projektarbeit (Freelance/Project)"
              ]
            },
            "default": []
          },
          "jobLevel": {
            "title": "Job level (Positionsebene)",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by one or more seniority / position levels. Multiple selections are combined with OR. Applies to any mode. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "3954",
                "3955",
                "3956",
                "3958",
                "11972"
              ],
              "enumTitles": [
                "Berufseinstieg (Entry level)",
                "Berufserfahrung (Experienced)",
                "Projekt-, Bereichsleitung (Team/Project lead)",
                "Unternehmensführung (Executive)",
                "Selbständigkeit (Self-employed)"
              ]
            },
            "default": []
          },
          "companySlug": {
            "title": "Company slug (mode=byCompany)",
            "type": "array",
            "description": "One or more karriere.at company slugs to browse all open listings from that employer (mode=byCompany, or as an extra filter on any mode). Copy the slug from a job's `companySlug` output field, or from a company page URL, e.g. `https://www.karriere.at/f/epunkt-linz` → `epunkt-linz`. Companies number in the tens of thousands, so this is free text rather than a dropdown. Each slug runs as a separate lookup (karriere.at does not support OR-combining companies in one request), so keep the list short for fast runs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "radius": {
            "title": "Search radius around location",
            "enum": [
              "",
              "0",
              "10",
              "20",
              "30",
              "50"
            ],
            "type": "string",
            "description": "Only takes effect when exactly one city (not a Bundesland) is selected in `location` — expands the search to include jobs within N km of that city. Has no effect for Bundesland-level or multi-location selections (karriere.at ignores it in that case). Note: for some smaller towns, leaving this blank already defaults to a wider commuter-area match on karriere.at's side — set to `0` for a guaranteed exact-city-only match.",
            "default": ""
          },
          "homeofficeOnly": {
            "title": "Home office only",
            "type": "boolean",
            "description": "Only return jobs that offer home office / remote work.",
            "default": false
          },
          "fetchJobDetails": {
            "title": "Fetch full job details (slower)",
            "type": "boolean",
            "description": "Also fetch each job's detail page for a full HTML/text description, exact posted timestamp, the hiring company's own website, a structured salary breakdown (amount/currency/period), whether one-click \"smart apply\" is available, and standardized employment-type code(s). Adds one extra request per job, so runs take noticeably longer — recommended for smaller `maxItems` runs.",
            "default": false
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum number of job listings to scrape.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}