TikTok Comments Scraper - Replies, Likes & Commenters
Pricing
from $0.20 / 1,000 comment scrapeds
TikTok Comments Scraper - Replies, Likes & Commenters
Scrape TikTok comments and replies from video URLs, short links or profiles: text, likes, reply count, date, language, liked-by-creator and pinned flags, mentions, and the commenter's username and IDs. No login, no browser. Pay per comment; failed videos are free.
Pricing
from $0.20 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
Eimantas V
Maintained by CommunityActor stats
0
Bookmarked
30
Total users
5
Monthly active users
12 days ago
Last modified
Categories
Features
Share
TikTok Comments Scraper extracts comments and replies from TikTok videos: the comment text, likes, reply count, date, language, whether the creator liked or pinned it, mentions, hashtags, images, and the commenter's username, name and IDs. Paste video URLs, short links, video IDs or profiles, and get one row per comment. No login, no API key, no browser, from $0.20 per 1,000 comments.
{"text": "no but seriously, where the hell have you been, loca?!?","likeCount": 238445,"replyCount": 910,"createdAt": "2022-01-07T21:24:00.000Z","authorUsername": "lionsgate","authorVerified": true,"language": "en","videoUrl": "https://www.tiktok.com/@billieeilish/video/7050551461734042926","videoCommentCount": 196967}
Measured on Apify: 100 comments from one video in 2.6 seconds; 20,371 comments and replies from 8 videos in under 3 minutes.
What does TikTok Comments Scraper do?
It reads TikTok's public comment lists the way TikTok's own web player does, one page of 50 comments at a time, and turns every comment into a clean row. Turn on replies and each comment's thread follows it, with the parent's ID on every reply, so whole conversations can be rebuilt from one flat table.
- Every input you have. Video URLs (
/video/and/photo/posts),vm.tiktok.comandvt.tiktok.comshort links, bare video IDs, and profiles (@usernameor the profile URL) for comments on their latest videos. - Comments and replies. Up to the number you choose per video and per comment; replies carry
parentCommentId, and a reply to a reply also names the reply it answers. - Creator signals.
likedByCreator,pinnedandisByCreatorshow which comments the creator engaged with or wrote. - Commenter identity. Username, display name, numeric user ID, secUid, profile link, avatar and verified badge on every row.
- Only pay for results. Videos that are deleted or private, profiles that do not exist, duplicates and comments your date filter leaves out are never charged.
- Built for automation. Run it on a schedule, call it from the API, or connect it to Make, Zapier, n8n, Google Sheets or an AI agent through Apify's MCP server.
Why it is fast and cheap
There is no browser and no login. Each request is one small JSON call to TikTok's public comment endpoint that returns 50 comments, so 1,000 comments take about 20 requests and a few seconds. That is why the price can sit well below browser-based scrapers. If TikTok rate-limits the run's own address, the request is repeated from an Apify datacenter address at no extra cost to you.
What data can you extract from TikTok comments?
| Field | Example | What it is |
|---|---|---|
text | no but seriously, where the hell have you been | The comment as written, with emoji |
likeCount | 238445 | Likes on the comment |
replyCount | 910 | Replies under it (null on replies) |
createdAt | 2022-01-07T21:24:00.000Z | When it was posted, ISO 8601 UTC |
language | en | The language TikTok detected |
authorUsername / authorNickname | lionsgate / Lionsgate | The commenter's handle and display name |
authorId / authorSecUid | 106956873395757056 | The commenter's stable TikTok IDs |
authorProfileUrl / authorAvatarUrl | https://www.tiktok.com/@lionsgate | Profile link and picture |
authorVerified | true | TikTok's verified badge |
isReply / parentCommentId / replyToCommentId | true / 7050578069283963694 | Thread structure |
position | 41 | Rank in TikTok's order of the video's comments |
likedByCreator / pinned / isByCreator | true / false / false | What the creator did with it |
labels | ["Liked by creator"] | Badges TikTok shows on the comment |
mentions / mentionedUserIds / hashtags | ["@nasa"] | Mentions with user IDs, and hashtags |
imageUrls | ["https://p16-comment-sign..."] | Images posted in the comment |
videoId / videoUrl / videoAuthorUsername / videoCaption | 7050551461734042926 | The video the comment is on |
videoCommentCount | 196967 | All comments TikTok counts on the video |
input | https://www.tiktok.com/@billieeilish/video/7050551461734042926 | What you entered, so rows join back to your list |
How to scrape TikTok comments
- Click Try for free and paste video URLs, short links, video IDs or profiles into Videos or profiles, one per line.
- Set Comments per video, and Replies per comment if you want threads. Max comments in total is your cost cap.
- Click Start. A video's top 100 comments take about 2 seconds.
- Open the Output tab, or download the results as JSON, CSV, Excel or HTML.
How much does it cost to scrape TikTok comments?
You pay per comment or reply returned, and the price drops on higher Apify plans:
| Apify plan | Per 1,000 comments |
|---|---|
| Free | $0.40 |
| Starter | $0.30 |
| Scale | $0.25 |
| Business | $0.20 |
- The top 100 comments of 10 videos (1,000 comments) cost $0.30 on Starter.
- 20 popular videos with every comment TikTok shows (about 360 each) and up to 10 replies per comment came to about 23,000 rows in our tests: about $6.90 on Starter and $4.60 on Business.
- A run also costs $0.00005 to start. A video or profile that fails costs nothing more.
- The Free plan's $5 monthly credit covers about 12,500 comments.
Input
{"targets": ["https://www.tiktok.com/@billieeilish/video/7050551461734042926","https://vm.tiktok.com/ZMhvqjqjq/","@nasa"],"maxCommentsPerVideo": 100,"maxRepliesPerComment": 10,"videosPerProfile": 3,"maxItems": 5000}
| Field | Default | Notes |
|---|---|---|
| Videos or profiles | (example video) | Video URLs, short links, video IDs, @username or profile URLs, one per line |
| Start URLs | empty | The same, in the URL-list shape other Actors output |
| Max comments in total | 1,000 | Comments and replies across the run: your cost cap |
| Comments per video | 100 | Top-level comments per video, top comments first |
| Replies per comment | 0 | 0 = no replies |
| Only comments posted after | empty | A date (2026-01-31) or a period ("7 days"); older comments are skipped and not charged |
| Videos per profile | 3 | Latest videos per profile, newest first (at most ~12) |
| Profile videos posted after / before | empty | Date range for the videos picked from profiles |
| Proxy | off | Not needed; turn on Apify Proxy only if a run reports BLOCKED |
Output
Each comment or reply is one row. The Overview view shows the key columns; Threads shows the reply structure; Commenters lists who commented; every export includes all fields.
{"recordType": "comment","input": "https://www.tiktok.com/@billieeilish/video/7050551461734042926","commentId": "7050578069283963694","text": "no but seriously, where the hell have you been, loca?!?","likeCount": 238445,"replyCount": 910,"createdAt": "2022-01-07T21:24:00.000Z","authorUsername": "lionsgate","authorNickname": "Lionsgate","authorId": "106956873395757056","authorSecUid": "MS4wLjABAAAAw08PMPDgEvNH0P4Sncmei7N46SQY9ZqUP7kVxFJXoyWNcpC-peauxtjk0dfYQcfd","authorProfileUrl": "https://www.tiktok.com/@lionsgate","authorAvatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7311142789058674693~tplv-tiktokx-cropcenter:100:100.jpg","authorVerified": true,"isReply": false,"parentCommentId": null,"replyToCommentId": null,"position": 41,"language": "en","likedByCreator": false,"pinned": false,"isByCreator": false,"labels": [],"mentions": [],"mentionedUserIds": [],"hashtags": [],"imageUrls": [],"videoId": "7050551461734042926","videoUrl": "https://www.tiktok.com/@billieeilish/video/7050551461734042926","videoAuthorUsername": "billieeilish","videoCaption": "can’t be good at everything","videoCommentCount": 196967,"scrapedAt": "2026-10-29T06:30:56.593Z"}
A video or profile that cannot be read becomes a row with "recordType": "error" and an errorCode instead of failing the whole run:
errorCode | Meaning |
|---|---|
NOT_FOUND | The video was deleted, is private, has comments turned off, or the link is wrong; or the profile does not exist |
NO_VIDEOS | The profile has no public videos, or none in your date range |
BLOCKED / RATE_LIMITED | TikTok refused the request; run again later, or enable the proxy |
Error rows are never charged.
Tips and limits
- About 400 comments per video. TikTok shows logged-out visitors roughly the top 330-470 comments of a video, however many it has. The Actor returns all of those, and the log says how many videos had more. Replies are not affected: a popular comment's thread pages normally.
- Profiles give their latest ~12 videos. A profile's public video list is short; for older videos, paste their URLs.
- Comment order is TikTok's. Comments come top-first, the way TikTok ranks them, not by date. "Only comments posted after" still reads every page of a video, so use it to keep only fresh comments, not to save time.
- Need commenter bios, followers or emails? Feed this dataset's
authorUsernamecolumn into TikTok Creator & Profile Scraper. - Hit your spending limit? The run stops cleanly at your maximum cost per run and keeps everything it collected. Raise the limit in the run options to get more.
FAQ
Is it legal to scrape TikTok comments?
This Actor collects only data that TikTok shows publicly, without logging in. Comments and usernames are personal data, which laws such as the GDPR protect. Scrape personal data only for a legitimate purpose, and ask a lawyer if you are unsure. TikTok is a trademark of its owner; this Actor is not affiliated with or endorsed by TikTok.
Can I use it through the API or with Make, Zapier and n8n?
Yes. Every run can be started through the Apify API and returns the dataset as JSON, CSV or Excel. Schedules, webhooks and integrations for Make, Zapier, n8n and Google Sheets are on the Integrations tab.
Can AI agents use it?
Yes. Agents connected to Apify's MCP server can find and run this Actor as a tool, with the same per-comment pricing.
Why did I get fewer comments than I asked for?
The video has fewer comments than your limit, TikTok stopped showing comments (about 400 per video for logged-out visitors), TikTok hides some comments it filters, or the run reached your maximum cost per run. The log says which, and nothing collected before that is lost.
Can I monitor new comments on my videos?
Yes. Schedule a run with "Only comments posted after" set to "1 day" (or the gap between runs), and deduplicate on commentId.
Related scrapers
- TikTok Video Scraper: views, likes, shares and saves of the same videos.
- TikTok Creator & Profile Scraper: followers, bio, links and emails of the commenters or creators.
- YouTube Comments Scraper: the same for YouTube, with every reply.
Support
Missing a field, or found a video that does not work? Open an issue on the Issues tab with the input you used, and it will be looked at quickly.