{
  "actorSpecification": 1,
  "fields": {
    "adAuthorization": {
      "description": "Ad authorization flag reported by TikTok for some promoted posts",
      "title": "Ad Authorization",
      "type": "boolean"
    },
    "aigcLabelType": {
      "description": "TikTok's AI-generated-content label type when present",
      "title": "AIGC Label Type",
      "type": "integer"
    },
    "author": {
      "description": "Post author/creator information",
      "properties": {
        "avatarUrl": {
          "type": "string"
        },
        "bio": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "followerCount": {
          "type": "integer"
        },
        "followingCount": {
          "type": "integer"
        },
        "heartCount": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "privateAccount": {
          "type": "boolean"
        },
        "roomId": {
          "type": "string"
        },
        "secUid": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "verified": {
          "type": "boolean"
        },
        "videoCount": {
          "type": "integer"
        }
      },
      "title": "Author",
      "type": "object"
    },
    "caption": {
      "description": "Post caption text including hashtags and mentions",
      "title": "Caption",
      "type": "string"
    },
    "categoryType": {
      "description": "TikTok's numeric content category for the post",
      "title": "Category Type",
      "type": "integer"
    },
    "collectCount": {
      "description": "Number of bookmarks/collects (from statsV2)",
      "title": "Collect Count",
      "type": "integer"
    },
    "collectedAt": {
      "description": "ISO 8601 UTC datetime when the snapshot was collected",
      "title": "Collected At",
      "type": "string"
    },
    "commentCount": {
      "description": "Number of comments (from statsV2)",
      "title": "Comment Count",
      "type": "integer"
    },
    "createTime": {
      "description": "Unix timestamp when the post was created",
      "title": "Create Time (Unix)",
      "type": "integer"
    },
    "createdAt": {
      "description": "ISO 8601 UTC datetime when the post was created",
      "title": "Created At",
      "type": "string"
    },
    "diversificationId": {
      "description": "Feed diversification identifier when the source provides it",
      "title": "Diversification ID",
      "type": [
        "integer",
        "string"
      ]
    },
    "diversificationLabels": {
      "description": "Content diversification labels from the SSR payload",
      "items": {
        "type": "string"
      },
      "title": "Diversification Labels",
      "type": "array"
    },
    "duetEnabled": {
      "description": "Whether duets are allowed",
      "title": "Duet Enabled",
      "type": "boolean"
    },
    "engagementRate": {
      "description": "Likes plus comments plus shares divided by plays, rounded to 4 decimals",
      "title": "Engagement Rate",
      "type": "number"
    },
    "feedType": {
      "description": "Always 'foryou' for this actor",
      "title": "Feed Type",
      "type": "string"
    },
    "hashtags": {
      "description": "Hashtags used in the post",
      "items": {
        "properties": {
          "id": {
            "type": "string"
          },
          "isCommerce": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "title": "Hashtags",
      "type": "array"
    },
    "images": {
      "description": "Slideshow images for photo posts (postType='slideshow')",
      "title": "Images",
      "type": "array"
    },
    "isAd": {
      "description": "Whether this post is a paid advertisement",
      "title": "Is Ad",
      "type": "boolean"
    },
    "isAigc": {
      "description": "Present and true when TikTok labels the content as AI-generated",
      "title": "Is AIGC",
      "type": "boolean"
    },
    "isPersonalized": {
      "description": "Always false — the feed is anonymous (no login required)",
      "title": "Is Personalized",
      "type": "boolean"
    },
    "itemControl": {
      "description": "Per-post interaction permissions reported by TikTok",
      "properties": {
        "canComment": {
          "type": "boolean"
        },
        "canCreatorRedirect": {
          "type": "boolean"
        },
        "canMusicRedirect": {
          "type": "boolean"
        },
        "canRepost": {
          "type": "boolean"
        },
        "canShare": {
          "type": "boolean"
        }
      },
      "title": "Item Control",
      "type": "object"
    },
    "likeCount": {
      "description": "Number of likes (from statsV2)",
      "title": "Like Count",
      "type": "integer"
    },
    "locationCreated": {
      "description": "Country code where the post was created, when the source provides it",
      "title": "Location Created",
      "type": "string"
    },
    "mediaUrlExpiresAt": {
      "description": "ISO 8601 UTC timestamp when the signed media URLs (playUrl, cover, etc.) expire",
      "title": "Media URL Expires At",
      "type": "string"
    },
    "mentions": {
      "description": "@mentions in the post caption",
      "items": {
        "properties": {
          "awemeId": {
            "type": "string"
          },
          "end": {
            "type": "integer"
          },
          "start": {
            "type": "integer"
          },
          "username": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "title": "Mentions",
      "type": "array"
    },
    "music": {
      "description": "Sound/music used in the post",
      "properties": {
        "album": {
          "type": "string"
        },
        "authorName": {
          "type": "string"
        },
        "coverUrl": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "original": {
          "type": "boolean"
        },
        "playUrl": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "title": "Music",
      "type": "object"
    },
    "observedRegion": {
      "description": "Requested market label (or AUTO when following the connection region)",
      "title": "Observed Region",
      "type": "string"
    },
    "playCount": {
      "description": "Number of video plays (from statsV2)",
      "title": "Play Count",
      "type": "integer"
    },
    "poi": {
      "description": "Place tagged on the post when present",
      "properties": {
        "address": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "cityCode": {
          "type": "string"
        },
        "countryCode": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "latitude": {
          "type": "number"
        },
        "longitude": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "province": {
          "type": "string"
        }
      },
      "title": "Point of Interest",
      "type": "object"
    },
    "postId": {
      "description": "TikTok's unique post ID (64-bit int as string)",
      "title": "Post ID",
      "type": "string"
    },
    "postType": {
      "description": "Either 'video' or 'slideshow'",
      "title": "Post Type",
      "type": "string"
    },
    "postUrl": {
      "description": "Direct URL to the TikTok post",
      "title": "Post URL",
      "type": "string"
    },
    "rank": {
      "description": "1-based position in this snapshot after filters",
      "title": "Rank",
      "type": "integer"
    },
    "repostCount": {
      "description": "Number of reposts (from statsV2)",
      "title": "Repost Count",
      "type": "integer"
    },
    "shareCount": {
      "description": "Number of shares (from statsV2)",
      "title": "Share Count",
      "type": "integer"
    },
    "shareEnabled": {
      "description": "Whether sharing is enabled",
      "title": "Share Enabled",
      "type": "boolean"
    },
    "stitchEnabled": {
      "description": "Whether stitching is allowed",
      "title": "Stitch Enabled",
      "type": "boolean"
    },
    "textLanguage": {
      "description": "Language code of the caption text",
      "title": "Text Language",
      "type": "string"
    },
    "textTranslatable": {
      "description": "Whether TikTok offers a translation for the caption",
      "title": "Text Translatable",
      "type": "boolean"
    },
    "video": {
      "description": "Video technical metadata and media URLs",
      "properties": {
        "codecType": {
          "type": "string"
        },
        "cover": {
          "type": "string"
        },
        "definition": {
          "type": "string"
        },
        "duration": {
          "type": "integer"
        },
        "dynamicCover": {
          "type": "string"
        },
        "format": {
          "type": "string"
        },
        "height": {
          "type": "integer"
        },
        "originCover": {
          "type": "string"
        },
        "playUrl": {
          "type": "string"
        },
        "quality": {
          "type": "string"
        },
        "ratio": {
          "type": "string"
        },
        "size": {
          "type": "integer"
        },
        "subtitles": {
          "items": {
            "properties": {
              "expiresAt": {
                "type": "string"
              },
              "format": {
                "type": "string"
              },
              "languageCode": {
                "type": "string"
              },
              "languageName": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "width": {
          "type": "integer"
        }
      },
      "title": "Video",
      "type": "object"
    }
  },
  "title": "TikTok For You Feed Posts",
  "views": {
    "overview": {
      "description": "TikTok For You page posts with engagement metrics and snapshot position.",
      "display": {
        "component": "table",
        "properties": {
          "caption": {
            "format": "text",
            "label": "Caption"
          },
          "commentCount": {
            "format": "number",
            "label": "Comments"
          },
          "createdAt": {
            "format": "text",
            "label": "Created At"
          },
          "engagementRate": {
            "format": "number",
            "label": "Engagement Rate"
          },
          "likeCount": {
            "format": "number",
            "label": "Likes"
          },
          "observedRegion": {
            "format": "text",
            "label": "Region"
          },
          "playCount": {
            "format": "number",
            "label": "Plays"
          },
          "postId": {
            "format": "text",
            "label": "Post ID"
          },
          "postUrl": {
            "format": "link",
            "label": "Post URL"
          },
          "rank": {
            "format": "number",
            "label": "Rank"
          }
        }
      },
      "title": "Feed Overview",
      "transformation": {
        "fields": [
          "rank",
          "postId",
          "postUrl",
          "caption",
          "observedRegion",
          "playCount",
          "likeCount",
          "commentCount",
          "engagementRate",
          "createdAt"
        ]
      }
    }
  }
}
