Friday, March 27, 2026

LinkedIn Laments 1 of N: Where's the API?

In my current role I spend a lot of time on LinkedIn. A core task is to identify possible customers, and LinkedIn is rich hunting ground. I'm still sending each reach-out message individually (though admittedly often by pasting a message copied from a growing bank of crafted pitches), so even if I wasn't morally opposed to broad spamming I don't have the bandwidth for it. LinkedIn offers many ways for possible customers to reveal their interests - there's one's profile, any posts you make, comments on other posts, and what you hit like on.  Indeed, those last two can be particularly valuable as LinkedIn has some constraints on search results based on my localization within the broad LinkedIn connection graph, comments plus likes are categories which can leap me away from my parochial bounds.  Because I use LinkedIn so much, I of course have opinions about what I perceive as shortcomings, which I will periodically impose on the readers of this space. And today's is my frustration and degree of bewilderment that LinkedIn lacks an API.
LinkedIn is on a freemium business model, so you are excused in saying "you get what you pay for".  Except I'm not strictly freeloading - Ginkgo paid to upgrade me to a commercial version that includes their Sales Navigator product.  I'll confess that if you ask me I can rattle off only three features that came with paid that I'm aware I'm using: I get unlimited profile views, when I send connection requests I can tag them with a 300 character message, and I can save profiles to SalesNavigator. But perhaps that's what I find most curious about LinkedIn lacking an API - it would be potentially another revenue generator, by charging for access to the API and possibly then again for traffic. 

One corollary to the no official API reality is that any external tool that is out there that claims to work directly with LinkedIn is a terms-of-service violation - something LinkedIn makes very clear in their terms of service.  Now many such tools exist, so enforcement must not be particularly aggressive - but I both generally prefer to follow rules (not claiming perfection here) and the idea of getting used to a tool and then having it yanked away suddenly - or worse, some sort of freeze on my LinkedIn account, is a strong deterrent.

In terms of such tools I have heard of: appalling and enticing.  

Someone pointed out to me a tool in the first, reprehensible category, one which claims to enable automating LinkedIn engagement.  With such a tool one can identify a set of user profiles and then have the tool visit their profile with some frequency and also have it like all those individuals' postings.  Clearly something LinkedIn should be aggressively targeting, as the more interactions on the site are robotic, the less the value of the site until perhaps the whole mess collapses.  I'm certainly opposed to such - if I've visited your profile, liked your posts, or left a comment that really is me doing it and I can't imagine working any other way. 

The enticing would be tools to help me better query and organize all the information on LinkedIn - just having better profile querying capabilities than built in would be amazing.  What I really, really want is the ability to organize all the articles I've liked.  You can see how much stock the LinkedIn software engineers put into this feature by the fact that I see that I have "10+ saved" in the interface - the reality is I save many 10s per day - and that is dangerously close to a write-only database because I can retrieve them only as a single stream.  That could be whole post on its own of what I'd like here.

The closest to an API is that you can request a data archive, apparently something begrudgingly offered because of certain privacy laws.  But this is a slow, frustrating process - you click a link and then some indeterminate time later an email shows up with a link to download a zip archive.  But that archive has only a subset of the data - another email comes at least 8 hours later with a link to the full archive.  You can from the original page ask for only a specific subset via checkboxes - except none of those are anything I want.  

Once you download the zip file - which is always ending with .zip.zip, then it is a bit fun - I have a Python notebook to reach into the zip file and create some spreadsheets.  In particular one which has one row (well supposed to have one; the join seems a bit wonky) per person in my network with the last message (if any) I sent them and the last message (if any) they sent me, plus the dates of those messages and when we connected.  But it doesn't have their email addresses, as that isn't in the dump.  And, as would of course be the case, I often cannot run my notebook until the full archive shows up, as even though I'm drawing on only a few files one is inevitably missing from the initial file.  But once you do get archives - and today I got lucky in that the initial dump had everything I cared about - then one can make plots like the below that show my recent penchant for growing my network aggressively.






Unsurprisingly, I'm not the only one to leverage the LinkedIn data dump zipfiles; there are now other sites such as Happenstance that let you import these and then offer a degree of sharing of your network with your colleagues, which is handy for sales and marketing teams.

Back to missing APIs, one of the handy features in Sales Navigator is I can save profiles to lists.  That's helpful, especially after I burn up my LinkedIn connection request quota for the week.  But I can't export those lists.  I'd love to cross-reference my saved lists with my profile information, but that's not an option.  Nor is it easy to manage the lists - I can copy them and I can manually remove names from them, but there's not an interface to execute sophisticated queries or even simple set operations (e.g. intersect these two lists).

Enough kvetching for now. I can't change the game, but must continue playing it.

No comments: