TikTok Comments Scraper π¬
Pricing
from $10.00 / 1,000 results
TikTok Comments Scraper π¬
π¬ Export TikTok comments to JSON, CSV or Excel. Get comment text, author handle, likes, reply count and date from any video. Paginated, no login, no TikTok API access needed.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Scriptbase
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
TikTok Comments Scraper
Export TikTok comments to JSON, CSV or Excel. Give it a video URL, get back every comment with its author handle, likes, reply count and date β no login, no cookies, no TikTok for Developers application.
What it does
Reads the comment thread of one public TikTok video and writes one dataset row per comment. It pages until it reaches your maxItems limit or the comments run out.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | yes | β | TikTok video URL |
maxItems | integer | no | 100 | Stop after this many comments |
{ "url": "https://www.tiktok.com/@scout2015/video/6718335390845095173", "maxItems": 500 }
Short vm.tiktok.com links work too β they are resolved before the fetch.
Output
One row per comment.
{"id": "7089123456789012345","text": "the cat is the main character","author": { "name": "Jane", "id": "janedoe", "avatarUrl": "https://p16-sign.tiktokcdn.com/β¦", "verified": false },"likeCount": 3120,"replyCount": 18,"publishedAt": "2026-07-14T09:30:00.000Z","publishedAtConfidence": "exact"}
| Field | Type | Notes |
|---|---|---|
id | string | Platform comment id |
text | string | Comment body |
author.name | string | Display name |
author.id | string | @handle, used as the stable id |
author.avatarUrl | string | Profile image URL |
author.verified | boolean | Verified β absent when the source sends nothing |
likeCount | integer | Likes |
replyCount | integer | Replies to this comment |
publishedAt | string | ISO 8601 |
publishedAtConfidence | string | exact | parsed | unknown |
Why author.id is the handle
The two upstream sources identify commenters differently β one has a numeric user id, the other only the @handle. Because the router can switch source between pages of the same run, a numeric id would change meaning mid-dataset. The handle is used on every row so author.id means one thing throughout.
Dates you can trust
One upstream source returns comment dates as month-and-day with no year β "7-14". Parsed naively that resolves to the year 2001, and most scrapers will hand you that date labelled as exact. Here it is reported as publishedAtConfidence: "unknown" with no publishedAt, because a confidently wrong date is worse than a missing one.
What it does not do
- Replies are not expanded. Top-level comments only.
- Public videos only. Private accounts return
NOT_FOUND. - No comment search or sort. Comments come back in the source's order.
- One video per run.
Pricing
Charged per comment delivered. Failed runs charge nothing.
Errors
| Code | Meaning |
|---|---|
BAD_REQUEST | Input missing, malformed, or not a URL this actor serves |
NOT_FOUND | The target is private, removed, or does not exist |
UNSUPPORTED_OPERATION | The URL resolved to a platform this actor does not serve |
UPSTREAM_FAILED | Every upstream source failed β retry shortly |
RATE_LIMITED | Too many requests; back off and retry |
TIMEOUT | The source took longer than the actor's budget |
UNAUTHORIZED | The actor's API credentials are invalid β contact the author |
INSUFFICIENT_CREDITS | The account behind this actor is out of credits β contact the author |
INTERNAL_ERROR | Unexpected failure |
UNAUTHORIZED and INSUFFICIENT_CREDITS are on us, not you. If you see either, the actor is misconfigured on our side.
How it works
Two independent upstream sources serve this operation. If the first returns nothing usable, the second is tried automatically inside the same run β no double charge, no retry on your side.
An empty comment thread is a genuine answer, not a failure β a video with comments turned off completes with zero rows.
Comments are always fetched live, never cached.
FAQ
Do I need a TikTok account or cookies? No.
Does this need a TikTok for Developers app? No.
Do short vm.tiktok.com links work? Yes.
Why do some rows have no date? One source omits the year; rather than guess it, the date is reported as unknown.
Can I get replies? Not from this actor.