A local tool that scrapes your own LinkedIn profile and emits
tailor-compatible YAML, so you can bootstrap or refresh your
tailor profile from LinkedIn instead of typing everything by hand.
linkfetch is not a website and does not host anything. It runs on your machine and drives a real Chromium browser that you log into. It captures only the authenticated user's own profile.
- Capture (browser, runs rarely): log in once in a persistent Chromium
profile, then visit each section's LinkedIn details page
(
/in/<you>/details/experience/,/details/education/, …), auto-expand all "…see more" / "Show all" controls, and save the rendered HTML to disk. - Parse (pure, no browser): read the saved HTML, extract structured data
with
lxml, and write YAML files. Re-runnable offline; if a selector breaks you fix the parser and re-parse without touching LinkedIn again.
The scrape is deterministic — no AI. Fields come straight from the page.
You enrich tags / position framings later in tailor.
Sections that map onto tailor's schema are written as tailor-ready files
(basics.yaml, experiences.yaml, skills.yaml, projects.yaml,
certifications.yaml, awards.yaml). The rest get their own local-schema files
(education.yaml, volunteering.yaml, recommendations.yaml, patents.yaml,
courses.yaml, languages.yaml).
Review the output in data/output/, then copy the mapped files into
tailor/data/profile/ and run tailor profile validate.
- Python ≥ 3.10
- Playwright for capture
(
uv pip install playwright && playwright install chromium). Parsing works without it.
cd ~/personal/prosperis/linkfetch
uv venv --python 3.10
uv pip install -e ".[dev,browser]"
playwright install chromiumuv run linkfetch doctor # check config / Playwright / session
uv run linkfetch login # opens browser; log in to LinkedIn once
uv run linkfetch capture --vanity your-name # save section HTML to data/captures
uv run linkfetch parse # HTML -> YAML in data/output
# or do both:
uv run linkfetch run --vanity your-name--vanity is the slug in your profile URL: linkedin.com/in/<vanity>.
LinkedIn's Terms of Service restrict automated access. This tool is for personal use on your own profile: it uses a real logged-in browser at a human-ish pace, reads only your own data, and stores nothing remotely. Use it on your own account and at your own discretion.