{"id":18878074,"url":"https://github.com/l4rm4nd/xingdumper","last_synced_at":"2025-04-14T18:32:00.186Z","repository":{"id":101184631,"uuid":"427522869","full_name":"l4rm4nd/XingDumper","owner":"l4rm4nd","description":"Python 3 script to dump/scrape/extract company employees from XING API","archived":false,"fork":false,"pushed_at":"2025-04-13T01:43:13.000Z","size":140,"stargazers_count":37,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T02:26:16.221Z","etag":null,"topics":["crawling","employees","osint","profile","python","reconnaissance","spider","xing","xing-api"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/l4rm4nd/xingdumper","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/l4rm4nd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["l4rm4nd"]}},"created_at":"2021-11-12T23:30:00.000Z","updated_at":"2025-04-13T01:43:16.000Z","dependencies_parsed_at":"2023-12-19T17:47:10.435Z","dependency_job_id":"fe684770-1604-44a2-864f-80437cb542e7","html_url":"https://github.com/l4rm4nd/XingDumper","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l4rm4nd%2FXingDumper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l4rm4nd%2FXingDumper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l4rm4nd%2FXingDumper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/l4rm4nd%2FXingDumper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/l4rm4nd","download_url":"https://codeload.github.com/l4rm4nd/XingDumper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248936814,"owners_count":21186110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crawling","employees","osint","profile","python","reconnaissance","spider","xing","xing-api"],"created_at":"2024-11-08T06:24:02.492Z","updated_at":"2025-04-14T18:32:00.179Z","avatar_url":"https://github.com/l4rm4nd.png","language":"Python","funding_links":["https://github.com/sponsors/l4rm4nd","https://www.buymeacoffee.com/LRVT"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" width=\"100%\"\u003e\n    \u003ch1\u003eXingDumper\u003c/h1\u003e\n    \u003cp\u003ePython 3 script to dump company employees from XING API\u003c/p\u003e\u003cp\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/l4rm4nd\"\u003e\u003cimg src=\"https://img.shields.io/badge/maintainer-LRVT-orange\" /\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://GitHub.com/l4rm4nd/XingDumper/graphs/contributors/\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors/l4rm4nd/XingDumper.svg\" /\u003e\u003c/a\u003e\u003cbr\u003e\n    \u003ca target=\"_blank\" href=\"https://GitHub.com/l4rm4nd/XingDumper/commits/\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/l4rm4nd/XingDumper.svg\" /\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://GitHub.com/l4rm4nd/XingDumper/issues/\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/l4rm4nd/XingDumper.svg\" /\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/l4rm4nd/XingDumper/issues?q=is%3Aissue+is%3Aclosed\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-closed/l4rm4nd/XingDumper.svg\" /\u003e\u003c/a\u003e\u003cbr\u003e\n        \u003ca target=\"_blank\" href=\"https://github.com/l4rm4nd/XingDumper/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/l4rm4nd/XingDumper.svg?style=social\u0026label=Star\" /\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/l4rm4nd/XingDumper/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/l4rm4nd/XingDumper.svg?style=social\u0026label=Fork\" /\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://github.com/l4rm4nd/XingDumper/watchers\"\u003e\u003cimg src=\"https://img.shields.io/github/watchers/l4rm4nd/XingDumper.svg?style=social\u0026label=Watch\" /\u003e\u003c/a\u003e\u003cbr\u003e\n    \u003ca target=\"_blank\" href=\"https://hub.docker.com/r/l4rm4nd/xingdumper\"\u003e\u003cimg src=\"https://badgen.net/badge/icon/l4rm4nd%2Fxingdumper:latest?icon=docker\u0026label\" /\u003e\u003c/a\u003e\u003cbr\u003e\u003cp\u003e\n    \u003ca href=\"https://www.buymeacoffee.com/LRVT\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## 💬 Description\n\nXingDumper is a Python 3 script that dumps employee data from the XING social networking platform.\n\nThe results contain firstname, lastname, position, gender, location and a user's profile link. Only 2 API calls are required to retrieve all employees. With the `--email-format` CLI flag one can define a Python string format to auto generate email addresses based on the retrieved first and last name.\n\n## ✨ Requirements\n\nXingDumper talks with the unofficial XING API, which requires authentication. Therefore, you must have a valid XING user account. To keep it simple, XingDumper just expects a cookie value provided by you. Doing it this way, even 2FA protected accounts are supported. Furthermore, you are tasked to provide a XING company URL to dump employees from.\n\n#### Retrieving XING Cookie\n\n1. Sign into www.xing.com and retrieve your ``login`` cookie value e.g. via developer tools\n2. Specify your cookie value either in the python script's variable ``LOGIN_COOKIE`` or temporarily during runtime via the CLI flag ``--cookie``\n\n#### Retrieving XING Company URL\n\n1. Search your target company on Google Search or directly on XING\n2. The Xing company URL should look something like this: https://www.xing.com/pages/appleretaildeutschlandgmbh\n\n## 🎓 Usage\n\n````\nusage: xingdumper.py [-h] --url \u003cxing-url\u003e [--count \u003cnumber\u003e] [--cookie \u003ccookie\u003e] [--full] [--quiet] [--email-format \u003cmail-format\u003e] [--output-json \u003cjson-file\u003e] [--output-csv \u003ccsv-file\u003e]\n\noptions:\n  -h, --help            show this help message and exit\n  --url \u003cxing-url\u003e      A XING company url - https://xing.com/pages/\u003ccompany\u003e\n  --count \u003cnumber\u003e      Amount of employees to extract - max. 2999\n  --cookie \u003ccookie\u003e     XING 'login' cookie for authentication\n  --full                Dump additional contact details (slow) - email, phone, fax, mobile\n  --email-format \u003cmail-format\u003e       Python string format for emails; for example:\n                        --email-format '{0}.{1}@example.com' --\u003e john.doe@example.com\n                        --email-format '{0[0]}.{1}@example.com' --\u003e j.doe@example.com\n                        --email-format '{1}@example.com' --\u003e doe@example.com\n                        --email-format '{0}@example.com' --\u003e john@example.com\n                        --email-format '{0[0]}{1[0]}@example.com' --\u003e jd@example.com\n  --output-json \u003cjson-file\u003e\n                        Store results in json output file\n  --output-csv \u003ccsv-file\u003e\n                        Store results in csv output file                        \n````\n\n### 🐳 Example 1 - Docker Run\n\n````\ndocker run --rm l4rm4nd/xingdumper:latest --url https://www.xing.com/pages/audiag --cookie '\u003ccookie\u003e' --email-format '{0}.{1}@apple.de'\n````\n\n### 🐍 Example 2 - Native Python\n\n````\n# install dependencies\npip install -r requirements.txt\n\npython3 xingdumper.py --url https://www.xing.com/pages/audiag --cookie '\u003ccookie\u003e' --email-format '{0}.{1}@apple.de'\n````\n\n## 💎 Outputs\n\nThe script will return employee data as semi-colon separated values (like CSV):\n\n````\n\n▒██   ██▒ ██▓ ███▄    █   ▄████ ▓█████▄  █    ██  ███▄ ▄███▓ ██▓███  ▓█████  ██▀███  \n▒▒ █ █ ▒░▓██▒ ██ ▀█   █  ██▒ ▀█▒▒██▀ ██▌ ██  ▓██▒▓██▒▀█▀ ██▒▓██░  ██▒▓█   ▀ ▓██ ▒ ██▒\n░░  █   ░▒██▒▓██  ▀█ ██▒▒██░▄▄▄░░██   █▌▓██  ▒██░▓██    ▓██░▓██░ ██▓▒▒███   ▓██ ░▄█ ▒\n ░ █ █ ▒ ░██░▓██▒  ▐▌██▒░▓█  ██▓░▓█▄   ▌▓▓█  ░██░▒██    ▒██ ▒██▄█▓▒ ▒▒▓█  ▄ ▒██▀▀█▄  \n▒██▒ ▒██▒░██░▒██░   ▓██░░▒▓███▀▒░▒████▓ ▒▒█████▓ ▒██▒   ░██▒▒██▒ ░  ░░▒████▒░██▓ ▒██▒\n▒▒ ░ ░▓ ░░▓  ░ ▒░   ▒ ▒  ░▒   ▒  ▒▒▓  ▒ ░▒▓▒ ▒ ▒ ░ ▒░   ░  ░▒▓▒░ ░  ░░░ ▒░ ░░ ▒▓ ░▒▓░\n░░   ░▒ ░ ▒ ░░ ░░   ░ ▒░  ░   ░  ░ ▒  ▒ ░░▒░ ░ ░ ░  ░      ░░▒ ░      ░ ░  ░  ░▒ ░ ▒░\n ░    ░   ▒ ░   ░   ░ ░ ░ ░   ░  ░ ░  ░  ░░░ ░ ░ ░      ░   ░░          ░     ░░   ░ \n ░    ░   ░           ░       ░    ░       ░            ░               ░  ░  by LRVT                                                   \n\n[i] Company Name: Apple\n[i] Company X-ID: 271572.8873b4\n[i] Company Slug: appleretaildeutschlandgmbh\n[i] Dumping Date: 24/12/2021 13:37:00\n[i] Email Format: {0}.{1}@apple.de\n\nFirstname;Lastname;Email;Position;Gender;Location;E-Mail;Fax;Mobile;Phone;Profile\nMina;Abdallah;mina.abdallah@apple.de;RFIC Design Engineer;MALE;Unterhaching,Deutschland;None;None;None;None;https://www.xing.com/profile/Mina_Abdallah\nIsma;Abdan;isma.abdan@apple.de;Gabelstaplerfahrer;MALE;Huelva,Spanien;None;None;None;None;https://www.xing.com/profile/Isma_Abdan\n\n[i] Successfully crawled 2 Apple employees. Hurray ^_-\n````\n\nOptionally, you can use the CLI parameters `--output-json` and `--output-csv` to store the results as JSON or CSV.\n\n## 💥 Limitations\n\nDumped contact details via `--full` are most often empty. Germans seem to take privacy very seriously.\n\nFurthermore, the details may only be accessible if you already belong to the contact list of the crawled employee. Kinda unlikely, however, the default privacy settings of XING would allow a retrival, if the data is configured and the privacy settings not changed by the crawled employee.\n\n## 🤖 Repo Statistics\n\n![Alt](https://repobeats.axiom.co/api/embed/cb3bbff6ff44db8f1aa645d442c4889c9c697073.svg \"Repobeats analytics image\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl4rm4nd%2Fxingdumper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl4rm4nd%2Fxingdumper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl4rm4nd%2Fxingdumper/lists"}