TikTok Comments Scraper
Pricing
from $0.80 / 1,000 result items
TikTok Comments Scraper
TikTok comments scraper for public videos: comment text, likes, reply count, language, time, pinned and creator-liked flags. No login. Monitor mode returns only new comments. No commenter names, handles, avatars or ids are collected.
Pricing
from $0.80 / 1,000 result items
Rating
0.0
(0)
Developer
Viktor Dubnytskiy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
TikTok Comments Scraper reads the comments under public TikTok videos and returns one row per comment with its text, like count, reply count, language, posting time and whether the creator pinned or liked it. You do not need a TikTok account, cookies or an API key, and nothing about the people who wrote the comments is collected.
Try it: the prefilled example returns 20 rows in about 10 seconds and costs about $0.02. Results cost $1.00 per 1,000.
What you get
Real rows from the example dataset:
| text | likeCount | replyCount | language | createdAt | isPinned |
|---|---|---|---|---|---|
| "go my love" | 97 | 0 | en | 2026-10-30 | false |
| "wish i cud run like that again damaged knees" | 31 | 0 | en | 2026-10-30 | false |
| "Che potenza!" | 8 | 0 | it | 2026-10-30 | false |
Full row: id, commentId, url, videoId, videoUrl, text, mentionCount, createdAt, likeCount, replyCount, language, isPinned, isAuthorLiked, query, scrapedAt.
No commenter data, ever. TikTok sends a profile object with every comment (name, handle, avatar, user id). The actor drops that object entirely before a row is built, so there is no commenter name, handle, avatar or id anywhere in the output. Profiles tagged inside a comment are masked too: every @name in the text becomes @user. Only the comment itself and its counters are kept.
Related actors
- YouTube Comments Scraper returns the same text and counters for YouTube videos.
- Reddit Scraper reads posts and comment threads without author names.
- Facebook Reels Scraper gives view and reaction counts of Facebook reels.
Use cases
- Read what people say under your own videos or a competitor's, as a spreadsheet.
- Feed comment text into sentiment analysis, topic clustering or a moderation queue.
- Get an alert with every new comment under a campaign video (monitor mode).
Monitor mode
Save the input as a task, set Mode to monitor and put it on a schedule (for example every hour). Each run returns only comments whose id was not seen before. Like-count changes on old comments do not count as new. TikTok returns comments in its own ranking, not by date, so give maxCommentsPerVideo enough room for the comment section to be read to the end on busy videos.
Input
| Field | Meaning | Default |
|---|---|---|
videoUrls | TikTok video links (https://www.tiktok.com/@handle/video/<id>) or bare numeric video ids | two example videos |
maxCommentsPerVideo | Stop reading one video after this many comments | 100 |
maxItems | Stop the whole run after this many comment rows | 20 |
mode | scrape or monitor (only new comments) | scrape |
monitorStateId, webhookUrl, telegramBotToken, telegramChatId | Monitor state key and alert targets | empty |
Pricing
| Event | Price |
|---|---|
| result | $0.001 per comment ($1.00 per 1,000) |
| monitor-check | $0.005 per monitor run |
| change | $0.001 per new comment in monitor mode |
Apify Store discounts: SILVER -10%, GOLD and higher -20% on every event.
You pay only for comment rows that are pushed. A removed video, or a video with comments turned off, produces no rows and no charge. Proxy traffic is billed by Apify on top when TikTok blocks the free tier and the actor moves to a datacenter or residential proxy.
Found it useful? A short review on the Store page helps other people find this actor and tells us what to improve. If something is wrong, open an issue on the actor page.
How it works
- Each link is opened once as a logged-out video page to check that the video exists and to get its address.
- The comments come from the same comment list TikTok's web player loads, about 20 per request. The actor follows TikTok's cursor until your limit, the end of the list, or a page with no new comments.
- If TikTok answers with a block or an empty reply, the request is retried and then repeated through a datacenter and then a residential proxy. When every video of a run is blocked on every proxy, the run stops with a "blocked" reason instead of returning an empty dataset.
Limits
- Top-level comments only. Replies are counted in
replyCountbut their text is not read. - TikTok's order. Comments come in the order TikTok ranks them, not newest first, and TikTok can leave out comments it filters.
- Fewer rows than the comment count on the video. TikTok's count includes replies and comments it hides, so the list it serves is shorter: a video showing 94 comments served 54 top-level comments in our test.
- Links only. The actor reads the videos you list. It does not search TikTok, list a profile's videos or follow short
vm.tiktok.comlinks; open a short link once and paste the full address. - Mentions are masked. Every
@namein a comment is replaced with@user, andmentionCountsays how many there were. Tagged profiles belong to other people, so their handles are not returned.
FAQ
Do I need a TikTok account? No. Every request is made as a logged-out visitor.
Why is there no commenter name or avatar? By design. The actor collects comment content and counters only, never the identity of the people who wrote them.
What happens when comments are off for a video? No rows are pushed for that video and nothing is charged. The run continues with the other links.
Changelog
- 0.1: first release with comment text, likes, reply count, language, pinned and creator-liked flags, and a monitor mode for new comments.