Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save khaosdoctor/d393caec16160109dcec3434b194689f to your computer and use it in GitHub Desktop.
Save khaosdoctor/d393caec16160109dcec3434b194689f to your computer and use it in GitHub Desktop.
Example of how to get post Analytics such as Views from a Linkedin post
// paste this file on a empty directory
// npm i axios
// You should go to your browser on Cookie session and get JSESSIONID and li_at from Linkedin Section
const JSESSIONID = 'YOUR JSESSIONID'
const liAT = 'YOUR li_at'
import axios from 'axios'
const headers = {
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
Cookie: `JSESSIONID=${JSESSIONID}; li_at=${liAT};`,
"csrf-token": `${JSESSIONID}`
};
function getPostId(link) {
const postId = link.match(/activity-(?<postId>\d+)/)?.groups?.postId
return postId
}
async function getLinkedinViews(link) {
const postId = getPostId(link)
if(!postId) {
console.error(`postId not found!`, link)
return;
}
const url = `https://www.linkedin.com/voyager/api/feed/updatesV2?commentsCount=0&likesCount=0&q=backendUrnOrNss&urnOrNss=urn:li:activity:${postId}`
const { data: file } = await axios.get(url, {
headers
})
// just to save time, I got the property using regex :)
const views = JSON.stringify(file).match(/"numViews":(?<views>\d+)/)?.groups?.views
return views
}
const postURL = 'https://www.linkedin.com/posts/erickwendel_dica-de-ouro-para-entrevistas-em-ingl%C3%AAs-activity-6764509683727265792-l7v1'
const result = await getLinkedinViews(postURL)
console.log(result)
// 21608
// this example was based on this article:
// https://towardsdatascience.com/using-browser-cookies-and-voyager-api-to-scrape-linkedin-via-python-25e4ae98d2a8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment