Field equivalence
Which native platform field feeds each unified field, for the metrics people compare most across platforms.
Each platform names the same number its own way: TikTok says play_count, YouTube says viewCount, Twitter/X says views.count. In a response, all three arrive as post.engagement.views. The tables below show, per platform, which native fields a unified field is filled from.
Build comparisons on the unified field once and they work across every platform listed. Several native names per platform means different endpoints on that platform expose the value under different names.
The paths on this page are schema 2, which every key gets from October 4, 2026.
Fields that moved in schema 2
Some values used to sit in ext on a few platforms. Schema 2 gives them one place on every platform:
| Value | Previous place | Schema 2 |
|---|---|---|
| Author ID on a post | ext.author_id (Facebook, Instagram lists, LinkedIn, TikTok), ext.channel_id (YouTube) | post.author.id |
| Author ID on a comment | ext.author_id, ext.author_channel_id (YouTube), Reddit's t2_ ID in author.display_name, Facebook's pfbid… ID in author.username | comment.author.id. Reddit's stays t2_…, prefix kept. |
| Reddit account ID on a post or profile | author.display_name (posts), display_name (profiles) | post.author.id and the profile's id, as t2_… with the prefix kept, so posts, comments and profiles join on one value. display_name is then null. |
| Language of a post or comment | ext.content_language, ext.default_language | post.language, comment.language |
| Rounded follower count | ext.followers_approximate | author.followers_approximate (profiles) |
| Bio link | ext.bio_link (TikTok, X), url (Instagram) | author.external_url. author.url is always the profile. |
| Original Unix timestamp | ext.published_at_epoch | Removed. published_at is always ISO 8601 UTC. |
| Post format | ext.media_type, ext.content_type, ext.post_type | post.kind. The ext keys stay where the platform sends them. |
YouTube ext keys | camelCase | snake_case, such as made_for_kids, category_id, default_audio_language |
author.id is null where the source gives no ID (usually Threads, Twitter/X and Pinterest posts), and the response lists it in unavailable.
Engagement
post.engagement.views
| Platform | Native field |
|---|---|
interested_count, reachEstimate, reach_estimate, social_context.interested_count, videoViewCount, view_count | |
data.xdt_shortcode_media.video_play_count, items.0.play_count, media.play_count, play_count | |
| Threads | post.view_counts, view_counts |
| TikTok | aweme_info.statistics.play_count, ch_info.view_count, impression, lifetime_views, statistics.play_count, stats.playCount, userCount, vv_count |
| Twitter/X | view_count, views.count |
| YouTube | viewCount, viewCountInt |
The Facebook interested_count entries are events, where views carries the interested count; see Metric substitutions.
post.engagement.likes
| Platform | Native field |
|---|---|
going_count, like_count, reactionCount, reactions_count, social_context.going_count | |
data.xdt_shortcode_media.edge_media_preview_like.count, items.0.like_count, like_count, media.like_count | |
activity.num_likes, data.activity.num_likes, stats.total_reactions | |
pin_count, reaction_counts.1, totalReactionCount | |
score, ups (a score below zero gives null here and ext.score) | |
| Threads | like_count, post.like_count |
| TikTok | aweme_info.statistics.digg_count, like, likes, statistics.digg_count, stats.diggCount |
| Twitter/X | favorite_count, legacy.favorite_count |
| YouTube | likeCount, likeCountInt |
post.engagement.comments
| Platform | Native field |
|---|---|
commentCount, comment_count, comments_count | |
comment_count, data.xdt_shortcode_media.edge_media_to_parent_comment.count, items.0.comment_count, media.comment_count | |
activity.num_comments, data.activity.num_comments, stats.comments | |
aggregatedPinData.commentCount, aggregated_pin_data.did_it_data.responses_count | |
comments, num_comments | |
| Threads | post.text_post_app_info.direct_reply_count, text_post_app_info.direct_reply_count |
| TikTok | aweme_info.statistics.comment_count, comment, statistics.comment_count, stats.commentCount |
| Twitter/X | legacy.reply_count, reply_count |
| YouTube | commentCount, commentCountInt |
post.engagement.shares
| Platform | Native field |
|---|---|
share_count | |
items.0.reshare_count | |
activity.num_shares, data.activity.num_shares, stats.reposts | |
repin_count, shareCount | |
| Threads | post.text_post_app_info.repost_count, text_post_app_info.repost_count |
| TikTok | aweme_info.statistics.share_count, share, statistics.share_count, stats.shareCount |
| Twitter/X | legacy.retweet_count, retweet_count |
post.engagement.saves
| Platform | Native field |
|---|---|
items.0.save_count | |
aggregatedPinData.aggregatedStats.saves, aggregated_pin_data.aggregated_stats.saves | |
| TikTok | aweme_info.statistics.collect_count, statistics.collect_count, stats.collectCount |
| Twitter/X | bookmark_count, legacy.bookmark_count |
A platform listed here may still return null on most surfaces; Metric substitutions says where. A platform missing from a table never fills that field: see Never shown publicly.
Never shown publicly
These post counts are not shown publicly on most of the platform. They are null on most endpoints, and a response never lists them in unavailable:
| Platform | Post fields |
|---|---|
engagement.shares, engagement.saves (Sends and saves come only from the stats endpoints named on Post) | |
engagement.saves, author.username | |
| Threads | engagement.saves |
| YouTube | engagement.shares, engagement.saves |
engagement.views, engagement.shares, engagement.saves, author.display_name | |
engagement.views, engagement.saves | |
engagement.views |
Post content
post.content.text
| Platform | Native field |
|---|---|
accessibility_caption, description, message, name, snapshot.body, snapshot.body.text, text, title | |
caption, caption.text, data.xdt_shortcode_media.edge_media_to_caption.edges.0.node.text, items.0.caption.text, media.caption.text, title | |
data.text, description, text, title | |
description, name, title | |
title | |
| Threads | caption.text, post.caption.text |
| TikTok | adTitle, ad_title, aweme_info.desc, ch_info.cha_name, desc, hashtag, name, title |
| Twitter/X | note_tweet.note_tweet_results.result.text |
| YouTube | content, title |
post.published_at
| Platform | Native field |
|---|---|
creation_time, publishTime, startDateString, start_date_string, start_timestamp, timestamp | |
data.xdt_shortcode_media.taken_at_timestamp, items.0.taken_at, media.taken_at, taken_at | |
created_at, data.created_at, posted_at.timestamp, startDate | |
createdAt, created_at | |
created_utc, creationDate | |
| Threads | post.taken_at, taken_at |
| TikTok | aweme_info.create_time, createTime, create_time, created_at, first_shown_date, publish_time |
| Twitter/X | created_at, legacy.created_at |
| YouTube | publishDate, publishedAt, publishedTime, videoPublishedAt |
Whatever the native format (ISO string, Unix seconds or milliseconds, X's own date text), published_at is ISO 8601 in UTC, ending in Z.
Author
author.followers
| Platform | Native field |
|---|---|
followerCount, likes, member_count | |
data.user.edge_followed_by.count, follower_count, user.follower_count | |
data.follower_and_connection.follower_count, data.follower_count, follower_count, follower_count_display | |
subscribers | |
| Threads | follower_count |
| TikTok | follower_count, user.follower_count, user_info.follower_count |
| Twitter/X | legacy.followers_count, member_count |
| YouTube | SubscriberCount, subscriberCount |
author.following
| Platform | Native field |
|---|---|
data.user.edge_follow.count, following_count, user.following_count | |
data.follower_and_connection.connection_count | |
| TikTok | following_count, user.following_count, user_info.following_count |
| Twitter/X | legacy.friends_count |
author.posts_count
| Platform | Native field |
|---|---|
data.user.edge_owner_to_timeline_media.count, media_count, user.media_count | |
| TikTok | aweme_count, user.aweme_count, user_info.aweme_count |
| Twitter/X | legacy.statuses_count |
| YouTube | TotalVideosCount, videoCount |
author.likes_count
| Platform | Native field |
|---|---|
likeCount | |
| TikTok | total_favorited, user.total_favorited, user_info.total_favorited |
Reddit and Threads profiles never carry following, posts_count or likes_count; Reddit karma is in ext.post_karma and ext.comment_karma. For every field, its nullability and per-platform coverage, see the Post, Author and Comment pages.