Schemas

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.

Endpoints

6 endpoints return engagement stats on Facebook, Instagram, Reddit, Rumble, TikTok and YouTube.

Schema

Every endpoint above returns this object as data. The standard meta comes with every response.

platformstring

Platform ID (tiktok, instagram, …).

idstring

Platform-native account ID (equals profile.id).

urlstring uri

Canonical profile URL (equals profile.url).

profileobject

The account, as its profile endpoint returns it; its metrics.follower_count divides every engagement_rate.

ShowHide 20 child fields
postsobject[]

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).

ShowHide 6 child fields
metricsobject

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.

Item errors

Besides the request-level errors every endpoint can return, engagement endpoints return:

CodeHTTPRetryMeaningWhat to do
not_found404NoThe 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_unavailable403NoThe 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.Only public items can be fetched. Do not retry.

Last updated