GET/api/v4/social/posts/{postId}/insights

Get post insights and comments

Returns the platform's own engagement payload and comments for one published post on one connected channel.

Requires an API key. See Authentication for header format and key rotation.

Parameters

Path

NameTypeRequiredDescription
postIdstringrequiredPost UUID, the `socialPostId` returned by POST /social/posts.

Query

NameTypeRequiredDescriptionDefault
socialConnectedChannelIdstringrequiredUUID of the connection to read insights for, the `id` of a row from the brand's connections list. Insights are per channel, so this is required even when the post targeted one platform. Note the name: this endpoint takes `socialConnectedChannelId`, while disconnect takes `socialProfileConnectedChannelId` for the same ID.

Responses

200The platform's engagement payload and comments. Both fields are JSON strings whose keys are set by the platform, not by Listings API: parse them before reading.
Response
{  "data": {    "getPostInsightsAndCommentsForSocialChannel": {      "insights": "{\"impressions\": 4820, \"reach\": 3915, \"likes\": 212, \"comments\": 18, \"saved\": 44, \"shares\": 9, \"profile_visits\": 61}",      "comments": "[{\"id\": \"17912345678901234\", \"username\": \"marta.builds\", \"text\": \"That oak finish is beautiful. Do you ship?\", \"like_count\": 3, \"timestamp\": \"2026-10-02T15:12:44+0000\"}, {\"id\": \"17912345678905678\", \"username\": \"eastsidehome\", \"text\": \"Stopping by Saturday!\", \"like_count\": 0, \"timestamp\": \"2026-10-02T18:40:02+0000\"}]"    }  }}
401Unauthenticated, missing or invalid API key.
404No post with that ID on this account, or the connection does not belong to the post's brand (`SY95052`).

Returns what the platform reports about one published post on one channel: its engagement metrics and the comments left on it.

Use case: a per-post engagement panel. When a customer opens a published post in your UI, call GET /social/posts/{postId} for the channel list, then call this endpoint once per channel with that channel's id. Parse insights, render the metrics you recognise, and ignore the rest — that way a platform adding a field never breaks your page.

Use case: surfacing comments that need a reply. Poll this for recently published posts and route new entries from the parsed comments array into your own inbox. Note that this endpoint is read-only: replying to a comment is done on the platform, not through the Listings API.

Notes.

  • socialConnectedChannelId is required, and it is the connection's Synup id from the brand's connections — not the platform's referenceId. Insights are always scoped to one channel, because the numbers come from that platform's API.
  • The channel must belong to the same brand as the post. Pairing a post with another brand's connection returns SY95052.
  • Only published posts have insights. A post that is still SCHEDULED, or that failed on this channel, returns empty payloads rather than an error, so check connectedChannels[].status on the post before drawing conclusions.
  • Metrics are as fresh as the platform makes them, which for most platforms means a lag of minutes to a few hours after publishing. Poll on a timer rather than expecting numbers immediately after connectedChannels[].status flips to SUCCESS.
  • Comment volume is capped by what the platform returns in one page; this endpoint does not paginate beyond it.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/posts/<postId>/insights?socialConnectedChannelId=<socialConnectedChannelId>' \  -H "Authorization: API $LISTINGSAPI_KEY"