gitmyhub

linkedin

JavaScript ★ 2 updated 22d ago

LinkedIn connection scraper and bulk removal tooling

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.

JavaScriptNode.jsPuppeteerCSVsetup: moderatecomplexity 2/5

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.

Where it fits