Articles API

Network updates, allowing members to share rich content with their professional network, is a core experience on LinkedIn. LinkedIn also allows members to write and post articles as part of their network updates to provide better engagement for our members. Use the following APIs to retrieve and delete published article posts.

Note

Due to a media migration effort, all values will be set to new media after Dec 1 2018.

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 our 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 Article by ID

Sample Request

GET https://api.linkedin.com/v2/originalArticles/{originalArticlesId}

Look Up 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 this article.
author person URN The author of article. Represented in person URN.
type string Author's type. Can be one of the following values:
  • PRIMARY_AUTHOR - primary author of the article.
  • AUTHOR - author of the article.
  • COLLABORATOR - an author who can collaborate on the article with a PRIMARY_AUTHOR/AUTHOR, but cannot edit the article directly.
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 Display image for use when displaying the article around the site.
id long Unique identifier for article.
lastModified string A timestamp corresponding to the last modification of this article.
newsArticle URN The article URN referenced 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 this 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 this article's contents.
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": []
  }
}

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

Due to a media migration effort, a new media type is returned. Use convertVectorUrns=false to get the article.

Existing fields will work until Dec 1 2018. All values will be set to the new media after that date.

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