Saves: Unverified
Postdom has not verified TikTok saves. A saves number in an aggregate response does not establish a TikTok-specific measurement. Keep saves null and leave it out of numeric rankings.
TikTok reference
A TikTok analytics API integration starts with whose data you need: an authorized user's public videos, ad reports or approved research. If you post your TikToks with Postdom, you can skip that build and read a stored snapshot of each post instead.
These are separate products, each with its own access rules. A publishing permission does not include read access.
video.list scope. See TikTok's scope reference.get_performance, with a Postdom post ID and Postdom authentication.For the Display API route, send the authorized user's video ID with video.list access. TikTok checks that the video belongs to that user.
The outline requests native counter names. These are not the field names in Postdom's normalized model below. Read data.videos and the returned error object.
Request outline · not executed here
POST https://open.tiktokapis.com/v2/video/query/
?fields=id,view_count,like_count,comment_count,share_count
Authorization: Bearer <TIKTOK_USER_ACCESS_TOKEN>
Content-Type: application/json
{
"filters": {
"video_ids": ["<TIKTOK_VIDEO_ID>"]
}
}Replace the placeholders in your own client and join the URL onto one line. Keep tokens out of this page and out of public source code.
4 of 9 fields have available coverage in Postdom's TikTok model. A coverage state describes the integration. It does not promise a number in every snapshot, and "never" is not a claim about every native TikTok API.
| Field | Postdom coverage | What to do with it |
|---|---|---|
ViewsviewsThe view count in a normalized TikTok performance snapshot. | AvailableavailablePostdom verification: . | Postdom supports this field when a usable snapshot exists. Available coverage does not guarantee a value in every response. Coverage recordPostdom's internal evidence record: |
LikeslikesThe like count in a normalized TikTok performance snapshot. | AvailableavailablePostdom verification: . | Postdom supports this field when a usable snapshot exists. Available coverage does not guarantee a value in every response. Coverage recordPostdom's internal evidence record: |
CommentscommentsThe comment count in a normalized TikTok performance snapshot. | AvailableavailablePostdom verification: . | Postdom supports this field when a usable snapshot exists. Available coverage does not guarantee a value in every response. Coverage recordPostdom's internal evidence record: |
SharessharesThe share count in a normalized TikTok performance snapshot. | AvailableavailablePostdom verification: . | Postdom supports this field when a usable snapshot exists. Available coverage does not guarantee a value in every response. Coverage recordPostdom's internal evidence record: |
SavessavesA nullable field; an aggregate saves key does not verify TikTok saves. | UnverifiedunverifiedPostdom verification: Not verified. | Postdom has not verified this field's TikTok coverage. Keep it null, not zero. Coverage recordPostdom's internal evidence record: |
Watch timewatch_time_sPostdom's total watch-time field, in seconds. | NeverneverPostdom verification: . | Not available in Postdom's normalized TikTok model; this field stays null. This is not a claim about every native TikTok API. Coverage recordPostdom's internal evidence record: |
Average watch percentageavg_watch_pctPostdom's average percentage-watched field. | NeverneverPostdom verification: . | Not available in Postdom's normalized TikTok model; this field stays null. This is not a claim about every native TikTok API. Coverage recordPostdom's internal evidence record: |
Completion percentagecompletion_pctPostdom's completed-view percentage field. | NeverneverPostdom verification: . | Not available in Postdom's normalized TikTok model; this field stays null. This is not a claim about every native TikTok API. Coverage recordPostdom's internal evidence record: |
Follower deltafollower_deltaAn account-level follower change field, not exact per-post attribution. | EstimableestimablePostdom verification: . | Postdom classifies this field as estimable with suitable inputs. The label alone does not mean an estimate has been computed. Coverage recordPostdom's internal evidence record: |
Postdom has not verified TikTok saves. A saves number in an aggregate response does not establish a TikTok-specific measurement. Keep saves null and leave it out of numeric rankings.
Watch time, Average watch percentage, and Completion percentage: Never. Not available in Postdom's normalized TikTok model; this field stays null. This is not a claim about every native TikTok API. See what completion rate means and why null is not zero.
Consecutive account snapshots can support a change estimate. That would be account growth over a period, not proof that one video caused it. The current post normalizer leaves this field null; it does not compute an estimate.
Postdom's Free plan has no card and posts to TikTok. The Postdom API comes with every plan, so you can read the stored snapshot of a post you published with Postdom without paying.
Call get_performance with your Postdom post ID. Use post_id or account_id, not both. It reads stored snapshots and does not force a new TikTok report.
MCP tool: get_performance · argument outline
{
"post_id": "<POSTDOM_POST_ID>"
}The post-scoped tool calls GET /v1/posts/<POSTDOM_POST_ID>/performance. This reads stored snapshots; it does not force an on-demand native TikTok report.
Inspect performance[] and select rows with platform: "tiktok". Use publish_id to identify the destination publish. One Postdom post can have more than one destination.
Read each field with its availability record and captured_at. Compare snapshots from the same publish. Do not mistake a coverage verification date for recent performance.
If performance is empty, inspect eligibility. An ineligible result with publish_failed has no measurable platform post. Even an eligible result does not promise a future snapshot.
A zero is a recorded value. A null field is missing. No snapshot means there is nothing to compare yet. Count all three as zero and an unmeasured post drops to the bottom of your report.
These examples ran through Postdom's normalizer with invented inputs.
These are recorded zeros, so a snapshot can exist. Keep zero in a numeric comparison; it does not mean the field is missing.
{
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0
}{
"views": 0,
"likes": 0,
"comments": 0,
"shares": 0,
"saves": null,
"watch_time_s": null,
"avg_watch_pct": null,
"completion_pct": null,
"follower_delta": null,
"captured_at": "2026-08-22T00:00:00.000Z",
"platform": "tiktok",
"source": "poll"
}Illustrative data, computed locally with Postdom's normalizer. The input is an analytics fragment, not a native TikTok response. The output is a snapshot, not the full API envelope; publish ID and availability records are omitted. Its date is invented, not a verification claim.
The normalizer creates no snapshot when a required counter is missing or unusable. It does not invent shares: 0. A real empty performance array needs its own eligibility check.
{
"views": 125,
"likes": 8,
"comments": 0
}nullIllustrative data, computed locally with Postdom's normalizer. The input is an analytics fragment, not a native TikTok response. The output is a snapshot, not the full API envelope; publish ID and availability records are omitted. Its date is invented, not a verification claim.
Read the output, not just the input keys. Postdom applies its coverage rules to optional values; the follower field is not computed by this path. The table explains the individual states.
{
"views": 125,
"likes": 8,
"comments": 0,
"shares": 2,
"saves": 12,
"watch_time_s": 90,
"avg_watch_pct": 50,
"completion_pct": 25,
"follower_delta": 3
}{
"views": 125,
"likes": 8,
"comments": 0,
"shares": 2,
"saves": null,
"watch_time_s": null,
"avg_watch_pct": null,
"completion_pct": null,
"follower_delta": null,
"captured_at": "2026-08-22T00:00:00.000Z",
"platform": "tiktok",
"source": "poll"
}Illustrative data, computed locally with Postdom's normalizer. The input is an analytics fragment, not a native TikTok response. The output is a snapshot, not the full API envelope; publish ID and availability records are omitted. Its date is invented, not a verification claim.
For a ranking, leave out null values and keep recorded zeros. No TikTok rate limit or reporting interval is promised here.
TikTok has several data APIs for different jobs: the Display API for an authorized user's videos, API for Business for ad reports, and the Research API for approved research. Choose the product before choosing metric names.
No. Postdom reads stored snapshots for posts and accounts in your own workspace. A public username or TikTok video ID is not a Postdom post ID.
Its coverage state in the table says why. A field Postdom has not verified stays null, not zero. Leave it out of numeric rankings.
No fixed reporting interval is promised. Check captured_at and the field's availability record. Reading again does not force a fresh TikTok report.
Postdom turns your website into ready-to-post videos, slideshows and single images in your brand, and posts the ones you approve to TikTok, Instagram and more. After a post goes out, its snapshot is one call away.
Nothing posts until you approve it. Start on Free with no card.
Paste your website and see your first post today.