{
  "openapi": "3.0.1",
  "info": {
    "title": "XING Jobs Scraper: Germany, Austria & Switzerland Jobs",
    "description": "Scrape XING jobs in Germany, Austria & Switzerland: full descriptions, posted salaries and XING salary estimates (flagged), remote/hybrid, career level, company data, all search filters, browser-URL input and an \"only new jobs\" mode. No login, no browser.",
    "version": "0.1",
    "x-build-id": "7Qtpdb59NRwedov4X"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rjmacarthy~xing-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rjmacarthy-xing-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/rjmacarthy~xing-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rjmacarthy-xing-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/rjmacarthy~xing-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rjmacarthy-xing-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",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "What you would type in XING's job search box, e.g. \"python developer\", \"Projektmanager\" or a company name. XING's search understands German and English. Leave empty for all jobs."
          },
          "location": {
            "title": "City",
            "type": "string",
            "description": "City or town to search in, e.g. \"Berlin\", \"München\", \"Wien\" or \"Zürich\". It is matched against XING's city list (within the chosen country). Leave empty to search the whole country."
          },
          "radius": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around the city in kilometres. 0 = the city only. Only used when a city is set.",
            "default": 20
          },
          "country": {
            "title": "Country",
            "enum": [
              "ALL",
              "DE",
              "AT",
              "CH"
            ],
            "type": "string",
            "description": "DE, AT or CH: the city is looked up in this country and only jobs located there are output. A country-wide search in Austria or Switzerland (no city) covers the 20 largest cities of that country. ALL = Germany, Austria and Switzerland together.",
            "default": "ALL"
          },
          "remoteOptions": {
            "title": "Remote / hybrid / on-site",
            "type": "array",
            "description": "Only jobs with these work arrangements. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "FULL_REMOTE",
                "PARTLY_REMOTE",
                "NON_REMOTE"
              ],
              "enumTitles": [
                "Remote (home office)",
                "Hybrid (partly remote)",
                "On-site"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type",
            "type": "array",
            "description": "Only jobs with these employment types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "FULL_TIME",
                "PART_TIME",
                "CONTRACTOR",
                "INTERN",
                "TEMPORARY",
                "SEASONAL",
                "VOLUNTARY"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Freelance / contractor",
                "For students (internship, working student)",
                "Temporary / casual",
                "Seasonal",
                "Volunteer"
              ]
            }
          },
          "careerLevels": {
            "title": "Career level",
            "type": "array",
            "description": "Only jobs for these career levels. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "STUDENT_INTERN",
                "ENTRY_LEVEL",
                "PROFESSIONAL",
                "MANAGER",
                "DIRECTOR",
                "EXECUTIVE"
              ],
              "enumTitles": [
                "Student / intern",
                "Entry level",
                "Professional / experienced",
                "Manager (with or without direct reports)",
                "Director (head of, VP, SVP)",
                "Executive (CEO, managing director)"
              ]
            }
          },
          "disciplines": {
            "title": "Discipline (job function)",
            "type": "array",
            "description": "Only jobs in these XING disciplines. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1001",
                "1002",
                "1003",
                "1004",
                "1005",
                "1006",
                "1007",
                "1008",
                "1009",
                "1010",
                "1011",
                "1012",
                "1013",
                "1014",
                "1015",
                "1016",
                "1017",
                "1018",
                "1019",
                "1020",
                "1021",
                "1022"
              ],
              "enumTitles": [
                "Analysis and statistics",
                "Administration",
                "Consulting",
                "Customer service",
                "Purchasing, materials management & logistics",
                "Finance, accounting & controlling",
                "Teaching, R&D",
                "Health, medical and social",
                "Graphic design and architecture",
                "Engineering and technical",
                "IT and software development",
                "Management and corporate development",
                "Marketing and advertising",
                "HR",
                "PR and journalism",
                "Production and manufacturing",
                "Product management",
                "Project management",
                "Process planning & QA",
                "Legal",
                "Sales and commerce",
                "Other"
              ]
            }
          },
          "industries": {
            "title": "Industry",
            "type": "array",
            "description": "Only jobs from employers in these XING industries. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "10000",
                "20000",
                "30000",
                "40000",
                "50000",
                "60000",
                "70000",
                "80000",
                "90000",
                "100000",
                "110000",
                "120000",
                "130000",
                "140000",
                "150000",
                "160000",
                "170000",
                "180000",
                "190000",
                "200000",
                "210000",
                "220000",
                "230000"
              ],
              "enumTitles": [
                "Architecture and planning",
                "Consumer goods and trade",
                "Automotive and vehicle manufacturing",
                "Industry and mechanical engineering",
                "Pharmaceutical and medical technology",
                "Energy, water and environment",
                "Transport and logistics",
                "Tourism and food service",
                "Internet and IT",
                "Telecommunications",
                "Media and publishing",
                "Banking and financial services",
                "Insurance",
                "Real estate",
                "Auditing, tax and law",
                "Consulting",
                "Marketing, PR and design",
                "HR services",
                "Civil service, associations and institutions",
                "Education and science",
                "Health and social",
                "Art, culture and sport",
                "Other industries"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only jobs posted or refreshed on XING in the last N days (the date XING shows on each job). 0 = any time.",
            "default": 0
          },
          "salaryMin": {
            "title": "Minimum salary (yearly)",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "XING's salary filter: annual gross salary in EUR (CHF in Switzerland), matched against posted salaries and XING's own salary estimates. Leave empty for no minimum."
          },
          "salaryMax": {
            "title": "Maximum salary (yearly)",
            "minimum": 0,
            "maximum": 200000,
            "type": "integer",
            "description": "Upper end of XING's salary filter (annual gross). Leave empty for no maximum."
          },
          "startUrls": {
            "title": "Or paste XING URLs",
            "type": "array",
            "description": "Search URLs copied from your browser (https://www.xing.com/jobs/search?keywords=...) and/or single job URLs (https://www.xing.com/jobs/berlin-python-developer-156675213). Each search URL is scraped with its own keywords and filters; when you add URLs, the search fields above are ignored (Country still filters the results).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxJobs": {
            "title": "Max jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many jobs from each search (each search URL counts as one search). 0 = no limit; XING itself returns at most 1,000 results per search.",
            "default": 100
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Add the full job description as HTML and plain text. It arrives with the search results, so it costs no extra requests. E-mail addresses and phone numbers in descriptions are removed.",
            "default": true
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Relevance is XING's own order and the fastest. \"Newest first\" reads all results of the search (XING only sorts by relevance) and sorts them by date; combine it with \"Posted within\" to keep it quick.",
            "default": "relevance"
          },
          "language": {
            "title": "Label language",
            "enum": [
              "en",
              "de"
            ],
            "type": "string",
            "description": "Language of XING's labels in the output (employment type, career level, discipline, industry, company size). Job descriptions stay in the language they were written in.",
            "default": "en"
          },
          "onlyNewJobs": {
            "title": "Only new jobs (incremental mode)",
            "type": "boolean",
            "description": "Remember which jobs were already output and only output (and charge for) jobs that are new since the previous run. The first run outputs all matching jobs (up to the limit) and saves them as the baseline. Later runs ask XING only for jobs posted or refreshed since the previous run, so they are fast. Ideal for scheduled job alerts.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name (state key)",
            "type": "string",
            "description": "Name of this monitor's memory. Runs with the same name share the list of already-seen jobs. Use different names for independent monitors (e.g. \"python-berlin\" vs \"sap-zurich\").",
            "default": "default"
          },
          "stateStoreName": {
            "title": "State key-value store name",
            "type": "string",
            "description": "Named key-value store in your account where incremental state is kept (letters, digits and dashes).",
            "default": "xing-jobs-scraper-state"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed normally. If XING starts refusing requests (HTTP 403/429), enable Apify Proxy (RESIDENTIAL with country DE is the most reliable).",
            "default": {
              "useApifyProxy": false
            }
          },
          "searchSource": {
            "title": "Data source",
            "enum": [
              "auto",
              "api",
              "html"
            ],
            "type": "string",
            "description": "auto: XING's job API, falling back to the data embedded in xing.com pages if the API fails. api / html force one source (html gives listing fields only, plus one extra request per job for the description).",
            "default": "auto"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}