Post Analytics
Per-post views, likes, comments, shares, saves, reach and engagement for every post published in a window, sortable by any metric, plus the posts AdaptlyPost found on your accounts but did not publish.
Post analytics answer "how did this post do" and "which posts did best". They cover posts published through AdaptlyPost and posts discovered on the connected accounts, so a post made in the native app still shows up with its numbers.
This is performance, not delivery. Post Results tells you whether a post reached each platform; this endpoint tells you what happened after it did.
GET /api/v1/analytics/posts
GET /api/v1/analytics/posts?from=2026-08-01&to=2026-08-31&sortBy=VIEWS&page=1&limit=20
| Parameter | Description |
|---|---|
| from, to | The window, ISO 8601. Posts are selected by publish date. Required |
| platforms | Restrict to these platforms. Repeat the key per value |
| sortBy | VIEWS, LIKES, COMMENTS, SHARES, SAVES, CLICKS, IMPRESSIONS, ENGAGEMENT_RATE or PUBLISHED_AT (default). Descending |
| page | Page number, from 1 |
| limit | Posts per page, 1 to 100, default 20 |
{
"posts": [
{
"id": "ap_01j9xk4",
"postId": "cmm0z0k3q0000i0r5mxn0hfhs",
"postPlatformId": "cmm0z0k3u0001i0r5dlbfa440",
"platform": "INSTAGRAM",
"publishedAt": "2026-08-14T10:00:12.000Z",
"title": "Plan a week of posts in one sitting",
"thumbnailUrl": "https://cdn.adaptlypost.com/...",
"permalink": "https://www.instagram.com/p/...",
"accountName": "adaptlypost",
"metrics": {
"views": 9120,
"likes": 410,
"comments": 38,
"shares": 22,
"saves": 61,
"clicks": null,
"impressions": 10230,
"reach": 8540,
"engagementRate": 5.15
}
}
],
"total": 42,
"page": 1,
"limit": 20,
"hasMore": true
}| Field | Description |
|---|---|
| id | Analytics record id. The only id every tracked post has |
| postId | The AdaptlyPost post id, usable with Get Post. Null for a post discovered on the account |
| postPlatformId | The platformId from Post Results. Null for discovered posts |
| permalink | Public URL of the post on the platform, when known |
| metrics | Latest captured counters. A metric the platform does not report is null |
GET /api/v1/analytics/top-posts
GET /api/v1/analytics/top-posts?from=2026-08-01&to=2026-08-31&sortBy=ENGAGEMENT_RATE&limit=5
The same rows without pagination: the top limit posts (1 to 50, default 10) ordered by sortBy (default VIEWS). Returns { "posts": [...] }.
GET /api/v1/analytics/discovered-posts
GET /api/v1/analytics/discovered-posts?from=2026-08-01&to=2026-08-31&limit=200
Posts found on the connected accounts that AdaptlyPost did not publish, for a read-only calendar. Their metrics are in /analytics/posts; this endpoint returns the post itself.
{
"posts": [
{
"id": "ap_01j9xk9",
"platform": "TIKTOK",
"publishedAt": "2026-08-20T17:30:00.000Z",
"text": "Behind the scenes of our launch week",
"thumbnailUrl": "https://cdn.adaptlypost.com/...",
"permalink": "https://www.tiktok.com/@adaptlypost/video/...",
"accountName": "adaptlypost"
}
]
}limit accepts 1 to 1000 and defaults to 200.
How far back
Nothing published more than 180 days ago is listed, on any platform. Some platforms expose less history for a given account; Analytics Sync reports the exact horizon per account.