LinkedIn supports Schema.org metadata
I'm a big fan of machine-readable metadata. It's useful for programs which need to extract information from messy and complicated websites. It's always surprising where it turns up.
For example, take this post of mine on LinkedIn. If you view the source, you'll see this scrap of linked data:
HTML<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "SocialMediaPosting",
"@id": "https://www.linkedin.com/posts/terenceeden_did-you-know-that-every-post-you-make-on-activity-7075043149462556672-fxiw",
"author": {
"name": "Terence Eden",
"image": {
"url": "https://media.licdn.com/dms/image/C4E03AQEX11qBnAo43A/profile-displayphoto-shrink_400_400/0/1517677542848?e=1692230400&v=beta&t=-AHOoj__Ehm_p24dQ6McPbqNj9gQ2UsjvzOCIU16IGs",
"@type": "ImageObject"
},
"url": "https://uk.linkedin.com/in/terenceeden",
"@type": "Person"
},
"datePublished": "2023-06-15T09:35:34.752Z",
"articleBody": "Did you know that every post you make on LinkedIn has SchemaOrg metadata embedded in it?\n(This post mostly to test which fields are supported.)",
"isAccessibleForFree": false,
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".details"
}
}
</script>
If you share a link in your post, the markup is slightly different:
HTML<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "SocialMediaPosting",
"@id": "https://www.linkedin.com/posts/terenceeden_why-im-using-mx-as-a-title-activity-7074702026084884480-jO0C",
"author": {
"name": "Terence Eden",
"image": {
"url": "https://media.licdn.com/dms/image/C4E03AQEX11qBnAo43A/profile-displayphoto-shrink_400_400/0/1517677542848?e=1692230400&v=beta&t=-AHOoj__Ehm_p24dQ6McPbqNj9gQ2UsjvzOCIU16IGs",
"@type": "ImageObject"
},
"url": "https://uk.linkedin.com/in/terenceeden",
"@type": "Person"
},
"datePublished": "2023-06-14T11:00:04.600Z",
"image": {
"url": "https://media.licdn.com/dms/image/sync/D5627AQHWF4nuGqlfzQ/articleshare-shrink_800/0/1686397225711?e=1687428000&v=beta&t=SsQ_1b8M3xAGXnhUvID0976rpItlTLdC2Gz9RG3sXwI",
"@type": "ImageObject"
},
"sharedContent": {
"@type": "WebPage",
"headline": "Why I'm using \"Mx\" as a title",
"url": "https://shkspr.mobi/blog/2023/06/why-im-using-mx-as-a-title/"
},
"articleBody": "What title do you use when filling in forms? Mr? Mrs? Ms? Or something newer and more incluside?\n\nWhy do companies want to know my title? What are they going to do with my data?\n\nHere's why I'm using \"Mx\" as my title.\nhttps://lnkd.in/eCNH5sqp",
"isAccessibleForFree": false,
"hasPart": {
"@type": "WebPageElement",
"isAccessibleForFree": false,
"cssSelector": ".details"
}
}
</script>
Interestingly, this doesn't seem to be exposed in the API. It's available to any user-agent which requests a public LinkedIn post. I don't recommend you train any LLMs on the data though - it would be unbearably smug.
It would be incredibly useful if other social media platforms like Mastodon used this.
Emma (IPG) :apartyblobcat: said on wetdry.world:
@Edent you mention "it would be incredibly useful if other social media platforms like Mastodon used this" - would the ActivityPub representation of a post count? it's a standardised format available for every post published, accessible at e.g. https://mastodon.social/@Edent/110593317512193678.json (or, more universally, if the Accept header is application/ld+json)
Andy Mabbett says:
"isAccessibleForFree": false,
Eh?
Liam 🏳️🌈 said on mastodon.gruezi.net:
@Edent Love to see support for this- I hadn't messed with Schema.org metadata much until recently, but when building the @kuow_bot (since they don't support RSS, grr), it was super handy since they publish pretty extensive metadata that way
Eric says:
I just noticed that my reference manager (Paperpile) seems to be able to use that information (or others that LinkedIn provides) to enable citing LinkedIn posts. Really nice.
More comments on Mastodon.