Convert LinkedIn data exports to Markdown
Project description
linkedin2md
Convert LinkedIn data exports to clean Markdown files - the ideal format for LLM analysis.
Why Markdown?
Markdown is the lingua franca of AI tools. Once your LinkedIn data is in .md format, you can:
- Upload to NotebookLM and have conversations about your career history
- Use Claude Projects to analyze patterns across your professional journey
- Feed to Obsidian with AI plugins for a personal career knowledge base
- Run local LLMs (Ollama, LM Studio) for completely private analysis
Example Prompts
Once your LinkedIn data is in an LLM, try asking:
| Question | Data Used |
|---|---|
| "What patterns do you see in my career transitions?" | experience.md |
| "What skills have I developed over time?" | skills.md, experience.md |
| "Group my connections by industry" | connections.md |
| "What themes appear in my recommendations?" | recommendations.md |
| "Summarize my job applications and outcomes" | job_applications.md |
| "What qualities do people consistently mention about me?" | recommendations.md, endorsements.md |
| "Based on my experience, what roles should I target?" | All files |
Installation
Recommended (using pipx - installs in isolated environment):
pipx install linkedin2md
Or with pip (in a virtual environment):
pip install linkedin2md
Note: On modern Linux systems (Debian, Ubuntu 23.04+, Fedora), use
pipxto avoid the "externally-managed-environment" error.
Usage
linkedin2md Complete_LinkedInDataExport.zip
linkedin2md export.zip -o ./my-profile
linkedin2md export.zip --lang es
Then drag the output folder into your favorite AI tool.
Options
| Option | Description | Default |
|---|---|---|
source |
LinkedIn ZIP export file (required) | - |
-o, --output |
Output directory | linkedin_export |
--lang |
Output language (en or es) |
en |
How to Export Your LinkedIn Data
Follow these steps to download your LinkedIn data:
-
Go to Settings: Log into LinkedIn, click your profile photo in the top right, then select "Settings & Privacy"
-
Navigate to Data Privacy: In the left sidebar, click "Data privacy"
-
Request your data: Click "Get a copy of your data"
-
Select data to download:
- Choose "Download larger data archive" for complete data
- Or select specific categories if you only need certain data
-
Request archive: Click "Request archive"
-
Wait for email: LinkedIn will process your request and send an email when ready (usually within 24 hours, sometimes up to 72 hours for large archives)
-
Download the ZIP file: Click the download link in the email. The file will be named something like
Complete_LinkedInDataExport_01-20-2025.zip
Note: The download link expires after a few days. Download it promptly and store it safely.
LLM Tools That Work Great With This
| Tool | Type | Best For |
|---|---|---|
| NotebookLM | Cloud | Conversational analysis, audio summaries |
| Claude Projects | Cloud | Deep analysis, long context |
| ChatGPT | Cloud | General analysis, quick insights |
| Obsidian + AI plugins | Local | Personal knowledge base, linked notes |
| Open Notebook | Local/Cloud | 16+ AI models, open source |
| Ollama | Local | Private, offline analysis |
Output
Creates 40+ markdown files in the output directory, organized by category:
Core Profile
profile.md- Name, title, contact, summaryexperience.md- Work history with achievementseducation.md- Educational backgroundskills.md- Professional skillscertifications.md- Certifications and licenseslanguages.md- Language proficienciesprojects.md- Personal and professional projects
Recommendations & Endorsements
recommendations.md- Recommendations receivedendorsements.md- Skill endorsements received
Learning
learning.md- LinkedIn Learning courseslearning_reviews.md- Course reviews and ratings
Network
connections.md- Your connectionscompanies_followed.md- Companies you followmembers_followed.md- People you followinvitations.md- Connection invitations sent/receivedimported_contacts.md- Contacts imported from address book
Content & Activity
posts.md- Your posts and sharescomments.md- Comments you madereactions.md- Likes and reactionsreposts.md- Content you repostedvotes.md- Poll votessaved_items.md- Bookmarked contentevents.md- Events attended
Job Search
job_applications.md- All job applicationssaved_jobs.md- Jobs you savedjob_preferences.md- Job seeker preferencessaved_job_answers.md- Saved application answersscreening_responses.md- Screening question responsessaved_job_alerts.md- Job alert settings
Activity History
search_queries.md- Search historylogins.md- Login historysecurity_challenges.md- Security verification events
Advertising & Privacy
ads_clicked.md- Ads you clickedad_targeting.md- How LinkedIn targets ads to youlan_ads.md- LinkedIn Audience Network engagementinferences.md- LinkedIn's inferences about you
Payments
receipts.md- Premium subscription receipts
Services Marketplace
service_engagements.md- Service provider engagementsservice_opportunities.md- Service opportunities
Identity
verifications.md- Identity verificationsidentity_assets.md- Uploaded documents (resumes, etc.)
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linkedin2md-0.1.2.tar.gz.
File metadata
- Download URL: linkedin2md-0.1.2.tar.gz
- Upload date:
- Size: 51.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c0877fb71a8bd18290fc6523c19c5c4c9beae669c2385770fcc6406ef56fc0e
|
|
| MD5 |
5400cbc592856c161f2bec0d03b81bb4
|
|
| BLAKE2b-256 |
c7d74d0fecce1c41c685697f59d50a1ce7e190d192fae75b8ffde5bec18dbb24
|
Provenance
The following attestation bundles were made for linkedin2md-0.1.2.tar.gz:
Publisher:
publish.yml on juanmanueldaza/linkedin2md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linkedin2md-0.1.2.tar.gz -
Subject digest:
8c0877fb71a8bd18290fc6523c19c5c4c9beae669c2385770fcc6406ef56fc0e - Sigstore transparency entry: 837085037
- Sigstore integration time:
-
Permalink:
juanmanueldaza/linkedin2md@26f874725fa207467d0728cde24814fab0d468a6 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/juanmanueldaza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26f874725fa207467d0728cde24814fab0d468a6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file linkedin2md-0.1.2-py3-none-any.whl.
File metadata
- Download URL: linkedin2md-0.1.2-py3-none-any.whl
- Upload date:
- Size: 59.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a84f715bdc99cb8dad68724f827914a7585263a13238d2d451c44ba9afa7748
|
|
| MD5 |
16317e6db8ef615f6203c0ba7cf92810
|
|
| BLAKE2b-256 |
be041e41491c59f1f9644d4368a03d2d29ea742814e3004e73987d3017cf9ae1
|
Provenance
The following attestation bundles were made for linkedin2md-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on juanmanueldaza/linkedin2md
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linkedin2md-0.1.2-py3-none-any.whl -
Subject digest:
0a84f715bdc99cb8dad68724f827914a7585263a13238d2d451c44ba9afa7748 - Sigstore transparency entry: 837085071
- Sigstore integration time:
-
Permalink:
juanmanueldaza/linkedin2md@26f874725fa207467d0728cde24814fab0d468a6 -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/juanmanueldaza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26f874725fa207467d0728cde24814fab0d468a6 -
Trigger Event:
release
-
Statement type: