TikTok Comments Scraper
Pricing
from $0.29 / 1,000 comment scrapeds
TikTok Comments Scraper
Export public TikTok video comments with author details, likes, reply counts, timestamps, and stable IDs for research, moderation, and analysis.
Pricing
from $0.29 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Export TikTok comments and replies from public video or photo URLs. Use this TikTok comments scraper to scrape TikTok comments into analysis-ready JSON, CSV, Excel, or Google Sheets rows—without a TikTok login or API key.
Input example
{"videoUrls": ["https://www.tiktok.com/@scout2015/video/6718335390845095173"],"maxCommentsPerVideo": 50,"includeReplies": false}
Output example
{"commentId": "6718425908423475205","text": "The detail in this is amazing","authorUsername": "example_user","authorName": "Example User","authorId": "123456789","authorAvatarUrl": "https://p16-sign.tiktokcdn.com/avatar.jpeg","likeCount": 42,"replyCount": 3,"createdAt": "2019-07-29T18:31:20.000Z","isReply": false,"parentCommentId": null,"videoId": "6718335390845095173","videoUrl": "https://www.tiktok.com/@scout2015/video/6718335390845095173","fetchedAt": "2026-08-13T14:00:00.000Z","sourceSessionId": "0c47a389-927c-42c5-a624-c679dd31422d","extractionStatus": "ok","missingFields": [],"isPinned": false,"commentLanguage": "en"}
What data can you export?
| Field | Description |
|---|---|
commentId | TikTok comment identifier |
text | Comment text |
authorUsername | Public TikTok username |
authorName | Public display name |
authorId | Public author identifier |
authorAvatarUrl | Public avatar URL |
likeCount | Comment likes |
replyCount | Number of replies reported by TikTok |
createdAt | ISO 8601 publication time |
isReply | Whether the row is a reply |
parentCommentId | Parent ID for reply rows; otherwise null |
videoId | Source post identifier |
videoUrl | Source URL supplied in input |
fetchedAt | ISO 8601 collection time |
sourceSessionId | Session identifier useful for run diagnostics |
extractionStatus | ok or partial |
missingFields | Source fields unavailable on this row |
isPinned | Whether TikTok marks the comment as pinned |
commentLanguage | Language code when TikTok supplies one |
All 19 keys are present on every saved row. Replies are separate rows so exports remain easy to filter and join.
Who is it for?
- Social media teams monitoring audience reactions and brand mentions.
- Researchers and analysts building sentiment or discussion datasets.
- Marketing teams comparing engagement across campaigns or competitor posts.
- Journalists and archivists preserving public discussion around newsworthy videos.
- Community managers identifying highly liked comments and active participants.
Input settings
| Setting | Type | Default | Description |
|---|---|---|---|
videoUrls | string[] | required | Public TikTok video/photo URLs or numeric post IDs |
maxCommentsPerVideo | integer | 20 | Top-level comments per post (1–10,000) |
includeReplies | boolean | false | Save replies as linked rows |
maxRepliesPerComment | integer | 20 | Replies saved per parent (0–1,000) |
maxConcurrency | integer | 1 | Posts processed concurrently (1–3) |
requestTimeoutSecs | integer | 30 | Per-request timeout (10–120 seconds) |
proxyConfiguration | object | none | Optional Apify or custom proxy configuration |
Input recipes
Several posts with replies
{"videoUrls": ["https://www.tiktok.com/@scout2015/video/6718335390845095173","https://www.tiktok.com/@jenna_bushhager/video/7223827494913215786"],"maxCommentsPerVideo": 100,"includeReplies": true,"maxRepliesPerComment": 10,"maxConcurrency": 2}
Fast validation run
{"videoUrls": ["7149523510589754670"],"maxCommentsPerVideo": 5}
Pricing
This Actor uses pay-per-event pricing:
- Run started is charged once when valid scraping work begins.
- Comment scraped is charged only for each comment row successfully saved.
See the live Pricing tab for current rates for your Apify plan tier. Apify platform usage may be billed separately according to your plan.
Tips and limits
- Start with 20 comments and increase the limit after validating your post.
- A post may return fewer rows than its displayed total because TikTok filters, removes, or limits public comments.
- Deleted, private, age-restricted, or region-restricted posts may be unavailable.
- Reply collection can substantially increase run time and row count.
- Successful rows from other posts are preserved if one input fails.
- Re-running a post can capture newer comments; use
commentIdto deduplicate across runs. - The Actor collects only comments visible on public posts without logging in. Follow TikTok's terms and applicable privacy rules.
TikTok comments API usage
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/tiktok-comments-scraper').call({videoUrls: ['https://www.tiktok.com/@scout2015/video/6718335390845095173'],maxCommentsPerVideo: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('fetch_cat/tiktok-comments-scraper').call(run_input={'videoUrls': ['https://www.tiktok.com/@scout2015/video/6718335390845095173'],'maxCommentsPerVideo': 50,})items = list(client.dataset(run['defaultDatasetId']).iterate_items())
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~tiktok-comments-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"videoUrls":["6718335390845095173"],"maxCommentsPerVideo":50}'
Use with AI agents via MCP
Connect an MCP-compatible client to:
https://mcp.apify.com?tools=fetch_cat/tiktok-comments-scraper
Example prompt: “Extract 100 comments from these TikTok posts and summarize recurring positive and negative themes.”
FAQ
How can I export comments from a public TikTok video?
Add public video URLs to videoUrls, choose a comment limit, and run the Actor. Download the resulting dataset as JSON, CSV, or Excel.
Can I scrape TikTok comment authors, likes, replies, and timestamps?
Yes. Each row includes author identity fields, like and reply counts, creation time, and stable comment and video IDs when publicly available.
Can it scrape replies?
Yes. Enable includeReplies; every reply includes isReply: true and its parentCommentId.
Why did I receive fewer comments than requested?
The requested value is a maximum. TikTok may expose fewer public comments, and removed or filtered comments are not returned.
Can I process several posts in one run?
Yes. Add multiple values to videoUrls. Each post uses an independent session, and successful output is preserved when another target fails.
Does it support short TikTok links?
Use a full post URL or numeric post ID. Redirect-only short links are not accepted as input.
Related Actors
- TikTok Video Scraper
- TikTok Profile Scraper
- TikTok Hashtag Scraper
- TikTok Search Results Scraper
- TikTok User Search Scraper
Support
Use the Issues tab on the Actor page and include the public post URL, input, and run ID. Do not post private credentials or cookies.