TikTok Comment Scraper (pay-per-event) avatar

TikTok Comment Scraper (pay-per-event)

Pricing

from $0.25 / 1,000 each comments

Go to Apify Store
TikTok Comment Scraper (pay-per-event)

TikTok Comment Scraper (pay-per-event)

Scrape TikTok comments and replies instantly without the hassle of proxies. Experience the industry's most stable and high-speed TikTok data extraction tool.

Pricing

from $0.25 / 1,000 each comments

Rating

0.0

(0)

Developer

Novi

Novi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

TikTok Comment Scraper

A Super Fast TikTok Comment Scraper. Extract real-time, authentic data without relying on pre-built databases. Simply input a TikTok URL or Video ID, and instantly access comments, replies, and related metadata.

Automate your data collection effortlessly. Export your scraped data in various formats (JSON, CSV, Excel), monitor the scraping progress in real-time, and integrate seamlessly with other applications via Apify API for a streamlined workflow.

💡 Extremely Cost-Effective: Get roughly 200 results for only $0.0001. 🛡️ Built-in Proxies: No need to bring your own proxies; our intelligent proxy rotation is included out-of-the-box.


🚀 Note: During Free Trial Period

If you are a free Apify user, please note the following limitations:

  • ✅ Result limit: 10 comments per query.
  • ✅ URL limit: Maximum 1 URL per run.

To unlock full capabilities: Upgrade your Apify Plan


⚙️ Input Parameters

The input for this scraper should be a JSON object containing the configuration for the videos you want to scrape. The required and optional fields are:

FieldTypeDescription
urlsarray(Required) A list of TikTok URLs or Video IDs. Example: ["https://www.tiktok.com/@ladygaga/video/7211250685902359850", "7211250685902359850"]
locationstringA 2-character country code to specify the location for the scraper. Example: "US", "GB".
maxItemsintegerThe maximum number of comments to scrape per video. Default is 20.
shouldScrapeRepliesbooleanSet to true if you want to scrape replies to the comments. Default is false.
shouldScrapeAllbooleanSet to true to bypass maxItems and scrape all available comments on the video. Default is false.

📝 Input JSON Example

{
"urls": [
"[https://www.tiktok.com/@ladygaga/video/7482895727757102382](https://www.tiktok.com/@ladygaga/video/7482895727757102382)"
],
"location": "US",
"maxItems": 100,
"shouldScrapeReplies": true,
"shouldScrapeAll": false
}

Output JSON Example

[
{
"author_pin": false,
"aweme_id": "7211250685902359850",
"cid": "7217494551149101851",
"collect_stat": 0,
"comment_language": "en",
"create_time": 1680453949,
"digg_count": 23,
"is_author_digged": false,
"label_list": null,
"no_show": false,
"reply_comment": null,
"reply_comment_total": 5,
"reply_id": "0",
"reply_to_reply_id": "0",
"share_info": {
"acl": {
"code": 0,
"extra": "{}"
},
"desc": "🇵🇱 Kasia 🇮🇸's comment: Look it for @Marika Christman . She is doing the best outfits for you. Check it out.",
"title": "The rehearsal no one saw. Love you all, thanks for being so supportive of a song that means so much to me ❤️",
"url": "https://www.tiktok.com/@ladygaga/video/7211250685902359850?_d=e80jjb2j1hfl54&_r=1&comment_author_id=7046867863550247941&preview_pb=0&share_comment_id=7217494551149101851&share_item_id=7211250685902359850&sharer_language=en&source=h5_m&u_code=0"
},
"status": 1,
"stick_position": 0,
"text": "Look it for @Marika Christman . She is doing the best outfits for you. Check it out.",
"text_extra": [
{
"end": 29,
"hashtag_id": "",
"hashtag_name": "",
"sec_uid": "MS4wLjABAAAArXhs1fvcchkAbFNXpJZcD4BSJv7EmPFYcLpK2llb0Fq-K5BFkijKYQlDnHoKL1F6",
"start": 12,
"user_id": "7038949358691910662"
}
],
"trans_btn_style": 0,
"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_168x168": {
"height": 720,
"uri": "168x168/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~tplv-tiktok-shrink:64:64.webp?s=COMMENT_LIST&se=",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_168x168.webp",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_168x168.jpeg"
],
"width": 720
},
"avatar_300x300": {
"height": 720,
"uri": "300x300/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~tplv-tiktok-shrink:64:64.webp?s=COMMENT_LIST&se=",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_300x300.webp",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_300x300.jpeg"
],
"width": 720
},
"avatar_larger": {
"height": 720,
"uri": "1080x1080/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_1080x1080.webp",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_1080x1080.jpeg"
],
"width": 720
},
"avatar_medium": {
"height": 720,
"uri": "720x720/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~tplv-tiktok-shrink:64:64.webp?s=COMMENT_LIST&se=",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_720x720.webp",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_720x720.jpeg"
],
"width": 720
},
"avatar_thumb": {
"height": 720,
"uri": "100x100/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~tplv-tiktok-shrink:64:64.webp?s=COMMENT_LIST&se=",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_100x100.webp",
"https://p16-amd-va.tiktokcdn.com/img/tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7~c5_100x100.jpeg"
],
"width": 720
},
"avatar_uri": "tos-maliva-avt-0068/7818f08ae60f5417edede76314c0baa7",
"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": [
{
"height": 720,
"uri": "musically-maliva-obj/1612555907887110",
"url_list": [
"https://p16-amd-va.tiktokcdn.com/obj/musically-maliva-obj/1612555907887110"
],
"width": 720
}
],
"create_time": 0,
"custom_verify": "",
"cv_level": "",
"download_prompt_ts": 1641158568,
"download_setting": 0,
"duet_setting": 0,
"enterprise_verify_reason": "",
"events": null,
"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": "katarzyna.krupinska82",
"is_ad_fake": false,
"is_block": false,
"is_discipline_member": false,
"is_phone_binded": false,
"is_star": false,
"item_list": null,
"language": "pl",
"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": "🇵🇱 Kasia 🇮🇸",
"platform_sync_info": null,
"prevent_download": false,
"react_setting": 0,
"region": "IS",
"relative_users": null,
"room_id": 0,
"search_highlight": null,
"sec_uid": "MS4wLjABAAAAZl-oKhIJ9Odmr5H0Nw0rAxgPJgZ16uWIm5pZYxxiJiWcDpPmzOTOu4NbYkgzj9p7",
"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": "🇵🇱\n🇮🇸",
"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": "7046867863550247941",
"unique_id": "katie.kru",
"unique_id_modify_time": 1684047073,
"user_canceled": false,
"user_mode": 1,
"user_period": 0,
"user_profile_guide": null,
"user_rate": 1,
"user_tags": null,
"verification_type": 0,
"verify_info": "",
"video_icon": {
"height": 720,
"uri": "",
"url_list": [],
"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
}
]

⚡ Compute Unit Consumption

This actor is heavily optimized to run blazing fast and scrape as many comments as possible efficiently. By frontloading requests, if the actor doesn't face heavy rate-limiting, it can typically scrape 100 comments in just 30 seconds, consuming only about ~0.001 Compute Units (CU).


🏃 During the Run

While scraping, the actor will output informative logs detailing the current progress. Each log message specifies which URL is currently being processed. You will see real-time updates regarding the number of items loaded vs. the total target items for each page.

If incorrect inputs are provided, the actor will immediately halt, switch to a failed state, and output a clear explanation of the error to help you quickly debug the issue.


📦 Export and Data Management

During the run, the actor stores results directly into an Apify Dataset. Each comment is saved as a separate item.

You can download the dataset in multiple formats (JSON, CSV, XML, Excel) or access it programmatically via the Apify API using any language (Python, Node.js, PHP, etc.).

📄 Item Detail (Output Example)

The output dataset will contain objects similar to the structure below:

{
"videoUrl": "[https://www.tiktok.com/](https://www.tiktok.com/)@...",
"commentId": "72112...",
"text": "This is an amazing video!",
"author": {
"username": "tiktok_user",
"nickname": "TikTok User"
},
"likes": 1500,
"replyCount": 5,
"createdAt": "2023-03-12T10:00:00Z",
"isReply": false
}

🛠 Bugs, Fixes, Updates, and Changelog

This scraper is under active development.

  • Recent Update: Enhanced memory management – can now crawl thousands of items smoothly with only 128MB of memory allocated.
  • Feedback: If you find any bugs or have feature requests, please reach out or create an issue in the Apify platform.

🔍 Scrape any TikTok data you need with dedicated scrapers

If you need to extract other types of data from TikTok, check out our suite of specialized tools. Whether you need hashtags, search results, profiles, or shop data, we have a solution for you:

🎹 Fast TikTok API📹 TikTok Trend API🔍 TikTok Search API
🧛 TikTok User API🧛 TikTok User Info API#️⃣ TikTok Hashtag API
🛍️ TikTok Shop API👤 TikTok Followers API⚡ TikTok Scraper (pay-per-result)
💬 TikTok Comment API🎶 TikTok Music API🎶 TikTok Music Trend API
🐦 Twitter - X.com Scraper