Automated LinkedIn and XING profile updater that imports your CV/resume from Markdown format directly to your professional social network profiles. Built with Node.js and Playwright for reliable browser automation.
This automation tool helps professionals keep their LinkedIn and XING profiles up-to-date by automatically importing work experience, education, and skills from a structured Markdown CV/resume file. No more manual copying and pasting - update once in your CV file and sync to both platforms.
- Automatic CV parsing - Extracts structured data from Markdown-formatted CV/resume files
- Secure login automation - Safely logs into LinkedIn with credentials from environment variables
- Comprehensive profile updates:
- Work experience with dates and descriptions
- Education history
- Professional summary/about section
- Skills and expertise
- Contact information
- Visual browser mode - Shows browser window during automation for transparency
- Screenshot documentation - Captures before/after screenshots for verification
- Bulk experience import - Add all work experiences from your CV at once
- Smart batch processing - Resume from any position if interrupted
- Complete form filling:
- Job titles and positions
- Company names and industries
- Employment dates (start/end)
- Job descriptions and responsibilities
- Career level (Junior, Senior, etc.)
- Professional discipline (IT, Marketing, etc.)
- German interface support - Handles XING's German UI automatically
- Flexible processing - Add all entries or specific ranges
- Node.js 14+ installed
- LinkedIn account
- XING account (for XING automation)
- CV/Resume in Markdown format
git clone https://github.com/stevenx/linkedin_xing_profile_importer.git
cd linkedin_xing_profile_importer
npm installCreate a .env file from the example template:
cp .env.example .envEdit .env with your social network credentials:
# LinkedIn Credentials
LINKEDIN_EMAIL=your.email@example.com
LINKEDIN_PASSWORD=your_linkedin_password
LINKEDIN_PROFILE_SLUG=your-profile-slug # The part after linkedin.com/in/
# XING Credentials
XING_EMAIL=your.email@example.com
XING_PASSWORD=your_xing_password
# CV File Path
CV_MD_PATH=./cv.mdPlace your CV in Markdown format in the project directory (default: cv.md)
node linkedin.jsHow it works:
- Parses your Markdown CV file
- Displays extracted data for review
- Asks for confirmation before proceeding
- Opens browser window (visible for security)
- Automatically logs into LinkedIn
- Updates all profile sections with CV data
- Saves before/after screenshots
Import all experiences:
node xing.jsResume from specific position (e.g., entry #9):
node xing.js 9Process limited batch (e.g., 5 entries from position #9):
node xing.js 9 5XING automation process:
- Extracts work experiences from CV
- Logs into XING automatically
- Navigates to employment form
- Fills all required fields per position
- Saves each entry individually
- Takes completion screenshot
For optimal parsing, structure your CV markdown file as follows:
see cv.md for example | Problem | Solution |
|---|---|
| Login fails | Check credentials in .env file |
| CV parsing errors | Verify Markdown formatting matches the example structure |
| Script timeout on XING | Resume from last position using node xing.js [number] |
| Elements not found | Platform UI may have changed - check for updates |
| German interface issues | Script handles German automatically, no action needed |
- Never commit
.envfile - Add to.gitignore - Use app-specific passwords when available
- Run on secure networks only
- Store credentials securely - Consider using environment variables or secrets manager
- Review permissions - Ensure scripts have appropriate access levels
Contributions are welcome! Please feel free to submit a Pull Request.
This project is for educational purposes. Users are responsible for complying with LinkedIn and XING Terms of Service.
This tool automates browser interactions with LinkedIn and XING. Use at your own risk and ensure compliance with all applicable terms of service and laws. The authors are not responsible for any account restrictions or violations resulting from use of this tool.
LinkedIn automation, XING automation, profile updater, CV import, resume parser, Markdown CV, Node.js automation, Playwright browser automation, social media profile sync, professional network automation, bulk profile update, German XING support