Articles API
Warning
Deprecation Notice
The Marketing Version 202311 (Marketing November 2023) and earlier versions (excluding 202306 and 202307) have been sunset. Additionally, the unversioned APIs will be sunset soon. We recommend that you migrate to the versioned APIs as well as migrate to the new Content and Community Management APIs to avoid disruptions. See the Migration page for more details.
If you haven’t yet migrated and have questions, submit a request on the LinkedIn Developer Support Portal.
Network updates is a key feature of the LinkedIn platform experience. It enables you to share important news and articles of interest with your professional network. The Articles API enables you to retrieve and delete published news and article posts.
Note
Refer to Media Changes and Migration for media criteria.
Permissions
Permissions | Description |
---|---|
r_compliance | Required to retrieve activities for compliance monitoring and archiving. |
w_compliance | Required to manage and delete data for compliance. |
Note
To protect LinkedIn members' privacy, only PUBLISHED
article posts are returned.
All API requests are represented in protocol 2.0.0 and require the header X-Restli-Protocol-Version: 2.0.0
.
Retrieve Articles
Look Up an Article by ID
Sample Request
GET https://api.linkedin.com/v2/originalArticles/{originalArticlesId}
Look Up an Articles by IDs
Sample Request
GET https://api.linkedin.com/v2/originalArticles?ids=List({originalArticlesId1},{originalArticlesId2})
Schema
Field Names | Sub-field Names | Type | Description |
---|---|---|---|
author | optional array | An array containing the authors of the article. | |
author | person URN | The author of article represented in person URN. | |
type | string | The author type. Can be one of the following values: |
|
content | Full content of the article version. | ||
com.linkedin. publishing. HtmlContent |
|||
htmlText |
optional string | HTML markup of the article. | |
secureHtml |
optional string | HTML markup with https versions of embedded content. | |
coverImage | optional object | Cover image of the article. | |
caption | optional string | A caption to display with the image. | |
croppedImage | object | This contains the URN of the cropped image, along with URN of uploaded original, and cropping rectangle info. | |
coverMedia | optional URN | URN of the rich media in cover slot of article. | |
created | string | A timestamp corresponding to the creation of this article. | |
displayImage | optional URN | Image used when displaying the article on the site. | |
id | long | Unique identifier for the article. | |
lastModified | string | A timestamp corresponding to the last modification of the article. | |
newsArticle | URN | The article referenced URN to look up comments and likes. | |
permlink | optional string | Unique string used to compose the permanent link (URL) to this article. | |
publishedAt | optional string | Time the article was published. | |
state | string | State of the article. Always shown as PUBLISHED. | |
title | optional string | Title of the article. | |
version | optional int | Version number of the contents of the article. | |
ugcPost | optional ugcPost URN | The ugcPost (urn:li:ugcPost:{id} ) created when the article is initially published. This field only applies to articles created after migration, and is only valid for published articles |
Sample Response
{
"authors": [
{
"author": "urn:li:person:Ylpq-RobP9",
"type": "PRIMARY_AUTHOR"
}
],
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>",
"secureHtmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>"
}
},
"coverImage": {
"caption": "API cover image",
"croppedImage": {
"cropInfo": {
"height": 400,
"width": 744,
"x": 0,
"y": 70
},
"cropped": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"original": "urn:li:media:/AAEAAQAAAAAAAACDAAAAJDliZjVlZDk2LWEyYzMtNDQyNy04YjA0LTZkOGI2YzZkNjI2OQ.png"
}
},
"created": 1482280477000,
"displayImage": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"id": 6217134937280131072,
"lastModified": 1482280484000,
"newsArticle": "urn:li:article:7152306650999999",
"permlink": "awesome-publishing-article",
"publishedAt": 1482280484000,
"state": "PUBLISHED",
"title": "An Awesome Publishing Article",
"version": 3
}
To get the actual media link, replace the URN sub-string urn:li:media:
with https://media.licdn.com/mpr/mpr
.
For example, if the field value is urn:li:media:/p/1/000/0a1/99/123456.jpg
, modify it to https://media.licdn.com/mpr/mpr/p/1/000/0a1/99/123456.jpg
to retrieve it as a media URL through the LinkedIn CDN.
To get a specific dimension, append shrink_X_X/
to get appropriate sizing. For example, https://media.licdn.com/mpr/mpr/shrink_100_100/p/1/000/0a1/99/123456.jpg
.
Retrieve Articles by Author
Sample Request
GET https://api.linkedin.com/v2/originalArticles?q=authors
Sample Response
The returned articles are sorted by descending publication date.
{
"elements": [
{
"displayImage": "urn:li:media:/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png",
"publishedAt": 1489707195000,
"created": 1489704180000,
"lastModified": 1489707296000,
"id": 6248272202878201856,
"newsArticle": "urn:li:article:7152306650999991",
"state": "PUBLISHED",
"title": "Testing a new article!",
"version": 4,
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<pre spellcheck=\"false\">yoyoyo1231455t1\n</pre> \n<p>Hi!</p> \n<p><br></p> \n<div class=\"slate-resizable-image-embed slate-image-embed__resize-full-width\" data-imgsrc=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n <img src=\"//:0\" data-li-src=\"http://m.c.lnkd.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n</div> \n<p>Bye</p>",
"secureHtmlText": "<pre spellcheck=\"false\">yoyoyo1231455t1\n</pre> \n<p>Hi!</p> \n<p><br></p> \n<div class=\"slate-resizable-image-embed slate-image-embed__resize-full-width\" data-imgsrc=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n <img src=\"//:0\" data-li-src=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n</div> \n<p>Bye</p>"
}
},
"permlink": "testing-a-new-article",
"authors": [
{
"author": "urn:li:person:Ylpq-RobP9",
"type": "PRIMARY_AUTHOR"
}
]
},
{
"publishedAt": 1482280484000,
"created": 1482280477000,
"lastModified": 1482280484000,
"id": 6217134937280131072,
"newsArticle": "urn:li:article:7152306650999999",
"state": "PUBLISHED",
"title": "An Awesome Publishing Article",
"version": 3,
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>",
"secureHtmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>"
}
},
"displayImage": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"coverImage": {
"croppedImage": {
"original": "urn:li:media:/AAEAAQAAAAAAAACDAAAAJDliZjVlZDk2LWEyYzMtNDQyNy04YjA0LTZkOGI2YzZkNjI2OQ.png",
"cropped": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"cropInfo": {
"width": 744,
"x": 0,
"y": 70,
"height": 400
}
},
"caption": "API cover image"
},
"permlink": "awesome-publishing-article",
"authors": [
{
"author": "urn:li:person:Ylpq-RobP9",
"type": "PRIMARY_AUTHOR"
}
]
},
...
],
"paging": {
"total": 2,
"count": 10,
"start": 0,
"links": []
}
}
Retrieve Articles by Author Using Permalinks
Sample Request
GET https://api.linkedin.com/v2/originalArticles?q=permlinks&permlinks=List({permlink1},{permlink2})
Note
Use https://www.linkedin.com/pulse/{PERMLINK}
to get the permalink. Permalinks have to be URL encoded.
Sample Response
{
"elements": [
{
"displayImage": "urn:li:media:/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png",
"publishedAt": 1489707195000,
"created": 1489704180000,
"lastModified": 1489707296000,
"id": 6248272202878201856,
"newsArticle": "urn:li:article:7152306650999999",
"state": "PUBLISHED",
"title": "Testing a new article!",
"version": 4,
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<pre spellcheck=\"false\">yoyoyo1231455t1\n</pre> \n<p>Hi!</p> \n<p><br></p> \n<div class=\"slate-resizable-image-embed slate-image-embed__resize-full-width\" data-imgsrc=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n <img src=\"//:0\" data-li-src=\"http://m.c.lnkd.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n</div> \n<p>Bye</p>",
"secureHtmlText": "<pre spellcheck=\"false\">yoyoyo1231455t1\n</pre> \n<p>Hi!</p> \n<p><br></p> \n<div class=\"slate-resizable-image-embed slate-image-embed__resize-full-width\" data-imgsrc=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n <img src=\"//:0\" data-li-src=\"https://media.licdn-ei.com/mpr/mpr/AAEAAQAAAAAAAAA-AAAAJDI0OTQxODgyLTU4MmEtNGNmYS1hZjI1LTcyYjk4NzAyZDUzOA.png\"> \n</div> \n<p>Bye</p>"
}
},
"permlink": "testing-a-new-article",
"authors": [
{
"author": "urn:li:person:Ylpq-RobP9",
"type": "PRIMARY_AUTHOR"
}
]
},
{
"publishedAt": 1482280484000,
"created": 1482280477000,
"lastModified": 1482280484000,
"id": 6217134937280131072,
"newsArticle": "urn:li:article:7152306650999979",
"state": "PUBLISHED",
"title": "An Awesome Publishing Article",
"version": 3,
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>",
"secureHtmlText": "<p>How to build awesome APIs? Visit https://developer.linkediin.com for more information!</p>"
}
},
"displayImage": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"coverImage": {
"croppedImage": {
"original": "urn:li:media:/AAEAAQAAAAAAAACDAAAAJDliZjVlZDk2LWEyYzMtNDQyNy04YjA0LTZkOGI2YzZkNjI2OQ.png",
"cropped": "urn:li:media:/AAEAAQAAAAAAAAALAAAAJDU4ZTQ0YWY1LWEzNDktNDQ4YS1hOGVhLTE5NGQxZWY2ZTNjMg.png",
"cropInfo": {
"width": 744,
"x": 0,
"y": 70,
"height": 400
}
},
"caption": "API cover image"
},
"permlink": "awesome-publishing-article",
"authors": [
{
"author": "urn:li:person:Ylpq-RobP9",
"type": "PRIMARY_AUTHOR"
}
]
},
...
],
"paging": {
"total": 2,
"count": 10,
"start": 0,
"links": [
]
}
}
Retrieve Articles with New Media Types
All values are set for new media types. Refer to media migration effort for the types of new media type that can be returned. Use convertVectorUrns=false
to get the intended article.
Sample Request
GET https://api.linkedin.com/v2/originalArticles/{originalArticleId}?convertVectorUrns=false
GET https://api.linkedin.com/v2/originalArticles?ids=List({originalArticlesId1},{originalArticlesId2})&convertVectorUrns=false
GET https://api.linkedin.com/v2/originalArticles?q=authors&convertVectorUrns=false
GET https://api.linkedin.com/v2/originalArticles?q=permlinks&permlinks=List({permlink1},{permlink2})&convertVectorUrns=false
Sample Response
{
"authors": [
{
"author": "urn:li:person:123ABC",
"type": "PRIMARY_AUTHOR"
}
],
"content": {
"com.linkedin.publishing.HtmlContent": {
"htmlText": "<p>And text</p>",
"secureHtmlText": "<p>And text</p>"
}
},
"coverImage": {
"caption": "",
"croppedImage": {
"cropInfo": {
"height": 1333,
"width": 2000,
"x": 0,
"y": 0
},
"cropped": "urn:li:digitalmediaAsset:C5400AQENYhjODZ9eRw",
"original": "urn:li:digitalmediaAsset:C5400AQENYhjODZ9eRw"
}
},
"created": 1517248648000,
"displayImage": "urn:li:digitalmediaAsset:C5400AQENYhjODZ9eRw",
"id": 6363802076731973632,
"lastModified": 1517253706000,
"locale": {
"language": "en"
},
"newsArticle": "urn:li:article:7255369085935814179",
"permlink": "article-with-new",
"publishCommentary": {
"attributes": [],
"text": ""
},
"publishedAt": 1517253706000,
"state": "PUBLISHED",
"title": "Article with New Media Type",
"version": 12
}
To decorate the digitalmediaAsset
URN, use projection as described in the Media Migration Guide:
GET https://api.linkedin.com/v2/originalArticles/{originalArticleId}?convertVectorUrns=false&projection=(authors,content,coverImage(croppedImage(original~:playableStreams,cropped~:playableStreams,cropInfo,caption)),coverMedia~:playableStreams,created,displayImage~:playableStreams,id,lastModified,permlink,publishedAt,state,title,version,newsArticle)
GET https://api.linkedin.com/v2/originalArticles?q=authors&convertVectorUrns=false&projection=(elements*(authors,content,coverImage(croppedImage(original~:playableStreams,cropped~:playableStreams,cropInfo,caption)),coverMedia~:playableStreams,created,displayImage~:playableStreams,id,lastModified,permlink,publishedAt,state,title,version,newsArticle))
Delete Articles
You can delete an article on a member's behalf.
Sample Request
DELETE https://api.linkedin.com/v2/originalArticles/{originalArticleId}
A 200 OK
response is returned if the article is successfully deleted.
Retrieve Article Comments and Likes
To retrieve an article's comments and likes, use the article's newsArticle
URN and apply it toward the socialActions
API.
Retrieve Comments for an Article
Sample Request
GET https://api.linkedin.com/v2/socialActions/{newsArticle Urn}/comments
Retrieve Likes for an Article
Sample Request
GET https://api.linkedin.com/v2/socialActions/{newsArticle Urn}/likes