Tiktok Comments Scraper
Pricing
$19.99/month + usage
Tiktok Comments Scraper
📱 TikTok Comments Scraper extracts comments, usernames, user IDs, timestamps, likes & replies from videos or hashtags. ⚡ Fast, reliable, export to CSV/JSON for sentiment, UGC mining, social listening & competitor analysis. 🚀 Perfect for marketing, research & moderation.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scraply
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 an Apify actor that lets you scrape TikTok comments (and optional replies) from video URLs or profile pages at scale. It solves the tedious task of collecting public TikTok conversation data by automating extraction of text, likes, timestamps, user info, and replies. Built for marketers, developers, data analysts, and researchers, this TikTok comments scraper enables social listening, UGC mining, and competitor analysis with clean, structured outputs you can export and analyze. With bulk inputs and smart proxy fallback, it’s a reliable TikTok comments extractor for repeatable workflows.
What data / output can you get?
Below are real output fields pushed to the Apify dataset for each comment (and replies):
| Data field | Description | Example value |
|---|---|---|
| videoWebUrl | Canonical URL of the TikTok video | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| submittedVideoUrl | Same as videoWebUrl (canonical URL used) | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| input | The original input URL used for scraping | https://www.tiktok.com/@mrbeast/video/7578547467189374239 |
| cid | Comment ID | 7578605549794034443 |
| createTime | Unix timestamp (seconds) when the comment was created | 1732995615 |
| createTimeISO | ISO-8601 timestamp for the comment | 2025-11-30T19:40:15.000Z |
| text | Comment text content | mr beast are you ok ? |
| diggCount | Number of likes on the comment | 7633 |
| likedByAuthor | Whether the video author liked the comment | false |
| pinnedByAuthor | Whether the comment is pinned by the author | false |
| repliesToId | Parent comment ID (null for top-level comments) | null |
| replyCommentTotal | Total number of replies reported by TikTok | 100 |
| uid | Commenter user ID | 7516601022924489733 |
| uniqueId | Commenter username (unique ID) | amin.hrizi4 |
| avatarThumbnail | Commenter avatar thumbnail URL | https://p16-sign-va.tiktokcdn.com/... |
| mentions | Array of @mentions extracted from text | [] |
| detailedMentions | Structured mention objects with offsets and IDs | [] |
| replies | Array of reply objects (same shape as comments, without nested replies) | [] |
Notes:
- Results are available in the Apify dataset (export to JSON or CSV).
- Additionally, a full JSON array of all comments from the run is saved to the key-value store under the key output.json for easy download.
Key features
-
⚡ Smart proxy fallback & rotation Automatically starts with no proxy and falls back to datacenter, then residential proxies with up to 3 retries if blocked. Clear “PROXY EVENT” logs show each step.
-
🧭 Profile-based video discovery (videos & reposts) Don’t have video URLs? Provide TikTok usernames and choose profileScrapeSections (“videos” and/or “reposts”). The actor uses a Playwright-backed approach to capture reliable /api/ responses while scrolling.
-
🗂️ Sorting & date filters for profiles Control which profile videos to process via profileSorting (“latest”, “oldest”, “popular”) and optional date ranges (oldestPostDateUnified, newestPostDate). Exclude pinned videos with excludePinnedPosts.
-
💬 Comments + replies extraction Configure commentsPerPost and maxRepliesPerComment to collect the conversation depth you need. Replies are attached to their parent comments.
-
🧩 Structured JSON output with mention parsing Extract mentions from comment text and TikTok’s text_extra, including offsets and user IDs, for accurate entity tracking.
-
📦 Bulk inputs & concurrency Process multiple postURLs or profiles in a single run with tuned concurrency and retry logic for robust performance.
-
🔌 Developer-friendly & automation-ready Access results via Apify API and export datasets to JSON or CSV. Integrate with workflows for pipelines in Python or low-code tools.
-
🛡️ Production-ready reliability Built-in retries, proxy fallback, and detailed logging make it a dependable TikTok comments scraper online for recurring jobs.
How to use Tiktok Comments Scraper - step by step
- Sign in to Apify and open the Tiktok Comments Scraper actor.
- Choose your input method:
- To scrape specific videos, add their URLs to postURLs.
- To discover videos from creators, add usernames (without @) to profiles and configure profileScrapeSections.
- Configure profile options (if using profiles):
- resultsPerPage: number of videos to process per profile.
- profileScrapeSections: select “videos” and/or “reposts”.
- profileSorting: choose “latest”, “oldest”, or “popular”.
- oldestPostDateUnified / newestPostDate: optionally filter videos by date.
- excludePinnedPosts: set true to skip pinned content.
- Set extraction depth:
- commentsPerPost: cap the number of comments per video.
- maxRepliesPerComment: cap replies you want per comment (0 to skip).
- Configure proxyConfiguration (optional):
- By default, the actor starts with no proxy and will automatically fallback if needed. You can also supply your Apify proxy settings.
- Run the actor and monitor logs:
- Watch “PROXY EVENT” lines and per-video progress for transparency.
- Download results:
- Go to the Dataset tab to export data as JSON or CSV.
- A combined JSON array is also saved to the key-value store as output.json.
Pro tip: If you’re prioritizing engagement, use profiles with profileSorting set to “popular”. The actor fetches candidates and sorts locally to pick the most popular videos per profile.
Use cases
| Use case | Description |
|---|---|
| Social listening & sentiment | Analyze public TikTok conversations at scale to understand audience reactions and sentiment trends. |
| UGC mining for marketing | Collect user-generated comments to inform creative, messaging, and influencer/creator partnerships. |
| Community moderation | Identify problematic threads by scanning replies and mentions around sensitive topics. |
| Competitor analysis | Track comment sections on competitor videos to monitor audience feedback and engagement. |
| Product research | Gather comments on launches and features to surface pain points and feature requests. |
| Academic & social research | Build datasets for studies on online discourse, virality, and community dynamics. |
| API pipelines & enrichment | Feed structured comments into data warehouses or NLP pipelines via the Apify API. |
Why choose Tiktok Comments Scraper?
This actor is engineered for accuracy and reliability with smart proxy management and robust profile discovery.
- 🎯 Accurate mention extraction from text and text_extra for reliable entity mapping.
- 🌍 Profile video discovery with Playwright to capture reliable TikTok /api/ responses while scrolling.
- 📈 Built for scale with bulk inputs and tuned concurrency.
- 👩💻 Developer access via Apify API and dataset exports (JSON/CSV) for downstream automation.
- 🔒 Public data only — no private accounts or authentication required for standard runs.
- 💪 More reliable than extensions or ad-hoc scripts thanks to retries, proxy fallback, and structured logging.
- 🧰 Flexible workflow control with limits for comments and replies, sorting, and date filters.
In short, it’s a production-ready TikTok video comments scraper designed for consistent, structured data extraction.
Is it legal / ethical to use Tiktok Comments Scraper?
Yes — when used responsibly. This actor collects data from publicly available TikTok content.
Guidelines to follow:
- Only extract from public videos and profiles.
- Do not target private accounts or gated content.
- Respect TikTok’s Terms of Service and platform rate limits.
- Comply with applicable laws (e.g., GDPR, CCPA). Consult your legal counsel for edge cases.
- Use the data ethically (e.g., avoid spam and misuse of personal information).
Input parameters & output format
Example JSON input
{"postURLs": ["https://www.tiktok.com/@mrbeast/video/7578547467189374239"],"profiles": ["mrbeast"],"commentsPerPost": 100,"maxRepliesPerComment": 3,"resultsPerPage": 10,"profileScrapeSections": ["videos", "reposts"],"profileSorting": "latest","oldestPostDateUnified": "2025-01-01","newestPostDate": "2025-12-31","excludePinnedPosts": false,"proxyConfiguration": {"useApifyProxy": false}}
Parameters (from input schema):
- postURLs (array) — Add TikTok video URLs to extract comments from. Required: No. Default: none.
- commentsPerPost (integer) — Maximum comments per video. Required: No. Default: 100. Minimum: 1.
- maxRepliesPerComment (integer) — Maximum replies to fetch per comment. Required: No. Default: 3. Minimum: 0.
- profiles (array) — TikTok usernames (without @) to discover videos from profiles. Required: No. Default: none.
- resultsPerPage (integer) — Number of videos per profile to process. Required: No. Default: 10. Min/Max: 1–1,000,000.
- profileScrapeSections (array) — Profile sections to scrape: “videos”, “reposts”. Required: No. Default: ["videos"].
- profileSorting (string) — Sorting for profile videos: “latest”, “popular”, “oldest”. Required: No. Default: "latest".
- oldestPostDateUnified (string) — Scrape profile videos after/on this date (YYYY-MM-DD) or relative (“5 days”, “2 weeks”). Required: No. Default: none.
- newestPostDate (string) — Scrape profile videos before/on this date (YYYY-MM-DD) or relative (“5 days”, “2 weeks”). Required: No. Default: none.
- excludePinnedPosts (boolean) — Exclude pinned posts on profiles. Required: No. Default: false.
- proxyConfiguration (object) — Proxy config. If blocked, falls back to datacenter then residential with 3 retries. Required: No. Default prefill: {"useApifyProxy": false}.
Behavioral note:
- If both postURLs and profiles are provided, postURLs take priority.
Example JSON output
[{"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": []}]
Notes:
- replies contains reply objects with the same top-level fields (except no nested replies).
- Some fields may be empty if the information is not present in TikTok’s response (e.g., mentions).
FAQ
Do I need to provide video URLs to scrape TikTok comments?
No. You can provide postURLs to scrape specific videos, or supply profiles to discover videos automatically from “videos” and/or “reposts” sections. If both are provided, postURLs are used.
Can I scrape replies as well as top-level comments?
Yes. Set maxRepliesPerComment to the number of replies you want per comment (set 0 to skip). Replies are returned in the replies array on each parent comment.
How many comments can I collect per video?
You control the cap with commentsPerPost. The actor fetches up to your limit, but the exact total may vary due to TikTok API constraints and availability.
What happens if TikTok blocks my requests?
The actor starts with no proxy and, if blocked, falls back to a datacenter proxy, then to residential proxies with up to 3 retries. Once in residential mode, it sticks with it for the rest of the run.
Can I export TikTok comments to CSV or JSON?
Yes. Open the run’s Dataset and export to JSON or CSV. A full array of results is also written to the key-value store as output.json.
Does this work as a TikTok comments scraper API or with Python?
Yes. Every run is accessible via the Apify API, and you can integrate with Python using the Apify SDK or standard HTTP calls to automate pipelines.
Does the scraper support reposts on profiles?
Yes. Set profileScrapeSections to include "reposts" to discover and process reposted videos from profiles.
Is there a free trial?
Apify plans for this actor include trial minutes (e.g., 120) so you can test the scraper before subscribing. Check the actor’s pricing section on Apify for current details.
Closing CTA / Final thoughts
Tiktok Comments Scraper is built for teams that need accurate, structured TikTok comment data at scale. With profile-based discovery, smart proxy fallback, and clean JSON outputs, it’s a dependable TikTok comments crawler for marketing, research, and moderation.
Run it with postURLs or profiles, configure limits and filters, and export to JSON/CSV for immediate analysis. Developers can plug the Apify API into Python or automation workflows to power sentiment analysis, UGC mining, and social listening. Start extracting smarter TikTok insights today.