TikTok Comment Exporter & Scraper by Username
Pricing
from $0.35 / 1,000 comment scrapeds
TikTok Comment Exporter & Scraper by Username
Find and export TikTok comments by username. Auto-discovers all videos from a profile and loads every comment into a spreadsheet. CSV or JSON, replies included, no limit.
Pricing
from $0.35 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
Thodor
Actor stats
0
Bookmarked
13
Total users
6
Monthly active users
3 days ago
Last modified
Categories
Share
A TikTok comment finder tool that works by username. Find and export TikTok comments by username, auto-discover all videos from a profile, and load all comments into a spreadsheet. CSV or JSON, replies included, no limit.
- You input a profile (or direct video URLs).
- All videos are discovered automatically.
- Every comment and reply is extracted to your preferred format.
How to load all TikTok comments into a spreadsheet
To load all TikTok comments into a spreadsheet with this TikTok comment exporter: run this actor with a profile username, then download the dataset as CSV or Excel from the Storage tab of your run. You can get TikTok comments in the following formats:
- CSV or Excel: Perfect for loading directly into a spreadsheet for sorting, filtering, and analysis.
- JSON: Ideal for developers feeding the data into other apps or databases.
Find TikTok comments by username, not by video URL
Most TikTok comment scrapers only accept video URLs as input, meaning you need to manually find each video yourself. This TikTok comment scraper accepts a profile username and handles the rest. It is the easiest way to find TikTok comments by username, it discovers all videos from the profile and scrapes comments across all of them in one run.
| Feature | This actor | Typical alternatives |
|---|---|---|
| Input a profile username | Yes | No (video URLs only) |
| Auto-discover all videos | Yes | Manual |
| Comment limit | None | Often capped at 5,000 |
| Reply threads | Full depth | Varies |
| Image comments | Extracted | Often skipped |
Input
| Field | Type | Default | Description |
|---|---|---|---|
profileUrls | string[] | [] | TikTok profile URLs or usernames (e.g. @kingconnah or https://www.tiktok.com/@kingconnah) |
videoUrls | string[] | [] | Direct video URLs: combined with any videos discovered from profiles |
maxCommentsPerVideo | integer | 0 (all) | Maximum comments per video. 0 = no limit |
includeReplies | boolean | false | Fetch reply threads for each comment |
Scrape all comments from a profile
{"profileUrls": ["kingconnah"],"includeReplies": true}
Scrape specific videos
{"videoUrls": ["https://www.tiktok.com/@username/video/7622233769231142165"],"maxCommentsPerVideo": 1000,"includeReplies": true}
Profile + extra videos
{"profileUrls": ["kingconnah"],"videoUrls": ["https://www.tiktok.com/@other/video/7622233769231142165"]}
Output
Each comment is one flat row in the dataset. Replies are separate rows linked to their parent via parent_comment_id.
Output fields
| Field | Type | Description |
|---|---|---|
video_url | string | The video this comment belongs to |
comment_id | string | Unique comment ID |
parent_comment_id | string | Parent comment ID (empty for top-level) |
reply_to_reply_id | string | ID of the specific reply being responded to within a thread |
depth | integer | 0 = top-level, 1 = reply |
comment | string | Comment text (empty for image-only comments) |
comment_image_url | string | Image URL for image-only comments |
likes | integer | Like count |
reply_count | integer | Number of replies |
created_at | string | ISO 8601 timestamp (UTC) |
author_username | string | Commenter's @username |
author_display_name | string | Commenter's display name |
author_id | string | TikTok numeric user ID |
reply_to_username | string | Username being replied to |
liked_by_video_creator | boolean | Creator liked this comment |
pinned | boolean | Creator pinned this comment |
purchase_intent | boolean | TikTok's flag for buying intent (e.g. "Where can I buy this?") |
comment_language | string | Language code ("un" = undetermined) |
share_url | string | Direct share link |
Example output
Top-level comment:
{"video_url": "https://www.tiktok.com/@txmfitt/video/7613032455011945748","comment_id": "7616086972566078230","parent_comment_id": "","reply_to_reply_id": "","depth": 0,"comment": "how many did you do in an hour? I once did 500","comment_image_url": "","likes": 62,"reply_count": 3,"created_at": "2026-03-11T19:47:22+00:00","author_username": "alanas698","author_display_name": "2027","author_id": "6765931488842613766","reply_to_username": "","liked_by_video_creator": true,"pinned": false,"purchase_intent": false,"comment_language": "en","share_url": "https://m.tiktok.com/v/7613032455011945748.html?..."}
Reply:
{"video_url": "https://www.tiktok.com/@txmfitt/video/7613032455011945748","comment_id": "7617031854978024193","parent_comment_id": "7616086972566078230","reply_to_reply_id": "","depth": 1,"comment": "i did 1,017","comment_image_url": "","likes": 45,"reply_count": 0,"created_at": "2026-03-14T08:54:01+00:00","author_username": "txmfitt","author_display_name": "Toby","author_id": "7193948041925403654","reply_to_username": "","liked_by_video_creator": false,"pinned": false,"purchase_intent": false,"comment_language": "en","share_url": ""}
Image-only comment:
{"video_url": "https://www.tiktok.com/@txmfitt/video/7613032455011945748","comment_id": "7615909607940588310","parent_comment_id": "7614996613496390408","reply_to_reply_id": "","depth": 1,"comment": "","comment_image_url": "https://p16-comment-sign-no.tiktokcdn-eu.com/tos-no1a-i-jj85edgx6n-no/b5efb28ad8934663aa1831ef422142d7~tplv-jj85edgx6n-image-origin.image?...","likes": 4,"reply_count": 0,"created_at": "2026-03-11T08:19:24+00:00","author_username": "unicukornis","author_display_name": "Unicukornis","author_id": "6845319934780654598","reply_to_username": "","liked_by_video_creator": false,"pinned": false,"purchase_intent": false,"comment_language": "un","share_url": "https://m.tiktok.com/v/7613032455011945748.html?..."}
Understanding threading
For most use cases, parent_comment_id + depth is all you need:
- Top-level comments:
depth == 0 - Find replies: filter by
parent_comment_id - Full threads: group by
parent_comment_id, sort bycreated_at
The reply_to_reply_id field shows which specific reply within a thread someone responded to, which is useful for conversation analysis.
FAQ
How do I search and view TikTok comments from a profile? Run this actor with a username to view all TikTok comments from every video on the profile in one dataset. Once exported to CSV or Excel, you can search TikTok comments by author, keyword, date, or engagement using your spreadsheet's filter and search tools.
Can I export TikTok comments to CSV? Yes. After the actor finishes, open the Storage tab of your run and download the dataset as CSV. Excel (XLSX), JSON, JSONL, XML, and HTML are also available from the same page or via the Apify API.
Can I use this as a TikTok comment tracker? Yes. Because you can input a specific username, you can schedule this actor to run daily or weekly to monitor new comments and engagement on a specific profile. It functions as a reliable TikTok comment tracker.
How does the comment limit work with replies enabled?
When includeReplies is on, both comments and replies count toward maxCommentsPerVideo. The actor processes comments page by page. For each page, it first extracts the top-level comments, then fetches their replies before moving to the next page. This means the final output is a mix of comments and replies. If you need all top-level comments first, run once without replies, then run again with replies enabled.
What happens if a proxy gets blocked? The actor automatically retries with a fresh proxy. You will see a "rotating proxy" warning in the logs but scraping continues from where it left off. No data is lost.
Are there duplicate comments in the output? No. Every comment and reply is deduplicated by ID before being added to the dataset. You only pay for unique results.
Can I find TikTok comments by username free? Yes. When you sign up for Apify, you automatically get free monthly usage credits on their free tier. You can use these platform credits to run this actor and extract comments completely free of charge. No credit card is required to start.