Tiktok Comments Scraper avatar

Tiktok Comments Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Tiktok Comments Scraper

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

Scraply

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 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 fieldDescriptionExample value
videoWebUrlCanonical URL of the TikTok videohttps://www.tiktok.com/@mrbeast/video/7578547467189374239
submittedVideoUrlSame as videoWebUrl (canonical URL used)https://www.tiktok.com/@mrbeast/video/7578547467189374239
inputThe original input URL used for scrapinghttps://www.tiktok.com/@mrbeast/video/7578547467189374239
cidComment ID7578605549794034443
createTimeUnix timestamp (seconds) when the comment was created1732995615
createTimeISOISO-8601 timestamp for the comment2025-11-30T19:40:15.000Z
textComment text contentmr beast are you ok ?
diggCountNumber of likes on the comment7633
likedByAuthorWhether the video author liked the commentfalse
pinnedByAuthorWhether the comment is pinned by the authorfalse
repliesToIdParent comment ID (null for top-level comments)null
replyCommentTotalTotal number of replies reported by TikTok100
uidCommenter user ID7516601022924489733
uniqueIdCommenter username (unique ID)amin.hrizi4
avatarThumbnailCommenter avatar thumbnail URLhttps://p16-sign-va.tiktokcdn.com/...
mentionsArray of @mentions extracted from text[]
detailedMentionsStructured mention objects with offsets and IDs[]
repliesArray 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

  1. Sign in to Apify and open the Tiktok Comments Scraper actor.
  2. 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.
  3. 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.
  4. Set extraction depth:
    • commentsPerPost: cap the number of comments per video.
    • maxRepliesPerComment: cap replies you want per comment (0 to skip).
  5. 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.
  6. Run the actor and monitor logs:
    • Watch “PROXY EVENT” lines and per-video progress for transparency.
  7. 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 caseDescription
Social listening & sentimentAnalyze public TikTok conversations at scale to understand audience reactions and sentiment trends.
UGC mining for marketingCollect user-generated comments to inform creative, messaging, and influencer/creator partnerships.
Community moderationIdentify problematic threads by scanning replies and mentions around sensitive topics.
Competitor analysisTrack comment sections on competitor videos to monitor audience feedback and engagement.
Product researchGather comments on launches and features to surface pain points and feature requests.
Academic & social researchBuild datasets for studies on online discourse, virality, and community dynamics.
API pipelines & enrichmentFeed 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.

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.