TikTok Comments Scraper
Pricing
from $0.80 / 1,000 comment results
TikTok Comments Scraper
Scrape comments and replies from TikTok video URLs: text, author, likes, reply count, pinned and liked-by-creator flags, and date. For sentiment and audience research. No login.
Pricing
from $0.80 / 1,000 comment results
Rating
0.0
(0)
Developer
Scrape Lads
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does TikTok Comments Scraper do?
TikTok Comments Scraper pulls the public comment section of any TikTok video into rows you can read, sort, and analyze. Scrape comments and replies from TikTok video URLs: text, author, likes, reply count, pinned and liked-by-creator flags, and date. For sentiment and audience research. No login. Give it your inputs, press Start, and the Output tab fills with one clean row per record, ready to download as JSON, CSV, or Excel.
It works entirely with public TikTok data and never asks for TikTok login credentials. Because it runs on Apify you also get a REST API, scheduled runs, webhooks, integrations with tools such as Google Sheets, Slack, Make, and Zapier, proxy rotation, and a full log of every execution.
This Actor is deliberately narrow. Its input form asks only for the values this one job needs and its Output view shows only the columns this job produces, so nobody has to pick a technical mode to get a useful result.
What data can you extract from TikTok comments?
| 💬 Comment text | 👤 Commenter username | ❤️ Likes |
|---|---|---|
| ↩️ Reply count | 🧵 Is a reply | 📌 Pinned |
| 💖 Liked by the creator | 📅 Posted at | 🎬 Video URL |
Why use TikTok Comments Scraper?
Hear customers in their own words
Comment sections are unfiltered voice-of-customer data. Export them and the objections, questions, and phrases people actually use become searchable text.
Find the questions worth answering
Sort by like count to surface the comments an audience upvoted, which is a ready-made list of content ideas and FAQ entries.
Measure reaction to a campaign
Run the Actor across a campaign hashtag set and feed the text into your own sentiment or topic model. Timestamps let you track how reaction shifts after launch.
Spot the creator signal
The likedByAuthor and pinned flags reveal which comments the creator endorsed, which is often where a community conversation is really happening.
How to use TikTok Comments Scraper
- Click Try for free or open the Actor in Apify Console.
- On the Input tab, fill in TikTok video URLs.
- Set a result limit. A small number is the right choice for a first run.
- Press Start and watch the log.
- Open the Output tab to browse the results, or use Export for JSON, CSV, or Excel.
- Happy with the setup? Press Save as task so you can repeat or schedule it in one click.
Ready-made tasks
These input presets ship with the Actor and are ready to run or schedule as they are.
| Task | Saved as |
|---|---|
| Collect voice-of-customer comments | voice-of-customer |
| Read one video in depth | single-video-deep-read |
| Export giveaway entries from comments | giveaway-comment-export |
| Mine product feedback from comments | product-feedback-mining |
Input
| Field | Label | Type | Required | Default | Notes |
|---|---|---|---|---|---|
videoUrls | TikTok video URLs | array | Yes | Paste one or more full public TikTok video URLs. | |
maxResults | Maximum results | integer | No | 100 | Stop after this many output records. Start small on your first run. |
Example input:
{"videoUrls": ["https://www.tiktok.com/@tiktok/video/7106594312292453675","https://www.tiktok.com/@tiktok/video/7668726289376808222"],"maxResults": 400}
Limits apply to the complete run, not separately to each input, so a limit of 100 spread over four inputs returns roughly 25 records each.
Output
The Actor returns normalized comment and reply records. Every record below came from a real verification run.
{"resultType": "comment","sourceInput": "https://www.tiktok.com/@tiktok/video/7106594312292453675","commentId": "7112196704363414273","videoUrl": "https://www.tiktok.com/@tiktok/video/7106594312292453675","authorUsername": "t3ss51","text": "j thought it was 16 because of the emoji😳","likes": 190,"replyCount": 1,"isReply": false,"pinned": false,"likedByAuthor": false,"postedAt": "2022-06-22T22:36:33.000Z","scrapedAt": "2026-08-02T12:47:02.843Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel, pull it from the Apify API, or push it onward through an integration. Each run also stores a COST_ESTIMATE record and an INTELLIGENCE_RUN_SUMMARY record in its key-value store.
Output fields
| Field | Type | Meaning |
|---|---|---|
commentId | string | TikTok comment ID |
authorUsername | string | Commenter handle |
text | string | Comment body |
likes | number | Likes on the comment |
replyCount | number | Replies under the comment |
isReply | boolean | True when the row is a reply rather than a top-level comment |
pinned | boolean | Pinned by the creator |
likedByAuthor | boolean | Liked by the video creator |
postedAt | date | Comment time in UTC |
videoUrl | string | Video the comment belongs to |
sourceInput | string | URL you submitted |
scrapedAt | date | Collection time in UTC |
Missing values are returned as null or as an empty string rather than being dropped, so exported columns stay aligned across every row.
How much does it cost to scrape TikTok?
This Actor is priced pay per event, so you are charged for results rather than for runtime.
| Event | Price | When it is charged |
|---|---|---|
| Actor start | $0.005 | Charged once when a run begins. |
| Comment result | $0.001 | One public comment or reply. |
Apify Store plan discounts apply automatically, so larger plans pay less per record:
| Price per 1,000 | Free | Starter | Scale | Business |
|---|---|---|---|---|
| Comment result | $1.00 | $0.90 | $0.85 | $0.80 |
Apify platform usage (compute, proxies, and storage) is included in these prices, so the events above are the whole bill for this Actor.
This Actor collects the data itself and never starts another paid Actor on your account, so the prices above are the whole price: there is no separate provider bill, no provider budget to set, and no minimum spend.
Before collection starts the Actor writes a COST_ESTIMATE record with the maximum price of that specific run, so the ceiling is visible in the run storage before any significant work happens. The Apify free plan includes monthly platform credit that covers small runs, and the cheapest way to control spend is a modest result limit rather than a large run you abort.
Tips and advanced options
- The result limit is divided across the submitted URLs, so ten videos with a limit of 500 gives roughly fifty comments each.
- Comment sections skew to the earliest and most liked replies. Take that into account before reading the sample as representative.
- Export to CSV and pivot on
likesto get the top community reactions in seconds. - Comments are user-generated personal content. Keep only what you need and follow the privacy rules that apply to you.
- Start with one input and a small limit to confirm the shape of the output before scaling up.
- Filter on
sourceInputwhen a single run covers several handles, keywords, or URLs. - Treat private, removed, or region-blocked content as unavailable rather than as a zero metric.
Run it on a schedule
Save your input as a task, then open Schedules in Apify Console and pick how often it runs. Daily for the first week after a post goes live, when most comments arrive. Each run creates a new dataset, so you can compare runs or send only new rows onward.
To send results somewhere automatically, open the Integrations tab of the task: Google Sheets, Slack, Make, Zapier, n8n and webhooks are built in, and the Apify MCP server lets AI agents such as Claude or ChatGPT run it as a tool.
Related TikTok Actors
| Actor | What it does |
|---|---|
| TikTok Creator Comparison | Compare TikTok creators side by side from their usernames: engagement rate, median and average views, posting frequency, viral videos, top hashtags and sounds, and a ranked score. For influencer vetting and competitor benchmarks. |
| TikTok Keyword Video Search | Search TikTok by keyword or hashtag and get the matching videos: URL, caption, hashtags, creator, followers, views, likes, comments, shares, saves and post date. Filter by post date, views, likes and length. No login. |
| TikTok Profile Videos Scraper | Get the public videos of any TikTok profile from a username or profile URL: caption, hashtags, sound, views, likes, comments, shares, saves and post date. No login. |
| TikTok Profile Scraper & TikTok Influencer Email Finder | TikTok profile scraper and TikTok email finder for creator profiles and influencer contacts (not videos). Search by niche or paste handles: email, Instagram, YouTube, WhatsApp, followers, TikTok Shop status. Pay only for leads. |
| TikTok Video Metrics Scraper | Get views, likes, comments, shares, saves, caption, hashtags, sound and post time for any public TikTok video URL. Built for campaign and influencer reporting. No login. $1 per 1,000 videos. |
| TikTok Followers Scraper | Export the followers of any public TikTok account from a username or profile URL: username, name, bio, follower and video counts, and verified status. No login. |
| TikTok Scraper Pro | Hashtag, profile, keyword, comment and follower scraping in one Actor. |
| Video Transcript Scraper | Transcripts and subtitles from TikTok, Instagram, YouTube and X videos. |
| YouTube Shorts Scraper & Channel Email Finder | YouTube Shorts, channel videos and creator contact emails. |
| Instagram Scraper | Instagram posts, profiles, hashtags and comments. |
All of them share the same collection engine and the same field names, so their datasets join together cleanly.
FAQ
Does it include replies as well as top-level comments?
Yes. Top-level comments come first. When a video has fewer top-level comments than its share of the limit, replies fill the rest, biggest threads first. Replies are their own rows with isReply set to true, and replyCount is on the parent.
Can I scrape comments from several videos in one run?
Yes. Paste as many public video URLs as you need and the limit is shared across them.
Why did a video return fewer comments than the limit?
The video simply has fewer public comments, or some were removed. The Actor never invents rows to reach a limit.
Do I pay a third-party provider on top?
No. The Actor collects the comments itself and never starts another paid Actor on your account, so the per-result price is the whole price. There is no separate provider bill and no provider budget to set.
Does TikTok have an official API? Why use this instead?
TikTok offers its Research API to approved academic researchers and its Display API to apps that users log in to. Neither gives businesses open access to public videos, comments or creator stats, and approval can take weeks. This Actor reads the same public data any logged-out visitor sees, with no application and no TikTok account, and returns it as JSON, CSV or Excel or through the Apify API.
What are the alternatives to scraping TikTok?
You can copy data by hand, pay for a social listening tool, or apply for TikTok's Research API. Manual collection does not scale, listening tools charge monthly and limit exports, and the Research API is only for approved researchers. A pay-per-result Actor sits in between: you pay only for the rows you get and you keep the raw data.
Is scraping TikTok legal?
Collecting public data is generally legal in most jurisdictions, and this Actor only reads pages any logged-out visitor can see. You remain responsible for how you use what you collect: follow TikTok's terms, honour applicable privacy law such as GDPR and CCPA when records describe identifiable people, and do not republish personal data you have no basis to process.
Did this Actor save you time?
A rating on the Reviews tab takes ten seconds and is the main way other people find a small Actor like this one. If something stopped you from giving it five stars, tell us in Issues and we will fix it.
Something looks wrong. What now?
Public pages and upstream schemas change. If a field stops populating or a run fails, open the Issues tab on this Actor with the run ID and the input you used. Feature requests and custom export formats are welcome through the same channel.