Tiktok Comments Scraper
Pricing
$19.99/month + usage
Tiktok Comments Scraper
Scrape TikTok comments instantly with this powerful TikTok Comments Scraper 🚀 Extract user data, replies, timestamps, and engagement metrics at scale 📊 Perfect for sentiment analysis, competitor research, and social listening 🔍 Fast, reliable, and easy to use 💡
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeMesh
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
Tiktok Comments Scraper
Tiktok Comments Scraper is a fast, reliable TikTok comments scraper tool that lets you scrape TikTok video comments at scale and turn them into structured datasets. It solves the pain of manual comment collection by automating extraction of text, user info, timestamps, likes, and threaded replies from public TikTok videos and profiles. Built for marketers, developers, data analysts, and researchers, this TikTok comment extractor helps you download TikTok comments, build a TikTok comments dataset, and power TikTok comment analysis workflows at scale.
What data / output can you get?
Below are the exact JSON fields this TikTok comments crawler pushes to the Apify dataset (one item per comment). You can export results to JSON or CSV from the Apify Console.
| Data field | Description | Example value |
|---|---|---|
| videoWebUrl | Canonical video URL (follows vm/vt redirects) | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| submittedVideoUrl | Canonical video URL used for this comment (same as videoWebUrl) | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| input | The original input URL for the video | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| cid | Comment ID | 7578605549794034443 |
| createTime | Unix timestamp (seconds) | 1732995615 |
| createTimeISO | ISO timestamp (UTC) | 2025-11-30T19:40:15.000Z |
| text | Comment text | mr beast are you ok ? |
| diggCount | Comment likes | 7633 |
| likedByAuthor | Whether the author liked the comment | false |
| pinnedByAuthor | Whether the author pinned the comment | false |
| repliesToId | Parent comment ID (null for top-level) | null |
| replyCommentTotal | Total number of replies (reported by TikTok) | 100 |
| uid | Commenter’s user ID | 7516601022924489733 |
| uniqueId | Commenter’s username | amin.hrizi4 |
| avatarThumbnail | Commenter’s avatar URL (thumbnail) | https://p16-sign-va.tiktokcdn.com/... |
| mentions | Usernames mentioned in the comment text | ["someuser"] |
| detailedMentions | Detailed mention metadata (from text_extra and text) | [{"user_id":"","user_unique_id":"someuser","start":0,"end":9}] |
| replies | Array of reply objects (same shape as comments, without nested replies) | [] |
Note: In addition to pushing each comment to the dataset, the actor also saves a consolidated JSON array of all comments to the key-value store under key “output.json” for convenient bulk download.
Key features
-
⚡️ Robust proxy fallback and rotation Starts with no proxy by default, then automatically falls back to datacenter proxy and finally residential proxy with up to 3 rotations. Once residential works, it sticks for the rest of the run for stability.
-
🧵 Replies capture (threaded comments) Control reply depth per comment via maxRepliesPerComment. The actor fetches replies and attaches them as a flat array in the replies field, perfect for downstream TikTok comment sentiment analysis.
-
👤 Profile-based video discovery Provide usernames and let the actor scrape TikTok videos (videos and/or reposts) from profiles using Playwright-based interception. Supports resultsPerPage, profileScrapeSections, profileSorting, and date filters.
-
🗓️ Date filtering and pin control Filter profile videos by oldestPostDateUnified and newestPostDate (absolute or relative). Optionally exclude pinned posts with excludePinnedPosts for cleaner datasets.
-
🏷️ Mentions extraction Extracts mentions from both raw text and TikTok’s text_extra, returning a simple mentions array and a richer detailedMentions array with offsets and IDs for analysis.
-
🧪 Resilient by design Built-in retry logic for comment and reply endpoints, graceful handling of vm.tiktok.com / vt.tiktok.com redirects, and concurrent processing for multiple videos.
-
📦 Structured outputs and easy exports Comment-level JSON records are pushed to the Apify dataset and can be exported to JSON or CSV. A full array is also saved to output.json in the key-value store for bulk processing.
-
👨💻 Developer-friendly workflows Run on Apify, integrate with the Apify API, or trigger from Python. Ideal for building a TikTok comments API pipeline, TikTok comment scraping Python jobs, or automation with Make/n8n.
How to use Tiktok Comments Scraper - step by step
-
Sign in to Apify Log in at https://console.apify.com.
-
Open the actor Find “tiktok-comments-scraper” in your Actors and open it.
-
Add your input
- To scrape specific videos, add their URLs to postURLs.
- To scrape from profiles, add usernames (without @) to profiles and set resultsPerPage, profileScrapeSections, and profileSorting as needed.
- Optional: Set oldestPostDateUnified and newestPostDate to filter profile videos by date. Toggle excludePinnedPosts if required.
-
Configure limits
- Set commentsPerPost to control how many comments you collect per video.
- Set maxRepliesPerComment to capture replies for each top-level comment.
-
Choose proxy behavior
- Use proxyConfiguration if you want to start with Apify Proxy. Otherwise, the scraper starts with no proxy and falls back automatically if blocked.
-
Run the actor Click Start. You’ll see live logs, including clear “PROXY EVENT” messages when fallback stages occur.
-
Review and export results
- Go to the Dataset tab to preview scraped items.
- Export to JSON or CSV from the dataset.
- For a complete array in one file, download output.json from the Key-value store.
Pro tip: Automate your runs and pull results programmatically using the Apify API to build a repeatable TikTok comments data mining pipeline or sync into your analytics stack.
Use cases
| Use case | Description |
|---|---|
| Social listening & sentiment | Analyze audience reactions by scraping TikTok video comments and replies, then run TikTok comment sentiment analysis at scale. |
| Competitor benchmarking | Track comment trends on competitor profiles and videos to understand engagement and feedback patterns. |
| Product research | Aggregate a TikTok comments dataset around campaigns to extract themes, mentions, and pain points for better messaging. |
| Influencer due diligence | Vet creator videos by reviewing comment tone, volume, and response quality. |
| Campaign tracking | Monitor comments on branded posts across multiple video URLs and profiles in one bulk TikTok comments scraper run. |
| Developer pipelines (API/Python) | Use the Apify API from Python to schedule runs and export TikTok comments to CSV/JSON for processing in notebooks or ETL jobs. |
| Academic & market research | Build longitudinal datasets for topic modeling, toxicity detection, or trend discovery from public TikTok comments. |
Why choose Tiktok Comments Scraper?
Tiktok Comments Scraper combines precision data collection with production-grade reliability and automated proxy handling.
- ✅ Accuracy-first extraction of public comment text, timestamps, likes, and user metadata
- 🌍 Works on profiles and videos, with reposts and date filters for targeted collection
- 🧵 Captures replies (threaded comments) with per-comment limits
- 🧠 Mentions parsing from text and text_extra for advanced analysis
- 🧰 Developer-friendly: run on Apify and fetch datasets via API; great for TikTok comment scraping Python workflows
- 🔒 Ethical by design: only collects publicly available data
- ⚙️ Built for scale: proxy fallback from no proxy → datacenter → residential with retries and sticky residential mode
Unlike fragile browser extensions or one-off scripts, this TikTok comment scraping software runs on robust infrastructure with clear logging and structured outputs.
Is it legal / ethical to use Tiktok Comments Scraper?
Yes—when done responsibly. This actor collects data only from publicly available TikTok videos and profiles. It does not access private accounts or password-protected content.
Guidelines for compliant use:
- Scrape only public data and respect platform terms.
- Avoid sensitive or personally identifiable information where not needed.
- Ensure your use complies with applicable laws and policies (e.g., GDPR, CCPA).
- Consult your legal team for edge cases or high-risk use.
Input parameters & output format
Example input JSON
{"postURLs": ["https://www.tiktok.com/@mrbeast/video/7578547467189374239"],"commentsPerPost": 100,"maxRepliesPerComment": 3,"profiles": ["mrbeast"],"resultsPerPage": 10,"profileScrapeSections": ["videos"],"profileSorting": "latest","oldestPostDateUnified": null,"newestPostDate": null,"excludePinnedPosts": false,"proxyConfiguration": {"useApifyProxy": false}}
Parameters (from input schema):
- postURLs (array, required: no, default: none) — TikTok video URLs to extract comments from. If provided, takes priority over profiles.
- commentsPerPost (integer, required: no, default: 100) — Maximum number of comments to extract per video (minimum 1).
- maxRepliesPerComment (integer, required: no, default: 3) — Maximum number of replies to fetch per top-level comment (minimum 0). Successful extraction of all desired replies is not guaranteed.
- profiles (array, required: no, default: none) — TikTok usernames (without @) to scrape videos from.
- resultsPerPage (integer, required: no, default: 10) — Number of videos to scrape per profile (1–1,000,000).
- profileScrapeSections (array, required: no, default: ["videos"]) — Profile sections to scrape: "videos" and/or "reposts".
- profileSorting (string, required: no, default: "latest") — Sorting for profile videos: "latest", "popular", or "oldest".
- oldestPostDateUnified (string, required: no, default: none) — Scrape profile videos uploaded after/on this date. Supports absolute YYYY-MM-DD or relative (e.g., “5 days”, “2 weeks”).
- newestPostDate (string, required: no, default: none) — Scrape profile videos uploaded before/on this date. Supports absolute YYYY-MM-DD or relative (e.g., “5 days”, “2 weeks”).
- excludePinnedPosts (boolean, required: no, default: false) — Exclude pinned posts from profile scraping.
- proxyConfiguration (object, required: no, default: {"useApifyProxy": false}) — Choose proxies. If blocked, the actor automatically falls back to datacenter, then residential with 3 retries.
Note: Provide at least one of postURLs or profiles. If both are provided, postURLs are used.
Example output JSON
[{"videoWebUrl": "https://www.tiktok.com/@mrbeast/video/7578547467189374239","submittedVideoUrl": "https://www.tiktok.com/@mrbeast/video/7578547467189374239","input": "https://www.tiktok.com/@mrbeast/video/7578547467189374239","cid": "7578605549794034443","createTime": 1732995615,"createTimeISO": "2025-11-30T19:40:15.000Z","text": "mr beast are you ok ?","diggCount": 7633,"likedByAuthor": false,"pinnedByAuthor": false,"repliesToId": null,"replyCommentTotal": 100,"uid": "7516601022924489733","uniqueId": "amin.hrizi4","avatarThumbnail": "https://p16-sign-va.tiktokcdn.com/...","mentions": [],"detailedMentions": [],"replies": []}]
Output notes:
- Each dataset item represents a single comment. If replies are fetched, they are included in the replies array as comment-shaped objects (without nested replies).
- A consolidated array of all comments is also saved as output.json in the key-value store.
FAQ
How many comments can I scrape per video?
You control this with commentsPerPost. The actor will attempt to collect up to that number per video, but the actual number may vary due to TikTok API limitations, especially on posts with thousands of comments.
Can I scrape comments from multiple videos at once?
Yes. Add multiple URLs to postURLs and the actor will process them in one run. This is ideal for bulk TikTok comments scraper workflows.
Can I collect replies to comments?
Yes. Set maxRepliesPerComment to a positive number to fetch replies for each top-level comment. Replies are attached in the replies array on the parent comment.
How does profile-based scraping work?
Provide usernames in profiles and configure resultsPerPage, profileScrapeSections (videos and/or reposts), and profileSorting (latest, oldest, popular). You can also set oldestPostDateUnified and newestPostDate to filter videos by date.
What happens if TikTok blocks my requests?
The actor starts with no proxy, then automatically falls back to datacenter proxy. If still blocked, it switches to residential proxy and retries up to 3 times. Once residential succeeds, it remains in residential mode.
Does it handle short TikTok links (vm.tiktok.com or vt.tiktok.com)?
Yes. The actor follows vm/vt redirects to resolve the canonical videoWebUrl and extract the correct video ID.
How do I download the results?
Open the run’s Dataset to export JSON or CSV. For a single-file array of all items, download output.json from the Key-value store. This makes it easy to export TikTok comments to CSV or integrate with analytics.
Can I integrate this with my code or workflows?
Yes. You can run the actor on Apify and fetch results via the Apify API, making it a practical TikTok comments API endpoint for your pipelines. It’s well-suited for TikTok comment scraping Python scripts and automation tools like Make or n8n.
Closing CTA / Final thoughts
Tiktok Comments Scraper is built to reliably scrape TikTok video comments and replies at scale with clean, structured outputs. With automated proxy fallback, profile-based video discovery, mention extraction, and flexible limits, it’s a practical TikTok comments scraper tool for marketers, researchers, and developers alike. Run it on Apify, pull results via the API, and automate your TikTok comments data mining end to end. Start extracting smarter insights from public TikTok conversations today.