DEV Community

tokinsight
tokinsight

Posted on • Edited on

How to Scrape TikTok Video Comment via TokInsight Free API

๐Ÿš€ Overview

TokInsight is a powerful TikTok API platform that provides comprehensive data insights and original data for TikTok content creators, marketers, and businesses. Our platform offers real-time access to TikTok's vast data ecosystem through a robust REST API. Including :

  • Profile, Device, Video, Music, Comment, Hashtag, Collection(Mix), Trending, Search, Live, Shop, Place, Effect, etc.
  • All apis are mobile versions

๐Ÿ“ž Contact

โœจ What you can get from the Comment APIs?

  • Video Comment List: Complete list of comments for a specific video
  • Comment Reply List: All replies to a specific comment thread
  • Comment Details: Full comment information including text content, timestamp, and user data
  • User Profile Information: Complete commenter profile data for each comment
  • Pagination Support: Navigate through large comment collections with cursor-based pagination
  • Engagement Statistics: Like count, reply count, and interaction metrics for each comment
  • Comment Threading: Hierarchical structure of comments and their replies
  • User Verification Status: Verified user badges and account type information

๐Ÿ”— API Endpoints

1. Video Comment List

GET /tok/v1/comment_list/
Enter fullscreen mode Exit fullscreen mode

๐Ÿ“‹ Parameters

Parameter Type Required Description
aweme_id string โœ… The Video ID
cursor string โŒ Pagination cursor for next page (default: 0)
count integer โŒ Number of videos to return (default: 5, max: 10)

๐Ÿ’ก How to get aweme_id?

  • From User Post Video Response:
  • From User Favorite Video Response:
  • From Search Video Response:
  • From Music Video Response:
  • From Hashtag Video Response:
  • From Place Video Response:
  • From Effect Video Response:
  • etc...

2. Video Comment Reply List

GET /tok/v1/comment_reply_list/
Enter fullscreen mode Exit fullscreen mode

๐Ÿ“‹ Parameters

Parameter Type Required Description
aweme_id string โœ… The Video ID
comment_id string โœ… The Comment ID
cursor string โŒ Pagination cursor for next page (default: 0)
count integer โŒ Number of videos to return (default: 5, max: 10)

๐Ÿ’ก How to get comment_id?

  • From Video Comment List API Response:

๐Ÿš€ Quick Start

๐Ÿ“Š One Click

video_comment_02

video_comment_02

๐Ÿ“Š Response Structure

/tok/v1/comment_list/ resp:


{
  "status_code": 0,
  "comments": [
    {
      "cid": "7486470457865896722",
      "text": "child or adult, Pikachu crying always makes me sad",
      "aweme_id": "7486041389000772871",
      "create_time": 1743079752,
      "digg_count": 27179,
      "status": 1,
      "user": {
        "uid": "6760854585344541701",
        "short_id": "0",
        "nickname": "gogogajic",
        "signature": "here for shenanigans",
        "avatar_thumb": {
          "uri": "tos-maliva-avt-0068/7326930374264225797",
          "url_list": [
            "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/7326930374264225797~tplv-tiktokx-cropcenter-q:100:100:q70.heic?dr=10794&idc=maliva&ps=87d6e48a&refresh_token=73b7d325&s=COMMENT_LIST&sc=avatar&shcp=ff37627b&shp=30310797&t=223449c4&x-expires=1753459200&x-signature=H4pKF3JbNCEgtNWlcxOVws9aV9Y%3D"
          ],
          "width": 720,
          "height": 720,
          "url_prefix": null
        },
        "follow_status": 0,
        "aweme_count": 0,
        "following_count": 0,
        "follower_count": 0,
        "favoriting_count": 0,
        "total_favorited": 0,
        "is_block": false,
        "hide_search": false,
        "custom_verify": "",
        "unique_id": "gogogajic5",
        "bind_phone": "",
        "special_lock": 1,
        "need_recommend": 0,
        "has_facebook_token": false,
        "has_twitter_token": false,
        "fb_expire_time": 0,
        "tw_expire_time": 0,
        "has_youtube_token": false,
        "youtube_expire_time": 0,
        "room_id": 0,
        "live_verify": 0,
        "authority_status": 0,
        "verify_info": "",
        "shield_follow_notice": 0,
        "shield_digg_notice": 0,
        "shield_comment_notice": 0,
        "with_commerce_entry": false,
        "verification_type": 0,
        "enterprise_verify_reason": "",
        "is_ad_fake": false,
        "followers_detail": null,
        "region": "CA",
        "account_region": "",
        "commerce_user_level": 0,
        "live_agreement": 0,
        "platform_sync_info": null,
        "with_shop_entry": false,
        "is_discipline_member": false,
        "secret": 0,
        "has_orders": false,
        "prevent_download": false,
        "show_image_bubble": false,
        "geofencing": null,
        "unique_id_modify_time": 1753375546,
        "video_icon": {
          "uri": "",
          "url_list": [],
          "width": 720,
          "height": 720,
          "url_prefix": null
        },
        "ins_id": "",
        "google_account": "",
        "youtube_channel_id": "",
        "youtube_channel_title": "",
        "apple_account": 0,
        "is_phone_binded": false,
        "accept_private_policy": false,
        "twitter_id": "",
        "twitter_name": "",
        "user_canceled": false,
        "has_email": false,
        "status": 1,
        "create_time": 0,
        "avatar_uri": "tos-maliva-avt-0068/7326930374264225797",
        "follower_status": 0,
        "comment_setting": 0,
        "duet_setting": 0,
        "user_rate": 1,
        "download_setting": 0,
        "download_prompt_ts": 0,
        "react_setting": 0,
        "live_commerce": false,
        "cover_url": [],
        "language": "en",
        "has_insights": false,
        "item_list": null,
        "user_mode": 1,
        "user_period": 0,
        "is_star": false,
        "cv_level": "",
        "type_label": null,
        "ad_cover_url": null,
        "comment_filter_status": 0,
        "relative_users": null,
        "cha_list": null,
        "sec_uid": "MS4wLjABAAAAHaOGQ-PETzxeF87gwLyL7XR5EQPT9en3DJIhXodFUgffrmk74KUE4Af8pRWCpCy5",
        "need_points": null,
        "homepage_bottom_toast": null,
        "can_set_geofencing": null,
        "white_cover_url": null,
        "user_tags": null,
        "stitch_setting": 0,
        "bold_fields": null,
        "search_highlight": null,
        "mutual_relation_avatars": null,
        "events": null,
        "predicted_age_group": "4",
        "advance_feature_item_order": null,
        "mention_status": 1,
        "special_account": {
          "special_account_list": null
        },
        "advanced_feature_info": null,
        "user_profile_guide": null,
        "shield_edit_field_info": null,
        "friends_status": 0,
        "can_message_follow_status_list": null,
        "matched_friend_available": false,
        "account_labels": null,
        "fake_data_info": {},
        "is_mute": 0,
        "reply_with_video_flag": 4,
        "user_spark_info": {},
        "is_mute_non_story_post": 0,
        "is_mute_story": 0,
        "is_mute_lives": 0,
        "enabled_filter_all_comments": false
      },
      "reply_id": "0",
      "user_digged": 0,
      "reply_comment": null,
      "text_extra": [],
      "reply_comment_total": 16,
      "reply_to_reply_id": "0",
      "is_author_digged": true,
      "stick_position": 0,
      "user_buried": false,
      "label_list": [
        {
          "type": 20,
          "text": "์ž‘์„ฑ์ž๊ฐ€ ์ข‹์•„ํ•จ"
        }
      ],
      "author_pin": false,
      "no_show": false,
      "collect_stat": 0,
      "trans_btn_style": 1,
      "share_info": {
        "url": "",
        "acl": {
          "code": 1,
          "extra": "{\"is_share_handler_failed\":\"1\"}"
        },
        "desc": "",
        "title": ""
      },
      "comment_language": "en",
      "image_list": null,
      "comment_post_item_ids": null,
      "is_comment_translatable": true,
      "sort_extra_score": {
        "reply_score": 0.000013,
        "show_more_score": 0.005921
      },
      "sort_tags": "{\"author_digg\":1,\"top_list\":1}",
      "is_high_purchase_intent": false
    },
    ...
  ],
  "cursor": 5,
  "has_more": 1,
  "reply_style": 2,
  "total": 11020,
  "extra": {
    "now": 1753375546000,
    "fatal_item_ids": null,
    "api_debug_info": null
  },
  "log_pb": {
    "impr_id": "2025072500454697DFF55CF9318D2F80A9"
  },
  "top_gifts": null,
  "has_filtered_comments": 0,
  "alias_comment_deleted": false,
  "status_msg": ""
}
Enter fullscreen mode Exit fullscreen mode

/tok/v1/comment_reply_list/ resp:

{
  "comments": [
    {
      "aweme_id": "7486041389000772871",
      "cid": "7486159935748588310",
      "collect_stat": 0,
      "comment_language": "en",
      "comment_post_item_ids": null,
      "create_time": 1743007445,
      "digg_count": 1912,
      "image_list": null,
      "is_author_digged": false,
      "is_comment_translatable": true,
      "is_high_purchase_intent": false,
      "label_list": null,
      "no_show": false,
      "reply_comment": null,
      "reply_id": "7486133483083154194",
      "reply_to_reply_id": "0",
      "share_info": {
        "acl": {
          "code": 1,
          "extra": "{\"is_share_handler_failed\":\"1\"}"
        },
        "desc": "",
        "title": "",
        "url": ""
      },
      "status": 1,
      "stick_position": 0,
      "text": "iv always said ash's pikachu is the ultimate legendary as its defeat any in front no matter its stats or pokegods have feared ash's pikachu",
      "text_extra": [],
      "trans_btn_style": 1,
      "user": {
        "accept_private_policy": false,
        "account_labels": null,
        "account_region": "",
        "ad_cover_url": null,
        "advance_feature_item_order": null,
        "advanced_feature_info": null,
        "apple_account": 0,
        "authority_status": 0,
        "avatar_thumb": {
          "height": 720,
          "uri": "tos-useast2a-avt-0068-euttp/e00a249b57a2a8854a4204a0e5a825fd",
          "url_list": [
            "https://p16-common-sign-useastred.tiktokcdn-eu.com/tos-useast2a-avt-0068-euttp/e00a249b57a2a8854a4204a0e5a825fd~tplv-tiktokx-cropcenter-q:100:100:q70.heic?dr=10794&idc=maliva&ps=87d6e48a&refresh_token=ebe19dce&s=COMMENT_LIST&sc=avatar&shcp=ff37627b&shp=30310797&t=223449c4&x-expires=1753459200&x-signature=3gA%2Fl7IUrvTuAAbT2sxbdAOEiGw%3D",
            "https://p19-common-sign-useastred.tiktokcdn-eu.com/tos-useast2a-avt-0068-euttp/e00a249b57a2a8854a4204a0e5a825fd~tplv-tiktokx-cropcenter-q:100:100:q70.heic?dr=10794&idc=maliva&ps=87d6e48a&refresh_token=80213b7e&s=COMMENT_LIST&sc=avatar&shcp=ff37627b&shp=30310797&t=223449c4&x-expires=1753459200&x-signature=e79SZ5XKVVowm2fa4mWi%2BFWOPZQ%3D"
          ],
          "url_prefix": null,
          "width": 720
        },
        "avatar_uri": "tos-useast2a-avt-0068-euttp/e00a249b57a2a8854a4204a0e5a825fd",
        "aweme_count": 0,
        "bind_phone": "",
        "bold_fields": null,
        "can_message_follow_status_list": null,
        "can_set_geofencing": null,
        "cha_list": null,
        "comment_filter_status": 0,
        "comment_setting": 0,
        "commerce_user_level": 0,
        "cover_url": [],
        "create_time": 0,
        "custom_verify": "",
        "cv_level": "",
        "download_prompt_ts": 0,
        "download_setting": 0,
        "duet_setting": 0,
        "enabled_filter_all_comments": false,
        "enterprise_verify_reason": "",
        "events": null,
        "fake_data_info": {},
        "favoriting_count": 0,
        "fb_expire_time": 0,
        "follow_status": 0,
        "follower_count": 0,
        "follower_status": 0,
        "followers_detail": null,
        "following_count": 0,
        "friends_status": 0,
        "geofencing": null,
        "google_account": "",
        "has_email": false,
        "has_facebook_token": false,
        "has_insights": false,
        "has_orders": false,
        "has_twitter_token": false,
        "has_youtube_token": false,
        "hide_search": false,
        "homepage_bottom_toast": null,
        "ins_id": "",
        "is_ad_fake": false,
        "is_block": false,
        "is_discipline_member": false,
        "is_mute": 0,
        "is_mute_lives": 0,
        "is_mute_non_story_post": 0,
        "is_mute_story": 0,
        "is_phone_binded": false,
        "is_star": false,
        "item_list": null,
        "language": "en",
        "live_agreement": 0,
        "live_commerce": false,
        "live_verify": 0,
        "matched_friend_available": false,
        "mention_status": 1,
        "mutual_relation_avatars": null,
        "need_points": null,
        "need_recommend": 0,
        "nickname": "DMMGAMER",
        "platform_sync_info": null,
        "predicted_age_group": "",
        "prevent_download": false,
        "react_setting": 0,
        "region": "GB",
        "relative_users": null,
        "reply_with_video_flag": 4,
        "room_id": 0,
        "search_highlight": null,
        "sec_uid": "MS4wLjABAAAAYF_Ny3xW14lUTLg81TdQuZDluWGTu-7JihNuhv5pvo2pBkPU1xM3xdZEgJJlIZlG",
        "secret": 0,
        "shield_comment_notice": 0,
        "shield_digg_notice": 0,
        "shield_edit_field_info": null,
        "shield_follow_notice": 0,
        "short_id": "0",
        "show_image_bubble": false,
        "signature": "",
        "special_account": {
          "special_account_list": null
        },
        "special_lock": 1,
        "status": 1,
        "stitch_setting": 0,
        "total_favorited": 0,
        "tw_expire_time": 0,
        "twitter_id": "",
        "twitter_name": "",
        "type_label": null,
        "uid": "6595338201690750981",
        "unique_id": "dmmgamer89",
        "unique_id_modify_time": 1753375603,
        "user_canceled": false,
        "user_mode": 1,
        "user_period": 0,
        "user_profile_guide": null,
        "user_rate": 1,
        "user_spark_info": {},
        "user_tags": null,
        "verification_type": 0,
        "verify_info": "",
        "video_icon": {
          "height": 720,
          "uri": "",
          "url_list": [],
          "url_prefix": null,
          "width": 720
        },
        "white_cover_url": null,
        "with_commerce_entry": false,
        "with_shop_entry": false,
        "youtube_channel_id": "",
        "youtube_channel_title": "",
        "youtube_expire_time": 0
      },
      "user_buried": false,
      "user_digged": 0
    },
    ...
  ],
  "cursor": 5,
  "extra": {
    "fatal_item_ids": [],
    "logid": "2025072500464311C7E2D81CF90C305373",
    "now": 1753375603000
  },
  "has_more": 1,
  "log_pb": {
    "impr_id": "2025072500464311C7E2D81CF90C305373"
  },
  "status_code": 0,
  "status_msg": "",
  "total": 33
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)