TikTok Comment Exporter (CSV/Excel/API)
Pricing
from $0.35 / 1,000 comment scrapeds
TikTok Comment Exporter (CSV/Excel/API)
Export TikTok comments to CSV, Excel, or JSON from any video URL. No comment cap, handles 100k+ comments, replies included. Use it as a TikTok comment scraper, downloader, or straight from the API.
Pricing
from $0.35 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
Thodor
Maintained by CommunityActor stats
2
Bookmarked
646
Total users
51
Monthly active users
0.9 hours
Issues response
3 days ago
Last modified
Categories
Share
TikTok Comment Exporter โ Video URL to CSV & Excel
A TikTok comment exporter tool: paste a TikTok video URL and load all comments into a spreadsheet as CSV, Excel, or JSON. Every comment and reply, with likes, timestamps, and usernames. No comment cap, no login, no TikTok account.
A 10,000-comment export takes around a minute.
๐ How to export TikTok comments to Excel or CSV
- Paste video URLs into TikTok Video URLs.
- Want the replies too? Toggle Include replies on.
- Click Start.
- Open the Output tab and export as CSV, Excel, or JSON.
๐ So what do you get?
| ๐ฌ Comment text | ๐งต Full reply threads | โค๏ธ Like counts |
|---|---|---|
| ๐ค Author & user ID | ๐ Timestamps | ๐ Reply counts |
| ๐ผ๏ธ Image comments | ๐ Pinned & creator-liked | ๐ Purchase-intent flag |
๐ฏ Three things people run this for
| How | |
|---|---|
| ๐ฌ Sentiment & audience research | Export a campaign video's comment section and feed the CSV straight into your sentiment tool. |
| ๐ฒ Giveaway picking | Pull every entry comment into Excel and pick winners from the complete list. |
| ๐ Academic datasets | Collect comments from a batch of videos in one run, thread structure included. |
๐ฅ Input
The simplest input that works:
{"videoUrls": ["https://www.tiktok.com/@ishowspeed/video/7621300668329905422"]}
videoUrls: the TikTok videos to export comments from. Full URLs, any number of them.maxCommentsPerVideo: default 500. Set 0 to export every comment on the video.includeReplies: default false. When on, replies count towardmaxCommentsPerVideo.
โก Everything from one viral video
{"videoUrls": ["https://www.tiktok.com/@ishowspeed/video/7621300668329905422"],"maxCommentsPerVideo": 0,"includeReplies": true}
๐ฆ A batch of videos, capped
{"videoUrls": ["https://www.tiktok.com/@brand/video/7622233769231142165","https://www.tiktok.com/@brand/video/7613032455011945748","https://www.tiktok.com/@brand/video/7615909607940588310"],"maxCommentsPerVideo": 1000}
๐ค Output
One flat row per comment or reply, duplicates dropped. Results stream in while the run is going.
{"video_url": "https://www.tiktok.com/@txmfitt/video/7613032455011945748","comment_id": "7616086972566078230","parent_comment_id": "","depth": 0,"comment": "how many did you do in an hour? I once did 500","likes": 62,"reply_count": 3,"created_at": "2026-03-11T19:47:22+00:00","author_username": "alanas698","liked_by_video_creator": true,"pinned": false// HIDDEN: reply_to_reply_id, comment_image_url, author_display_name, author_id, reply_to_username, purchase_intent, comment_language, share_url}
A reply row, same shape:
{"comment_id": "7617031854978024193","parent_comment_id": "7616086972566078230","depth": 1,"comment": "i did 1,017","author_username": "txmfitt"// HIDDEN: same fields as above}
โ ๏ธ Replies are rows, not nested objects. Filter
depth == 0for top-level comments, or group onparent_comment_idto rebuild threads.
Fields
| Field | Notes |
|---|---|
video_url | The video this comment belongs to |
comment_id | Unique comment ID |
parent_comment_id | Empty for top-level comments |
reply_to_reply_id | Which reply inside the thread was answered |
depth | 0 = top-level, 1 = reply |
comment | Comment text, empty for image-only comments |
comment_image_url | Image URL for image-only comments |
likes | Like count |
reply_count | Number of replies |
created_at | ISO 8601 timestamp, UTC |
author_username | Commenter's @username |
author_display_name | Commenter's display name |
author_id | TikTok numeric user ID |
reply_to_username | Username being replied to |
liked_by_video_creator | Creator liked this comment |
pinned | Creator pinned this comment |
purchase_intent | TikTok's flag for buying intent ("Where can I buy this?") |
comment_language | Language code, "un" = undetermined |
share_url | Direct share link |
โ๏ธ Use it as a TikTok comment API
Every run is an HTTP endpoint: POST the same JSON as the form and the comment rows come back in the response body.
Python
import requestsresp = requests.post("https://api.apify.com/v2/acts/thodor~tiktok-comments-scraper/run-sync-get-dataset-items",params={"token": "<YOUR_APIFY_TOKEN>"},json={"videoUrls": ["https://www.tiktok.com/@ishowspeed/video/7621300668329905422"]},)comments = resp.json()
Node.js
const axios = require("axios");const { data: comments } = await axios.post("https://api.apify.com/v2/acts/thodor~tiktok-comments-scraper/run-sync-get-dataset-items",{ videoUrls: ["https://www.tiktok.com/@ishowspeed/video/7621300668329905422"] },{ params: { token: process.env.APIFY_TOKEN } });
curl
curl -X POST "https://api.apify.com/v2/acts/thodor~tiktok-comments-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"videoUrls": ["https://www.tiktok.com/@ishowspeed/video/7621300668329905422"]}'
Big video? Swap run-sync-get-dataset-items for runs to go async with a webhook. n8n, Make, and Zapier take the same input.
๐ก Tip: no need to write the JSON by hand. Fill in the form on the Input tab, switch the editor from Form to JSON, and copy the result into your code.
๐ฐ How much does it cost to export TikTok comments?
You pay per comment or reply pushed to the dataset, at the rate on the price card on this page. Retries, blocks, and duplicates cost nothing.
maxCommentsPerVideo is the cost cap. The default of 500 keeps a first run cheap.
โ ๏ธ A viral video can be a big bill.
maxCommentsPerVideo: 0with replies on against a 600,000-comment video bills all 600,000 rows.
โ FAQ
Is there a free tool that can scrape TikTok comments? Yes. Registering on Apify comes with $5 of free platform credit every month, no credit card needed. That covers around 10,000 comments.
Do I need a browser extension to export TikTok comments? No. This runs in the cloud: nothing to install, no tab to keep open, works from any device.
Is there an official TikTok comments API? TikTok's Research API is limited to vetted academic researchers, and the commercial Display API does not return comments. This actor works with any Apify account.
Can I export comments from a whole profile by username? No. Input is video URLs only; the old username mode was removed.
In what order do rows arrive when replies are on? Page by page: top-level comments first, then their replies, then the next page. For all top-level comments first, run once with replies off.
Why did a video return 0 comments? Some videos have comments switched off or simply none. Blocks retry automatically, so 0 means there was nothing to get.
Can I track new comments on a video over time?
Yes. Put the actor on an Apify Schedule (daily or weekly) with the same URLs and compare runs on comment_id to see what is new.
Is it legal to scrape TikTok comments? The actor reads only publicly visible comments on public videos. Storing and using personal data is governed by rules like GDPR; check what applies to your project.
๐ Support
Something not working, or a field missing? Message me in the Issues tab and I'll look into it quickly. I'm a solo dev, so don't hesitate.
- Thodor