Skip to content

get_post_analytics

Returns views, likes, comments, shares, saves and clicks for every profile a published post reached, with the raw metrics under each platform’s own names. Nothing reads the networks on its own: without refresh the call returns what the last reading stored, free, and says per profile when it was read or that it never has been. With refresh it reads every network the post went to right now, which costs one credit. A profile with unavailable: true will never report — LinkedIn only answers for organization pages, never personal profiles — and one whose error mentions reconnecting was connected before the insights permission existed; the owner reconnects it in the dashboard.

Access
read
Category
Analytics
Endpoint
POST/api/tools/get_post_analytics
On this page
  1. Parameters
  2. Example request
  3. Response

Parameters

id
stringrequired
ObjectId of the published post.
refresh
boolean
Read the networks now (1 credit) instead of returning the stored reading (free).default: false
workspaceId
string
Workspace to act on, from list_workspaces. Omit to use the default workspace on the key.

Example request

curl -X POST "https://api.postmcpai.com/api/tools/get_post_analytics" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $POSTMCPAI_API_KEY" \
  -d '{
    "id": "66a50b12e4b019a2b71c",
    "refresh": true
  }'

Response

Per-profile readings, totals across them, when they were last read, and notes for any profile without numbers. With refresh, also what was read and what the call cost.

200 · application/json
{
  "id": "66a50b12e4b019a2b71c",
  "content": "Building social automation with PostMCP AI 🤖",
  "publishedAt": "2026-09-08T10:00:00.000Z",
  "fetchedAt": "2026-09-11T07:45:12.000Z",
  "totals": {
    "views": 4931,
    "likes": 178,
    "comments": 24,
    "shares": 41,
    "saves": 12,
    "clicks": 63,
    "engagements": 243
  },
  "measured": 2,
  "measurable": 2,
  "targets": [
    {
      "platform": "linkedin",
      "profileId": "lin_7741903",
      "username": "postmcp-ai",
      "url": "https://www.linkedin.com/feed/update/urn:li:share:7218.../",
      "analytics": {
        "fetchedAt": "2026-09-11T07:45:12.000Z",
        "summary": {
          "views": 3120,
          "likes": 96,
          "comments": 14,
          "shares": 19,
          "saves": null,
          "clicks": 41,
          "engagements": 129
        },
        "metrics": {
          "impressionCount": 3120,
          "uniqueImpressionsCount": 2410,
          "likeCount": 96,
          "commentCount": 14,
          "shareCount": 19,
          "clickCount": 41,
          "engagement": 0.054
        },
        "source": "linkedin rest organizationalEntityShareStatistics",
        "error": "",
        "unavailable": false
      }
    },
    {
      "platform": "twitter",
      "profileId": "tw_1293847",
      "username": "@alexj_dev",
      "url": "https://x.com/alexj_dev/status/1899999999999999999",
      "analytics": {
        "fetchedAt": "2026-09-11T07:45:12.000Z",
        "summary": {
          "views": 1811,
          "likes": 82,
          "comments": 10,
          "shares": 22,
          "saves": 12,
          "clicks": 22,
          "engagements": 114
        },
        "metrics": {
          "impression_count": 1811,
          "like_count": 82,
          "reply_count": 10,
          "retweet_count": 17,
          "quote_count": 5,
          "bookmark_count": 12,
          "url_link_clicks": 22,
          "user_profile_clicks": 9
        },
        "source": "x api v2 tweets public_metrics",
        "error": "",
        "unavailable": false
      }
    }
  ],
  "notes": [],
  "refresh": {
    "read": 2,
    "skipped": 0,
    "failed": 0,
    "errors": []
  },
  "credits": {
    "charged": 1,
    "remaining": 449
  }
}