TikTok Comments and Replies Collector avatar

TikTok Comments and Replies Collector

Under maintenance

Pricing

from $1.00 / 1,000 results

Go to Apify Store
TikTok Comments and Replies Collector

TikTok Comments and Replies Collector

Under maintenance

Collect TikTok comments and replies from any public video in a structured format ready for production use. Built for social listening teams, creator analytics, campaign monitoring, and moderation workflows. Includes pagination, reply crawling, and output options. Free trial: 100 comments/month.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Tik Gpt Anoy

Tik Gpt Anoy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

TikTok Comments and Replies Scraper

Production-ready Apify Actor for extracting TikTok comments and replies from a video URL or video ID.

This Actor is designed for:

  • Social listening and sentiment workflows
  • Community moderation tools
  • Creator and campaign analytics
  • Data pipelines that need clean parsed output

Free Trial

  • Free trial: each user can get up to 100 output comments per month.

Features

  • Accepts TikTok video URL or video ID
  • Crawls top-level comments with pagination
  • Crawls replies for each comment
  • Parsed output designed for easy downstream use
  • Optional raw output for full fidelity
  • Safe logging mode to avoid leaking called request URLs

Input

You can provide either video_url or video_id.

Example input:

{
"video_url": "https://www.tiktok.com/@tiktok/video/7627468769413106962",
"limit_comments": 100,
"fetch_replies": true,
"limit_replies": 20,
"output_mode": "parsed",
"include_source_video_url": false,
"proxy": ""
}

Input fields:

  • video_url: TikTok video URL
  • video_id: Optional direct video ID
  • limit_comments: Max top-level comments to crawl (upper bound)
  • fetch_replies: Fetch reply comments
  • limit_replies: Max replies per top-level comment
  • output_mode: raw, parsed, or both
  • include_source_video_url: Include source URL in output (default false)
  • proxy: Optional outbound proxy URL

Limit behavior:

  • If limit_comments is higher than the number of comments available on the video, the actor fetches all available comments and then stops automatically.
  • The same rule applies to replies per comment when limit_replies is higher than available replies.

Output

Recommended for users: output_mode = parsed

Parsed output shape:

  • video_id
  • source_video_url (null by default unless explicitly enabled)
  • total_comments
  • total_replies
  • errors
  • timestamp
  • comments[]

Each parsed comment includes:

  • comment_id
  • text
  • comment_language
  • digg_count
  • reply_comment_total
  • replies_fetched_count
  • share_info
  • author
  • replies[]

Each parsed reply includes:

  • reply_id
  • parent_comment_id
  • text
  • comment_language
  • digg_count
  • share_info
  • author

Example parsed response (output_mode = parsed):

{
"video_id": "7627865949982428432",
"source_video_url": null,
"total_comments": 2,
"total_replies": 3,
"errors": [],
"timestamp": "2026-04-19T04:41:46.059893Z",
"comments": [
{
"comment_id": "7628233157611766549",
"video_id": "7627865949982428432",
"text": "Great live performance",
"comment_language": "en",
"language": "en",
"created_at_ts": 1776086451,
"created_at_iso": "2026-04-13T13:20:51Z",
"digg_count": 37,
"like_count": 37,
"reply_count": 1,
"reply_comment_total": 1,
"replies_fetched_count": 1,
"status": 1,
"share_info": {
"acl": {
"code": 0,
"extra": "{}"
},
"need_confirm": true,
"desc_tpl": "'s comment"
},
"labels": [],
"mentions": [],
"author": {
"user_id": "7115250451100992513",
"sec_uid": "MS4wLjABAAAA...",
"unique_id": "sample_user",
"nickname": "Sample User",
"signature": "",
"region": "VN",
"avatar_url": "https://p16-sign.tiktokcdn.com/...",
"avatar_uri": "tos-alisg-avt-0068/...",
"verification_type": 0,
"is_verified": false
},
"replies": [
{
"reply_id": "7628861253877220104",
"video_id": "7627865949982428432",
"parent_comment_id": "7628233157611766549",
"reply_to_reply_id": "0",
"reply_to_user_id": "",
"reply_to_username": "",
"text": "Agreed",
"comment_language": "en",
"language": "en",
"created_at_ts": 1776232694,
"created_at_iso": "2026-04-15T05:58:14Z",
"digg_count": 11,
"like_count": 11,
"status": 1,
"share_info": {
"acl": {
"code": 0,
"extra": "{}"
},
"desc_tpl": "'s comment",
"need_confirm": true
},
"labels": [],
"mentions": [],
"author": {
"user_id": "6697171352418288642",
"sec_uid": "MS4wLjABAAAA...",
"unique_id": "reply_user",
"nickname": "Reply User",
"signature": "",
"region": "VN",
"avatar_url": "https://p16-sign.tiktokcdn.com/...",
"avatar_uri": "tos-alisg-avt-0068/...",
"follower_count": 0,
"following_count": 0,
"aweme_count": 0,
"verification_type": 0,
"is_verified": false
}
}
]
}
]
}

Example response when output_mode = both:

{
"parsed": {
"video_id": "7627865949982428432",
"source_video_url": null,
"total_comments": 20,
"total_replies": 28,
"errors": [],
"timestamp": "2026-04-19T04:41:46.059893Z",
"comments": []
},
"raw": {
"video_id": "7627865949982428432",
"comments": [],
"total_comments_fetched": 20,
"total_replies_fetched": 28,
"errors": [],
"timestamp": "2026-04-19T04:41:46.059893Z"
}
}

Full sample output is available in data-sample.json.

Privacy and Security

  • Request URLs are not logged directly
  • Error text is sanitized to redact URLs
  • source_video_url is hidden by default in parsed output

Compliance

Use this Actor only where usage is lawful and compliant with applicable platform terms and local regulations.