explaingit

bhealy/linkedin

Analysis updated 2026-05-18

2JavaScriptAudience · generalComplexity · 2/5Setup · moderate

TLDR

A Node.js tool that downloads your LinkedIn connections, classifies them by job title, shows an analytics dashboard, and lets you bulk-remove the ones you do not want.

Mindmap

mindmap
  root((LinkedIn Cleaner))
    What it does
      Download connections
      Classify by job title
      Bulk removal
    How it works
      Browser automation
      Local CSV storage
      Resume on interrupt
    Features
      Analytics dashboard
      Dry run mode
      Company ignore list
    Use cases
      Network cleanup
      Sales contact audit
      Connection analytics
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Download your full LinkedIn network to a local CSV for analysis or backup.

USE CASE 2

Find and remove sales and recruitment contacts from your connections in bulk.

USE CASE 3

Generate a visual analytics report of your LinkedIn network growth and role breakdown.

What is it built with?

JavaScriptNode.jsPuppeteerCSV

How does it compare?

bhealy/linkedinash310u/awesome-ai-stackasqrzk/copilot-openrouter-to-ollama-proxy
Stars222
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasymoderate
Complexity2/52/52/5
Audiencegeneralvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Node.js 18+, a LinkedIn account, and your credentials in a .env file, the tool controls a real browser via Puppeteer.

License not stated in the README.

In plain English

This is a Node.js tool for cleaning up your LinkedIn connections. It downloads your full list of 1st-degree connections, classifies each contact by job title (sales, recruitment, or neither), generates a local analytics dashboard, and lets you bulk-remove the ones you do not want. The tool works by opening a real browser window, logging into LinkedIn under your account, and paginating through your connection list using LinkedIn's internal API. It can also run keyword searches across different geographies to find specific types of contacts. All downloaded data is saved locally as CSV files, and the tool remembers where it left off if you stop it partway through. The analytics dashboard is a single self-contained HTML file that shows network growth over time, role and seniority breakdowns, top companies, and a searchable table of every contact. Because it is a local file, your data never leaves your computer. Bulk removal works in two steps: a dry run that shows you exactly who would be removed, and an execute pass that actually removes them. You can filter removals by status (sales, recruitment, or both), set a limit, and protect specific companies from being targeted. Removed profiles are tracked so they are skipped on future runs. Setup requires Node.js 18 or higher and your LinkedIn credentials. The tool uses Puppeteer to drive a real browser, and requests are spaced with delays to reduce the chance of hitting LinkedIn's rate limits. The README also notes that the people-search scraper can handle up to about 250 results per query, and uses a keyword-by-geography grid to work around that cap. The license is not mentioned in the README.

Copy-paste prompts

Prompt 1
I have a connections.csv from the LinkedIn Connection Cleaner tool. Write a script to find all contacts at companies I have worked at and output their names and profile URLs.
Prompt 2
How do I configure the keyword-by-geography search grid in search-plan.json to target only contacts in London with sales titles?
Prompt 3
Walk me through setting up LinkedIn Connection Cleaner on Windows with Node.js 18 and getting my first connections download working.
Prompt 4
Show me how to add a custom classification rule to the LinkedIn Connection Cleaner so contacts with 'founder' in their title are marked as a new status.

Frequently asked questions

What is linkedin?

A Node.js tool that downloads your LinkedIn connections, classifies them by job title, shows an analytics dashboard, and lets you bulk-remove the ones you do not want.

What language is linkedin written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, Puppeteer.

What license does linkedin use?

License not stated in the README.

How hard is linkedin to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is linkedin for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub bhealy on gitmyhub

Verify against the repo before relying on details.