PostEverywhere Analytics Summary Reference
Aggregate counters and per-platform totals for the current workspace, in one call instead of listing every post.
Returns aggregate counts for a time window. Answers questions like "how many posts have I published this month?" or "which platform has the most failures this week?" without listing every post and counting client-side.
Pull performance totals across accounts: GET /v1/analytics/summary
curl "https://app.posteverywhere.ai/api/v1/analytics/summary?period=week" \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY"
Filtering the summary by date, account and platform
| Param | Values | Default |
|---|---|---|
period |
today (24 h), week (7 d), month (30 d), all, custom |
month |
from |
ISO timestamp (required if period=custom) |
N/A |
to |
ISO timestamp (required if period=custom) |
N/A |
What the analytics response returns
{
"data": {
"period": "week",
"range": { "from": "2026-06-04T05:30:00Z", "to": "2026-06-11T05:30:00Z" },
"posts": {
"total": 214,
"draft": 3,
"scheduled": 168,
"publishing": 2,
"published": 33,
"partially_failed": 4,
"failed": 4
},
"by_platform": [
{ "platform": "instagram", "total": 67, "scheduled": 55, "published": 11, "failed": 1 },
{ "platform": "tiktok", "total": 41, "scheduled": 38, "published": 0, "failed": 3 },
{ "platform": "linkedin", "total": 38, "scheduled": 30, "published": 8, "failed": 0 }
],
"metrics": {
"views": 12483,
"likes": 872,
"comments": 143,
"shares": 29,
"impressions": 41208,
"clicks": 518
},
"ai_credits": {
"used_this_period": 138,
"bonus": 0
}
},
"error": null,
"meta": { "request_id": "a1b2c3d4", "timestamp": "2026-06-11T09:55:12.341Z" }
}
Which metrics each platform actually reports
posts.totalcounts unique post groups. Multi-platform posts count as one here, not one per destination.by_platform.totalcounts destinations, so a 5-platform post contributes 5 rows total.metricsaggregates only thepublisheddestinations. Failed destinations don't have metrics.- Status counts use the derived post status, the same as
GET /v1/posts's status filter (scheduled/publishing/published/partially_failed/failed/draft).
How PostEverywhere derives a post's status
Post status is derived live from the destinations underneath it. Note the vocabulary
shift: a destination that published successfully is done, never published.
See the two status vocabularies.
published: every destination isdonefailed: at least 1 destinationfailed, nonedone, none queuedpartially_failed: at least 1 destinationdoneAND at least 1failedpublishing: at least 1 destination is in flight (preparing/uploading/publishing/verifying)scheduled: at least 1 destinationqueuedand nothing published yetdraft:posts.post_status = 'draft'
Metric availability, platform by platform
The metrics block is only as complete as what each platform's API gives us back, and
that varies a lot. Read this before building a dashboard on it, so a zero reads as
"this platform does not report it" rather than "this post got nothing".
| Platform | Views | Likes | Comments | Shares | Impressions | Saves | Clicks | Notes |
|---|---|---|---|---|---|---|---|---|
| YouTube | yes | yes | yes | - | - | - | - | |
| TikTok | yes | yes | yes | yes | - | - | - | Accounts connected before the video.list grant must reconnect once |
| yes | yes | yes | - | yes | yes | - | Views, impressions and saves need the insights permission on the token (either login type). No shares | |
| yes | yes | yes | yes | - | - | yes | Views are video views. Shares need pages_read_engagement; views and clicks need read_insights. No impressions or reach (Meta removed them) |
|
| Threads | yes | yes | yes | yes | yes | - | - | Impressions equal views. Comments are replies, shares are reposts plus quotes. Needs threads_manage_insights |
| - | yes | yes | yes | yes | - | yes | Company-page posts only; personal-profile posts return no metrics | |
| X | - | yes | yes | yes | yes | yes | - | Filled only after an on-demand refresh (Refresh on the analytics page). Comments are replies, shares are retweets plus quotes, saves are bookmarks |
| yes | yes | - | yes | yes | yes | yes | Business and Creator accounts only. Likes and saves are Pin saves, shares are outbound clicks, clicks are Pin clicks | |
| Bluesky | - | yes | yes | yes | - | - | - | Comments are replies, shares are reposts |
| Telegram, Discord, WordPress, Google Business Profile | - | - | - | - | - | - | - | No per-post analytics for these integrations |
The table is per post (GET /v1/posts, MCP list_posts and get_post). The summary totals here carry views, likes, comments, shares, impressions and clicks but not saves, and reach is not available anywhere in the API. get_post_results returns publish status and URLs only, never metrics.
A field we do not receive is returned as 0 in the aggregate and null on the
individual destination, so null is the honest signal for "not reported".
Reach is not available
The API exposes no reach metric on any platform.
impressionsis the closest available measure and is not the same thing. If you need reach, tell us at support@posteverywhere.ai so we can weight the work.
Followers: the audience block
The summary also returns follower counts and growth per account, in an audience block
next to metrics. Readings are taken once a day per account, starting 31 August 2026,
and the block uses the same period and range parameters as the rest of the summary.
"audience": {
"total_followers": 48210,
"accounts": [
{
"social_account_id": 101,
"platform": "instagram",
"account_name": "northwind.coffee",
"followers": 31840,
"change_in_period": 412,
"days_measured": 28,
"captured_on": "2026-10-19"
}
]
}
| Field | Meaning |
|---|---|
total_followers |
Sum of each account's latest follower count in the workspace |
accounts[].followers |
The account's latest reading |
accounts[].change_in_period |
Latest reading minus the first reading inside the period. null until the account has at least two readings in the period, never a made-up 0 |
accounts[].days_measured |
Distinct days with a reading in the period |
accounts[].captured_on |
Date of the latest reading |
Accounts are sorted by followers, highest first. There is no daily series, only the latest count and the change over the period. Platforms without a follower API (WordPress, Discord, Telegram and Google Business Profile) do not appear.
Related: per-account health · listing individual posts · filtering by campaign · analytics coverage changes
Full reference: GET /v1/analytics/summary.