Tiktok Comments Scraper avatar

Tiktok Comments Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Tiktok Comments Scraper

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

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

16 days ago

Last modified

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 fieldDescriptionExample value
videoWebUrlCanonical video URL (follows vm/vt redirects)https://www.tiktok.com/@mrbeast/video/7578547467189374239
submittedVideoUrlCanonical video URL used for this comment (same as videoWebUrl)https://www.tiktok.com/@mrbeast/video/7578547467189374239
inputThe original input URL for the videohttps://www.tiktok.com/@mrbeast/video/7578547467189374239
cidComment ID7578605549794034443
createTimeUnix timestamp (seconds)1732995615
createTimeISOISO timestamp (UTC)2025-11-30T19:40:15.000Z
textComment textmr beast are you ok ?
diggCountComment likes7633
likedByAuthorWhether the author liked the commentfalse
pinnedByAuthorWhether the author pinned the commentfalse
repliesToIdParent comment ID (null for top-level)null
replyCommentTotalTotal number of replies (reported by TikTok)100
uidCommenter’s user ID7516601022924489733
uniqueIdCommenter’s usernameamin.hrizi4
avatarThumbnailCommenter’s avatar URL (thumbnail)https://p16-sign-va.tiktokcdn.com/...
mentionsUsernames mentioned in the comment text["someuser"]
detailedMentionsDetailed mention metadata (from text_extra and text)[{"user_id":"","user_unique_id":"someuser","start":0,"end":9}]
repliesArray 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

  1. Sign in to Apify Log in at https://console.apify.com.

  2. Open the actor Find “tiktok-comments-scraper” in your Actors and open it.

  3. 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.
  4. Configure limits

    • Set commentsPerPost to control how many comments you collect per video.
    • Set maxRepliesPerComment to capture replies for each top-level comment.
  5. 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.
  6. Run the actor Click Start. You’ll see live logs, including clear “PROXY EVENT” messages when fallback stages occur.

  7. 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 caseDescription
Social listening & sentimentAnalyze audience reactions by scraping TikTok video comments and replies, then run TikTok comment sentiment analysis at scale.
Competitor benchmarkingTrack comment trends on competitor profiles and videos to understand engagement and feedback patterns.
Product researchAggregate a TikTok comments dataset around campaigns to extract themes, mentions, and pain points for better messaging.
Influencer due diligenceVet creator videos by reviewing comment tone, volume, and response quality.
Campaign trackingMonitor 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 researchBuild 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.

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.

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.