Analytics
Numbers for each post, per account it went to, and follower counts for each account. Available on X, Instagram, Facebook, LinkedIn, TikTok, YouTube and Pinterest.
Post analytics
GET/v1/posts/{id}/analytics
One entry per target, each with a status:
ready:metricsholds the numbers,updated_atsays when the network reported them.syncing: the network hasn’t reported yet. New posts take minutes to hours; ask again later.unavailable: there will be no numbers, andreasonsays why: the network has no post analytics (Threads, Bluesky and Google Business), the target never published, or the network returned an error for this account.
curl https://api.postpeg.com/v1/posts/post_mfz2k3v8q1w5e9r4t7y0u2i6o3/analytics \
-H "Authorization: Bearer $POSTPEG_KEY"Response · 200 OK
{
"post_id": "post_mfz2k3v8q1w5e9r4t7y0u2i6o3",
"targets": [
{
"account_id": "acc_mfz1x0k27d4q8vbn3c5s0a1p9e",
"platform": "x",
"url": "https://x.com/acme/status/1971234567890123456",
"status": "ready",
"metrics": {
"impressions": 4812,
"reach": null,
"views": null,
"likes": 131,
"comments": 9,
"shares": 22,
"saves": 6,
"clicks": 74,
"engagement_rate": 5.07
},
"updated_at": "2026-10-01T15:20:31.000Z",
"reason": null
},
{
"account_id": "acc_mfz1y4r9h2c6t0wqk8e3m7ld5f",
"platform": "linkedin",
"url": "https://www.linkedin.com/feed/update/urn:li:share:7378123456789012345",
"status": "syncing",
"metrics": null,
"updated_at": null,
"reason": null
},
{
"account_id": "acc_mfz24f7z0x3c6v9b2n5m8q1w4e",
"platform": "threads",
"url": "https://www.threads.net/@acmecoffee/post/DPq8aBcDeFg",
"status": "unavailable",
"metrics": null,
"updated_at": null,
"reason": "Threads does not provide post analytics"
}
]
}Metrics
A metric the network doesn’t report is null, never a made-up 0. Which ones are filled depends on the network.
| Field | Description |
|---|---|
impressionsnumber | null | Times the post was shown. |
reachnumber | null | Unique people who saw it. |
viewsnumber | null | Video views. |
likesnumber | null | Likes or reactions. |
commentsnumber | null | Comments and replies. |
sharesnumber | null | Shares, reposts or retweets. |
savesnumber | null | Saves or bookmarks. |
clicksnumber | null | Link clicks. |
engagement_ratenumber | null | A percentage: 2.78 means 2.78%. |
Account analytics
GET/v1/accounts/{id}/analytics
The follower count now, its change over the range, and a daily series. Pass from and to as YYYY-MM-DD; the default is the last 30 days, and the range can be at most 366 days.
curl https://api.postpeg.com/v1/accounts/acc_mfz20b5n1s8f4j7xv2p9r6hu1c/analytics?from=2026-09-01&to=2026-09-30 \
-H "Authorization: Bearer $POSTPEG_KEY"Response · 200 OK
{
"account_id": "acc_mfz20b5n1s8f4j7xv2p9r6hu1c",
"platform": "instagram",
"followers": 12480,
"follower_growth": 312,
"follower_growth_percent": 2.56,
"series": [
{
"date": "2026-09-01",
"followers": 12168
},
{
"date": "2026-09-02",
"followers": 12181
},
{
"date": "2026-09-03",
"followers": 12203
}
],
"from": "2026-09-01",
"to": "2026-09-30"
}The series above is cut to three days for space. Asking for an account on a network without analytics returns a 400:
Response · 400 Bad Request
{
"type": "https://postpeg.com/errors/invalid_request",
"title": "Invalid request",
"status": 400,
"detail": "Analytics is not available for Threads",
"code": "invalid_request",
"request_id": "8f14e45f-ceea-467a-9575-1f2a5c3e6b0d"
}