Engagement rate, average views, likes and comments, posting cadence and top post for an account, computed from its recent posts the same way on every platform.
The sampled recent posts in the profile's order, each with its own figures. [] when none; [] and in unknown_fields when unreadable (a private account, a failed posts request).
Figures over the counted posts (by the account, not pinned); each null when no counted post has its inputs.
ShowHide 19 child fields
sampled_post_countintegernullable
Posts in the sample, the length of posts; null when unreadable.
counted_post_countintegernullable
Sampled posts that enter the figures.
rated_post_countintegernullable
Counted posts with known like and comment counts: what interaction figures and rates are over.
views_per_postnumbernullable
Mean views per counted post with a view count.
median_views_per_postnumbernullable
Median views per counted post: the typical post, unmoved by one viral hit.
likes_per_postnumbernullable
Mean likes per counted post with a like count.
comments_per_postnumbernullable
Mean comments per counted post with a comment count.
shares_per_postnumbernullable
Mean shares per counted post with a share count.
reposts_per_postnumbernullable
Mean reposts per counted post with a repost count.
quotes_per_postnumbernullable
Mean quote posts per counted post with a quote count.
saves_per_postnumbernullable
Mean saves per counted post with a save count.
interactions_per_postnumbernullable
Mean interactions (likes + comments) per rated post; known without a follower count.
engagement_ratenumbernullable
Mean of the rated posts' engagement_rate (interactions per follower), as a fraction (0.042 = 4.2%).
median_engagement_ratenumbernullable
Median of the rated posts' engagement_rate.
engagement_rate_stddevnumbernullable
Population standard deviation of the rated posts' engagement_rate: how uneven they perform. Null under 2 rated posts.
view_engagement_ratenumbernullable
Mean of the rated posts' view_engagement_rate (interactions per view), as a fraction.
comment_to_like_rationumbernullable
The rated posts' comments over their likes.
posts_per_weeknumbernullable
Posting cadence: intervals between counted posts per week from oldest_post_at to newest_post_at.
formatsobject[]
The counted posts by post type, most posts first; [] when none are counted.
ShowHide 5 child fields
typestring
Post type (post.type). New values may be added; treat unknown values as other.
One ofvideoimagecarouseltextlinkaudio
counted_post_countinteger
Counted posts of this type.
views_per_postnumbernullable
Mean views per post of this type.
interactions_per_postnumbernullable
Mean interactions per rated post of this type.
engagement_ratenumbernullable
Mean engagement_rate of the rated posts of this type.
oldest_post_atstring date-timenullable
Publish time of the oldest counted post, RFC 3339 UTC: where the sample starts.
newest_post_atstring date-timenullable
Publish time of the newest counted post, RFC 3339 UTC: when the account last posted.
top_post_idstringnullable
ID of the rated post with the most interactions (likes + comments); the first on a tie.
bottom_post_idstringnullable
ID of the rated post with the fewest interactions; the first on a tie.
platform_specificobject
Fields only this platform has, under its ID (platform_specific.<platform>); each null when unknown.
approximate_fieldsstring[]
JSON paths of figures computed from an approximate input (a rounded follower or view count, a relative publish time); a posts[] path means at least one post's. [] when all exact.
unknown_fieldsstring[]
JSON paths of lists whose [] means unknown rather than none (posts, metrics.formats). [] when every list is known.
Besides the request-level errors every endpoint can return, engagement endpoints return:
Code
HTTP
Retry
Meaning
What to do
not_found
404
No
The item does not exist or was deleted. On GET /v1/requests/{id}/response: the response was not kept (details.reason says why).
Check the link or ID. Do not retry.
private_or_unavailable
403
No
The item exists but is not public: it is private, age- or region-restricted, or needs a login to view. It shares 403 with forbidden (which is about the key), so branch on the code.