{
  "openapi": "3.0.1",
  "info": {
    "title": "Xing Jobs Scraper – Pay Per Job, No Browser",
    "description": "Scrapes Xing job offers (Germany, Austria, Switzerland) over plain HTTP. Input: keywords plus optional location, employment, career level, remote and date filters. Output: jobId, title, company, location, salary, apply URL per job and, with fetchDetails, the full description. $1 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "Ed8Bzo74bBMzpLPMR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/murmuring_headlamp~xing-jobs-fast/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-murmuring_headlamp-xing-jobs-fast",
        "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/murmuring_headlamp~xing-jobs-fast/runs": {
      "post": {
        "operationId": "runs-sync-murmuring_headlamp-xing-jobs-fast",
        "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/murmuring_headlamp~xing-jobs-fast/run-sync": {
      "post": {
        "operationId": "run-sync-murmuring_headlamp-xing-jobs-fast",
        "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": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords",
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "description": "Job searches, e.g. \"python\", \"data engineer\" or \"krankenpfleger\". One search per keyword, up to 100. Xing's semantic search always answers with something: check totalIsExact in the output to tell an exact match count from fallback results.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional city or region as free text, e.g. \"Berlin\", \"Wien\" or \"Zürich\". The site ignores it when remoteOption is set to fully remote."
          },
          "radius": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around the location in kilometres, 0–200. Only used together with a location."
          },
          "maxItemsPerSearch": {
            "title": "Max jobs per keyword",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Upper limit of unique jobs for each keyword. Xing shows at most 1,000 results per search (50 pages of 20).",
            "default": 50
          },
          "fetchDetails": {
            "title": "Fetch job pages",
            "type": "boolean",
            "description": "Open every job's page for the full description, posting date, career level, remote options, industry, discipline, full location, keywords and qualifications. One extra request per job. Off, you get the search card fields only.",
            "default": true
          },
          "sincePeriod": {
            "title": "Posted within",
            "enum": [
              "",
              "LAST_24_HOURS",
              "LAST_WEEK"
            ],
            "type": "string",
            "description": "Only jobs posted or refreshed in the last 24 hours or the last week.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment type (Anstellungsart)",
            "enum": [
              "",
              "FULL_TIME.ef2fe9",
              "PART_TIME.58889d",
              "CONTRACTOR.0ed397",
              "INTERN.dc571c",
              "SEASONAL.e4ab1d",
              "TEMPORARY.8ff6ad",
              "VOLUNTARY.c61099"
            ],
            "type": "string",
            "description": "One employment type as Xing labels it; the site accepts a single value per search.",
            "default": ""
          },
          "careerLevel": {
            "title": "Career level (Karrierestufe)",
            "enum": [
              "",
              "1.795d28",
              "2.24d1f6",
              "3.2ebf16",
              "4.83b992",
              "5.6b837d",
              "6.37d32d"
            ],
            "type": "string",
            "description": "One career level as Xing labels it; the site accepts a single value per search.",
            "default": ""
          },
          "remoteOption": {
            "title": "Remote option (Homeoffice)",
            "enum": [
              "",
              "FULL_REMOTE.050e26",
              "PARTLY_REMOTE.ca71ca",
              "NON_REMOTE.3ca273"
            ],
            "type": "string",
            "description": "Fully remote, partly remote or on site. With fully remote the site drops the location from the search.",
            "default": ""
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of the results: Xing's relevance ranking or newest first.",
            "default": "relevance"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Pages fetched in parallel (search pages and job pages).",
            "default": 3
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "Attempts per page, each with a fresh proxy session.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Xing serves its pages to the default datacenter proxy, which keeps the cost per job near zero. Switch to residential only if your runs get blocked.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": []
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}