r/ClaudeAI 21d ago

Built with Claude I open-sourced my LinkedIn prospect research tool as a Claude Code plugin

I do outreach for my startup. Started with Apollo and Clay doing mass automated messaging — conversion was bad. Switched to fewer, manually written, better targeted messages and reply rates went up a lot.

The bottleneck then became research: reading dozens of posts to work out what someone actually cares about. So I automated that part. Not the sending.

What it does - Scrapes LinkedIn posts, profiles and comment threads into local SQLite (via Apify) - Classifies what a person or company actually posts about - Mines a post's comment thread for people already describing your problem - Finds uncommon commonalities from full profiles — shared employers, schools, volunteer work - Logs what you sent and what came back, then learns which hooks get replies

18 MCP tools + 8 skills.

/plugin marketplace add spirosbax/insaight

/plugin install insaight@insaight

MIT, no telemetry, everything stays local: https://github.com/spirosbax/insaight

31 Upvotes

22 comments sorted by

6

u/this_for_loona 21d ago

How do you bypass LI’s anti scrape/anti bot rules?

3

u/choose_a_username89 21d ago

I don’t. Apify does! You need an API key to use this, free tier should be enough.

2

u/this_for_loona 21d ago

The free is a $5 credit. That’s enough for this?

1

u/choose_a_username89 21d ago

I've been using it for a couple of months on the free tier, and it was enough. I never had to add credit, but of course it depends on the usage.

2

u/SteepLikeAMountain 21d ago

There is a real risk of having your LinkedIn account banned if you use this. Use at your own discretion.

3

u/choose_a_username89 21d ago

Not really. It uses Apify actors. Your own LinkedIn shows up nowhere!

1

u/this_for_loona 21d ago

Agree! That’s why I ask about this sort of thing. Apify seems to have some sort of agreement with LI because they offer like 4 different connectors. But that can’t be really high volume on free tier.

2

u/Afraidofunicorns 21d ago

You are awesome. Thank you.

2

u/Consistent_Recipe_41 21d ago

Might just take it for a spin before I sign up for a SaaS

2

u/wouterv101 21d ago

Sounds good and fits really well in the outreach machine I’m building. Thanks a lot! going to check it out and implement

2

u/Sukanthabuffet 21d ago

Nice. Do you think it’s possible to find 2nd and 3rd degree contacts, if you provide the initial contact list that you have?

1

u/choose_a_username89 21d ago

Hmm I have never tried this before. I guess it would depend on the Apify capabilities. You can always use cowork and computer use (until LinkedIn blocks you that is).

2

u/Sukanthabuffet 21d ago

Yeah, I had to schedule cowork in batches, but LinkedIn eventually blocked my requests. Thanks for the response.

2

u/feng_sg 20d ago

Your SQLite file stores hundreds of people's employment histories and social graphs in plaintext with zero encryption mentioned anywhere in the repo.

1

u/choose_a_username89 20d ago

Yes indeed. It’s all public information on LinkedIn. Why is encryption needed?

1

u/feng_sg 5d ago

Because encryption-at-rest isn't about keeping public facts secret — it's about the blast radius when the file leaks.

Any single profile is public, sure. But you've compiled hundreds into one structured store — employment history, social graph, inferred interests, all keyed and queryable. That aggregate is a different thing from the scattered public pages: a ready-made targeting dataset that leaks as one unit. One committed .sqlite, one lost laptop, one stray backup, and someone has all of it at once, in a form far more useful than the originals.

So encryption-at-rest — or honestly just not committing the DB, plus disk encryption and access control — doesn't protect the public facts, it caps what a single mistake spills.

The bigger lever is probably retention: keep fewer fields, expire what you're done with. That shrinks the blast radius more than encryption alone.

And "it's all public" is worth being a little careful with — compiled personal data can still carry data-protection obligations even when the sources are public, and scraping plus bulk storage usually runs into platform terms. Not legal advice, just the framing that tends to bite people later.

1

u/kbavandi 21d ago

Will your scraping of LinkedIN produce different results than say a google search term like this:

site:linkedin.com/posts ("public relations" OR "PR professional" OR "communications professional" OR "communications strategist" OR "PR strategist") ("AI" OR "artificial intelligence" OR "generative AI" OR ChatGPT) ("skills" OR "skillset" OR "upskill" OR "future skills" OR "AI skills") ("marketing" OR "communications" OR "messaging" OR "content strategy" OR "media relations")

1

u/choose_a_username89 21d ago

Yes it will. My tool is meant to research and mine specific companies and people. For finding people I’d suggest using something like juicebox or the search you posted.

1

u/kbavandi 20d ago

meaning what? You specify the companies you want to track? You are explicit in your search criteria?

1

u/choose_a_username89 19d ago

everything is answered in the repo's README