{
  "openapi": "3.0.1",
  "info": {
    "title": "Xing Jobs Scraper",
    "description": "Xing Jobs Scraper SD - Xing Jobs Scraper is a job data tool that extracts XING job listings by keyword, location or URL: title, company, salary, employment type, career level, remote option, dates, apply link, full description and company data. No login.",
    "version": "1.0",
    "x-build-id": "CBzLv12VA5YQAIQbk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neuro-scraper~xing-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neuro-scraper-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/neuro-scraper~xing-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-neuro-scraper-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/neuro-scraper~xing-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-neuro-scraper-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "One XING job search per line: job title, skill or company, e.g. \"python developer\", \"Buchhalter\", \"Projektmanager\". Leave empty and give a location to list all jobs there.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City or region, e.g. \"Berlin\", \"München\", \"Wien\", \"Zürich\". Empty = everywhere. (XING drops the location itself when you choose Remote option = Full remote.)"
          },
          "radius": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Search radius around the location in km, e.g. 10, 20, 50, 70, 100, 200 (XING's own options). 0 = XING's default. Used only with a location.",
            "default": 0
          },
          "employmentType": {
            "title": "Employment type",
            "type": "array",
            "description": "XING's employment type filter. Several values = one search per value, results merged without duplicates. The option is looked up in the result page's own filter menu.",
            "items": {
              "type": "string",
              "enum": [
                "FULL_TIME",
                "PART_TIME",
                "CONTRACTOR",
                "INTERN",
                "TEMPORARY",
                "SEASONAL",
                "VOLUNTARY"
              ],
              "enumTitles": [
                "Full-time (Vollzeit)",
                "Part-time (Teilzeit)",
                "Freelance / self-employed (Selbstständig)",
                "Students / intern (Studierende)",
                "Temporary (Aushilfe)",
                "Seasonal (Saisonarbeit)",
                "Voluntary (Ehrenamt)"
              ]
            },
            "default": []
          },
          "careerLevel": {
            "title": "Career level",
            "type": "array",
            "description": "XING's career level filter. Several values = one search per value, merged without duplicates.",
            "items": {
              "type": "string",
              "enum": [
                "STUDENT_INTERN",
                "ENTRY_LEVEL",
                "PROFESSIONAL_EXPERIENCED",
                "MANAGER_SUPERVISOR",
                "DIRECTOR_EXECUTIVE",
                "MANAGING_DIRECTOR_CEO"
              ],
              "enumTitles": [
                "Student / intern",
                "Entry level",
                "Professional / experienced",
                "Manager / supervisor",
                "Director / executive (VP, SVP)",
                "Managing director / CEO"
              ]
            },
            "default": []
          },
          "remoteOption": {
            "title": "Remote option",
            "type": "array",
            "description": "XING's home-office filter. Several values = one search per value, merged without duplicates.",
            "items": {
              "type": "string",
              "enum": [
                "FULL_REMOTE",
                "PARTLY_REMOTE",
                "NON_REMOTE"
              ],
              "enumTitles": [
                "Full remote (Im Home-Office)",
                "Hybrid (Home-Office z. T. möglich)",
                "On-site (Vor Ort)"
              ]
            },
            "default": []
          },
          "date_posted": {
            "title": "Date posted",
            "enum": [
              "",
              "LAST_24_HOURS",
              "LAST_WEEK",
              "LAST_MONTH"
            ],
            "type": "string",
            "description": "XING's time-frame filter (sincePeriod).",
            "default": ""
          },
          "salaryMin": {
            "title": "Minimum salary (EUR per year)",
            "minimum": 0,
            "type": "integer",
            "description": "XING's salary filter: jobs with a stated or XING-estimated yearly salary from this amount, e.g. 60000. 0 = off.",
            "default": 0
          },
          "salaryMax": {
            "title": "Maximum salary (EUR per year)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper end of XING's salary filter, e.g. 90000. 0 = no upper limit.",
            "default": 0
          },
          "language": {
            "title": "Label language",
            "enum": [
              "de",
              "en"
            ],
            "type": "string",
            "description": "Language of XING's labels in the output (employment type, career level, discipline, industry, country). The job text itself stays as the employer wrote it.",
            "default": "de"
          },
          "startUrls": {
            "title": "XING URLs (optional)",
            "type": "array",
            "description": "XING job search URLs (filters in the URL are kept, e.g. https://www.xing.com/jobs/search?keywords=python&location=Berlin&sincePeriod=LAST_WEEK), XING's job category pages (https://www.xing.com/jobs/skill/python, https://www.xing.com/jobs/jobs-in-berlin) or single job pages (https://www.xing.com/jobs/<city>-<title>-<id>).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "includeDetails": {
            "title": "Open each job page (full details)",
            "type": "boolean",
            "description": "Read each job page for the full description (text + HTML), the first-publication date, career level, discipline, industry, keywords, job language, remote options, full address (postal code, region, country) and the company profile (name, XING page, size, industry, location). One extra request per job.",
            "default": true
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many jobs in total (all searches together). The scraper follows XING's result pages (20 per page) until this number or the last page. XING shows at most 1,000 results per search; jobs XING shows to logged-in members only are skipped.",
            "default": 30
          },
          "maxPages": {
            "title": "Max result pages per search",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop each search after this many result pages (20 jobs each). 0 = no page limit.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "XING answered every logged-out request without a challenge in tests; a German residential proxy is the default for steady runs on the Apify platform.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "DE"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}