lastSyncAt and
nextSyncAt so you can show it; see How collection
works for the cadence.
Analytics are included on every plan and every account, from the trial
onwards. Nothing here is gated.
Summary
The headline numbers over a window, each with its change against the previous period of the same length:Response (trimmed)
engagementRate.change: 0.5 means half a point
(6.3% → 6.8%), not half a percent.
Posts
Every post with its metrics, sorted by whichever one matters:Posts you didn’t publish through PlugKit
The collector mirrors what each platform lists, so a post published straight from the Instagram app shows up here too, markedsource: "external". That’s
what makes the numbers match the platform’s own dashboard on day one, instead
of only counting what has gone through the API since you connected.
Use source=plugkit when you specifically want to measure your own automation.
Over time
One metric, bucketed by day, week or month, optionally split by platform — the shape a stacked chart wants:Response (trimmed)
Platform breakdown
One row per network over the window — posts, every metric, and the engagement rate:Best time to post
Average engagement per weekday and hour, read in the timezone you ask for:Response (trimmed)
weekday is 0 for Sunday, following Postgres. Always pass a timezone — an
hour-of-day grid read in UTC is off by your users’ whole offset, and it fails
silently, because every cell still has a plausible number in it.
Check posts before acting on a cell. The second row above has the best average
of the set and is worth nothing: one post is a coincidence, not a slot.
Engagement accumulation
How fast a post earns its final engagement, by age bucket — the answer to “is it still worth watching, or is it done?”:Response (trimmed)
share is the percentage of final engagement already earned at that age,
averaged over the posts in the window. It fills in as your posts age — a brand
new account only has the early buckets.
Followers
Follower count over time, per account, with growth:The series starts the day the account was connected. No platform hands back
the follower history it didn’t record — it can only be measured forward, one
day at a time. Connect early.
Refresh on demand
Someone just published from the platform’s own app and wants to see it now:accountId, the platform is queried within the request. Without one,
every account of the caller is moved to the front of the queue and picked up on
the next cycle.
Calls within 15 seconds of each other on the same account are ignored — a
dashboard that refreshes on focus can’t turn into a burst of platform calls.
Live reads
The endpoints above never touch a platform. When you want the value right now for one object — and are willing to pay for it on metered platforms — two pass-through reads remain:/v1/analytics/* for anything you’d put in a dashboard.
How collection works
Cadences, freshness, history depth, and what each platform actually exposes.
Try it live
Every analytics endpoint in the playground.