TikTok Comments Scraper
Pricing
from $0.40 / 1,000 comment scrapeds
TikTok Comments Scraper
Every comment under a TikTok video with likes, reply count, date and the commenter profile. Replies optional. No login needed. Export CSV, Excel, JSON, XML.
Pricing
from $0.40 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

๐ฌ TikTok Comments Scraper
๐ Export every comment under a TikTok video in seconds. Paste the video links and each comment comes back as a flat row: the text, its likes, how many replies it drew, when it was posted, whether the creator liked it, and who wrote it and whether their account is verified. Replies come too, on request.
No account, no cookie, no session token. The Actor opens the same page a viewer opens and asks TikTok for the comments the way the site asks for them itself.
| ๐ฏ Target Audience | ๐ก Primary Use Cases |
|---|---|
| Brand and social teams | Read what an audience actually says under a campaign video |
| Creators and agencies | Pull the comment thread of a post for reporting or moderation |
| Researchers | Collect public discussion around a topic, with timestamps |
| Lead and outreach teams | Find engaged accounts, with follower counts, under relevant videos |
๐ What the TikTok Comments Scraper does
๐ก Why it matters: TikTok stopped answering comment requests made from outside its own pages. A plain HTTP call to the comment endpoint returns an empty body, and the mobile API refuses it outright. This Actor gets the full thread anyway, and at a fraction of a cent per hundred comments.
- ๐ฌ Top-level comments in bulk, eight pages at a time: a measured run collected 2,183 rows from two videos in 139 seconds.
- โฉ๏ธ Replies on request, each returned as its own row and marked with the comment it answers.
- ๐ค The commenter, not just a name: username, display name, user ID, profile link, verified flag and a link to their profile.
- ๐ Signals that matter: pinned comments and comments the video's creator liked are flagged.
- โ๏ธ Order as you need it: most liked, most replied, newest or oldest, with pinned comments kept on top.
- ๐๏ธ Video details on every row: caption, author, like count, comment count and upload date, so the export stands on its own.
- ๐ Any link shape works: a share link, a browser link, a photo post, or just the numeric video ID.
- ๐ธ Nothing is charged for a video that returns nothing. A private, removed or comments-off video costs you nothing.
- ๐ Clean data: one row per comment, the same 25 columns every time,
N/Ainstead of blank cells, anderrorreserved for failures.
๐ฌ Full Demo (๐ง Coming soon)
A short walkthrough video is in production.
๐ Output
| Field | Type | Description |
|---|---|---|
๐ผ imageUrl | string | The commenter's profile picture |
๐ commentId | string | TikTok's own comment ID |
๐ฌ text | string | The comment itself |
โค๏ธ likeCount | integer | Likes on the comment |
โฉ๏ธ replyCount | integer | Replies under the comment |
๐ createdAt | string | When it was posted, ISO timestamp |
โช๏ธ isReply | string | Yes when the row is a reply |
๐ parentCommentId | string | The comment this one answers |
๐ isPinned | string | Yes when the creator pinned it |
๐ likedByCreator | string | Yes when the video's author liked it |
๐ค authorUniqueId | string | The commenter's @username |
๐ท authorNickname | string | Their display name |
๐ authorId | string | Their numeric user ID |
๐ authorUrl | string | Link to their profile |
โ
authorVerified | string | Yes when the account is verified |
๐ authorSecUid | string | TikTok's stable secure user ID, for matching across runs |
๐ฌ videoId | string | The video's numeric ID |
๐ videoUrl | string | Link to the video |
๐ฅ videoAuthor | string | The video's creator |
๐ videoTitle | string | The video's caption |
โค๏ธ videoLikeCount | integer | Likes on the video |
๐ฌ videoCommentCount | integer | Comments TikTok reports on the video |
๐
videoCreatedAt | string | When the video was posted |
๐ scrapedAt | string | ISO timestamp of the run |
โ ๏ธ error | string | null on a normal row |
Example rows
{"imageUrl": "https://p16-sign-va.tiktokcdn.com/example-avatar.jpeg","commentId": "7259870000000000000","text": "This shot of the nebula is unreal","likeCount": 1840,"replyCount": 12,"createdAt": "2026-08-14T19:22:41.000Z","isReply": "No","parentCommentId": "N/A","isPinned": "No","likedByCreator": "Yes","authorUniqueId": "stargazer","authorNickname": "Stargazer","authorId": "6800000000000000000","authorUrl": "https://www.tiktok.com/@stargazer","authorVerified": "No","videoId": "7259860470834007342","videoUrl": "https://www.tiktok.com/@nasa/video/7259860470834007342","videoAuthor": "nasa","videoTitle": "A look at the Ring Nebula","videoLikeCount": 982000,"videoCommentCount": 5120,"videoCreatedAt": "2026-08-14T15:00:03.000Z","scrapedAt": "2026-09-18T02:14:55.221Z","error": null}
{"imageUrl": "https://p16-sign-va.tiktokcdn.com/example-avatar-2.jpeg","commentId": "7259880000000000000","text": "Agreed, the colours are wild","likeCount": 43,"replyCount": 0,"createdAt": "2026-08-14T20:05:12.000Z","isReply": "Yes","parentCommentId": "7259870000000000000","isPinned": "No","likedByCreator": "No","authorUniqueId": "nightsky","authorNickname": "Night Sky","authorId": "6800000000000000001","authorUrl": "https://www.tiktok.com/@nightsky","authorVerified": "No","videoId": "7259860470834007342","videoUrl": "https://www.tiktok.com/@nasa/video/7259860470834007342","videoAuthor": "nasa","videoTitle": "A look at the Ring Nebula","videoLikeCount": 982000,"videoCommentCount": 5120,"videoCreatedAt": "2026-08-14T15:00:03.000Z","scrapedAt": "2026-09-18T02:14:56.004Z","error": null}
{"imageUrl": "https://p16-sign-va.tiktokcdn.com/example-avatar-3.jpeg","commentId": "7259890000000000000","text": "Pinned: full resolution image is on our site","likeCount": 7600,"replyCount": 88,"createdAt": "2026-08-14T15:31:00.000Z","isReply": "No","parentCommentId": "N/A","isPinned": "Yes","likedByCreator": "Yes","authorUniqueId": "nasa","authorNickname": "NASA","authorId": "6800000000000000002","authorUrl": "https://www.tiktok.com/@nasa","authorVerified": "Yes","videoId": "7259860470834007342","videoUrl": "https://www.tiktok.com/@nasa/video/7259860470834007342","videoAuthor": "nasa","videoTitle": "A look at the Ring Nebula","videoLikeCount": 982000,"videoCommentCount": 5120,"videoCreatedAt": "2026-08-14T15:00:03.000Z","scrapedAt": "2026-09-18T02:14:56.740Z","error": null}
โจ Why choose this Actor
- ๐ No login and no cookie. You never hand over an account, and nothing in your run can get an account restricted.
- ๐ฅ Richer commenters. Display name, user ID, verification and a profile link on every row, not just a username.
- โฉ๏ธ Replies as first-class rows, so a thread exports flat into a spreadsheet.
- ๐ธ A video that returns nothing is not charged, and there is no start fee.
- ๐งพ Charged per row, not per batch, so what you are billed matches what you can count in the dataset.
๐ How it compares to alternatives
| This Actor | Typical alternative | |
|---|---|---|
| Login | Never | Some ask for a session cookie |
| Replies | Optional, as their own rows | Often missing or nested |
| Commenter detail | Display name, user ID, verified, profile link | Username only |
| Video context | On every row | Usually a separate run |
| Minimum charge | None | Up to $3.00 per query on some |
๐ How to use
- Create a free Apify account with $5 in credit, then open the TikTok Comments Scraper and paste your video links, one per line.
- Choose how many comments to take per video, and the maximum for the run.
- Turn on replies if you need whole threads.
- Run it, then download CSV, Excel, JSON or XML, or pull the dataset over the API.
Free-plan runs return up to 10 comments as a preview. Upgrade your Apify plan to collect up to 1,000,000 rows per run.
๐ผ Business use cases
- Measure sentiment under a campaign video, with the exact wording customers used.
- Moderate or archive the thread of your own posts.
- Find engaged accounts under a competitor's video and see how large their following is.
- Track how a comment section grows by running the same video on a schedule.
๐ Automating TikTok Comments Scraper
Schedule it from the Apify Console and it reruns on its own. Point a webhook at your warehouse and every finished run lands there. Comment IDs are stable, so repeated runs deduplicate cleanly.
๐ Beyond business use cases
- Keep the comments on a video you care about before it disappears.
- Collect the replies to a public announcement for a class or a paper.
- Settle an argument about what people actually said under a viral clip.
๐ค Ask an AI assistant about this scraper
Paste this into ChatGPT, Claude or any assistant with web access:
I want to export the comments of several TikTok videos. Look at https://apify.com/parseforge/tiktok-comments-scraper and tell me how to configure a run over 20 videos with replies included, what each of the 25 output fields means, and exactly when each event is charged.
โ Frequently Asked Questions
๐ What can I paste as a video link?
A share link, the link in your browser's address bar, a photo post link, or the bare numeric video ID. All of them resolve to the same video.
๐ Do I need a TikTok account or cookie?
No. Nothing is logged in at any point, so no account of yours is exposed.
โฉ๏ธ How do replies come back?
As their own rows, with isReply set to Yes and parentCommentId pointing at the comment they answer. Turn them off to keep the export to top-level comments only.
๐ฌ How many comments can I get from one video?
You can ask for up to 5,000 per video. How many actually come back is TikTok's decision: measured on a video with 2,702 comments, it served 1,557 before it stopped answering. The Actor pages eight requests at a time and keeps going through refusals, so it takes what the platform will give.
๐ธ When am I charged?
Per comment row delivered, per reply row when replies are on, and once per video for the video details when they come back. A video that returns no comments is never charged, and there is no start fee.
๐ซ Why did a video return nothing?
It is private, it was removed, or its owner turned comments off. The run logs which video it was and moves on without charging.
๐ฅ What do I get about the commenter?
Every row carries the commenter's profile link, display name and verification flag, so the account is one click away.
๐ Are the timestamps real?
Yes, they are TikTok's own creation times, converted to ISO format in UTC.
โ ๏ธ What do N/A values mean?
The field genuinely was not published. Blank cells are never used, so a spreadsheet column stays readable.
๐ What output formats are supported?
CSV, Excel, JSON, XML, JSONL and RSS, from the dataset or the API.
โฐ Can I run this on a schedule?
Yes. Schedule it in the Apify Console and compare runs by comment ID to see what is new.
๐ Integrate with any app
The dataset is available through the Apify API the moment the run finishes. Use the run-sync-get-dataset-items endpoint for one-shot calls, webhooks to trigger downstream jobs, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.
๐ Recommended Actors
- TikTok Profile Scraper
- TikTok Shop Scraper
- Instagram Comments Scraper
- YouTube Comments Scraper
- Google Maps Contacts Scraper
๐ก Pro Tip: browse the complete ParseForge collection.
๐ Need Help? Open our contact form with your run ID, your input and what you expected.
โ ๏ธ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance. It collects only publicly available data. You are responsible for using the collected data in compliance with applicable law, including GDPR and other privacy rules in your jurisdiction.