Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

LinkedIn post analytics

Retrieve post analytics for a LinkedIn profile within a date range. When a post was published from Ordinal, the response includes an ordinalPost object with the linked post’s id, title, labels, and campaign.

Click metrics by profile type:

  • Personal (member) profiles return linkClickCount, profileViewFromContentCount, premiumCtaClickCount, and followerGainedFromContentCount. clickCount is always null.
  • Organization (company page) profiles return clickCount for total post clicks. The four member-only fields above are always null.

Personal profiles also include saveCount (times the post was saved) and sendCount (times the post was sent via DM). Posts with type Video also include videoViewCount, videoViewerCount, and videoWatchTimeSeconds; these fields are null for non-video posts and for video posts that have not yet been synced.

GET/analytics/linkedin/{profileId}/posts
Authorization
AuthorizationBearer token · headerrequired

API key authentication. Generate an API key from your workspace settings.

Path parameters
profileIdstring<uuid>required

LinkedIn profile ID (UUID)

Query parameters
startDatestring<date>

Start date for analytics (defaults to 30 days ago)

endDatestring<date>

End date for analytics (defaults to today)

Responses
200

LinkedIn post analytics

Array of LinkedInPostAnalytics
idstring<uuid>required
urlstring<uri>required

LinkedIn post URL

commentarystring | null
typestringrequired

The type of LinkedIn post

Allowed:TextArticleImageVideoPollCelebrationJobEventDocumentRepostQuotePostMultiImage
publishedAtstring<date-time> | null
likeCountinteger | null
commentCountinteger | null
shareCountinteger | null
clickCountinteger | null

Total post clicks. Available for organization (company page) profiles only; null for personal profiles.

linkClickCountinteger | null

Clicks on links embedded in the post. Available for personal LinkedIn profiles only; null for organization profiles.

profileViewFromContentCountinteger | null

Profile views driven by this post. Available for personal LinkedIn profiles only; null for organization profiles.

premiumCtaClickCountinteger | null

Clicks on LinkedIn Premium CTAs (for example, Book an appointment) attached to the post. Available for personal LinkedIn profiles only; null for organization profiles.

followerGainedFromContentCountinteger | null

New followers attributed to this post. Available for personal LinkedIn profiles only; null for organization profiles.

saveCountinteger | null

Times the post was saved to view later. Available for personal LinkedIn profiles only.

sendCountinteger | null

Times the post was sent via direct message. Available for personal LinkedIn profiles only.

impressionCountinteger | null
engagementnumber | null

Engagement rate (total engagements / impressions), typically between 0 and 1

emvnumber | null

Earned Media Value calculated as (impressionCount / 1000) * CPM

videoViewCountinteger | null

Total views on a video post. Only populated for posts with type Video; null for non-video posts and video posts that have not yet been synced.

videoViewerCountinteger | null

Unique viewers of a video post. Only populated for posts with type Video; null for non-video posts and video posts that have not yet been synced.

videoWatchTimeSecondsinteger | null

Total watch time across all viewers, in whole seconds. Only populated for posts with type Video; null for non-video posts and video posts that have not yet been synced.

ordinalPostOrdinalPostReference | null

Linked Ordinal post when this external post was published from Ordinal, null otherwise

Show properties
One of:
OrdinalPostReference
idstring<uuid>required

Ordinal post ID

titlestringrequired

Ordinal post title

labelsobject[]required
Show properties
Array of object
namestringrequired

Label name

labelIdstring<uuid>required

Label ID

campaignobject | null
Show properties
idstring<uuid>
namestring
null
null
401

Unauthorized - Missing or invalid API key

codestring
messagestring
403

Forbidden - Insufficient permissions

codestring
messagestring
404

Not Found - Resource does not exist

codestring
messagestring
Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://app.tryordinal.com/api/v1/analytics/linkedin/497f6eca-6276-4993-bfeb-53cbbbba6f08/posts' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440600",
    "url": "https://www.linkedin.com/feed/update/urn:li:share:7123456789012345678",
    "commentary": "Excited to share our latest product update! 🚀\n\nAfter months of development, we're launching three new features that will transform how you work:\n\n✅ Feature A\n✅ Feature B\n✅ Feature C\n\nLearn more in the comments 👇",
    "type": "Text",
    "publishedAt": "2024-12-10T14:00:00.000Z",
    "likeCount": 245,
    "commentCount": 32,
    "shareCount": 18,
    "clickCount": 156,
    "linkClickCount": null,
    "profileViewFromContentCount": null,
    "premiumCtaClickCount": null,
    "followerGainedFromContentCount": null,
    "saveCount": 41,
    "sendCount": 12,
    "impressionCount": 12500,
    "engagement": 0.036,
    "emv": 375,
    "ordinalPost": {
      "id": "44444444-4444-4444-a444-444444444444",
      "title": "LinkedIn Ordinal Post",
      "labels": [
        {
          "name": "Product",
          "labelId": "55555555-5555-4555-a555-555555555555"
        }
      ],
      "campaign": {
        "id": "66666666-6666-4666-a666-666666666666",
        "name": "Launch Campaign"
      }
    }
  },
  {
    "id": "550e8400-e29b-41d4-a716-446655440601",
    "url": "https://www.linkedin.com/feed/update/urn:li:share:7123456789012345679",
    "commentary": "5 lessons learned from scaling our startup from 0 to 10k users 📈\n\nWatch the full breakdown:",
    "type": "Video",
    "publishedAt": "2024-12-05T09:30:00.000Z",
    "likeCount": 892,
    "commentCount": 67,
    "shareCount": 134,
    "clickCount": null,
    "linkClickCount": 312,
    "profileViewFromContentCount": 87,
    "premiumCtaClickCount": 5,
    "followerGainedFromContentCount": 24,
    "saveCount": 156,
    "sendCount": 48,
    "impressionCount": 28900,
    "engagement": 0.052,
    "emv": 867,
    "videoViewCount": 15420,
    "videoViewerCount": 12800,
    "videoWatchTimeSeconds": 82340,
    "ordinalPost": null
  }
]