Tiktok Comments Scraper ($0.20 Per 1K) avatar

Tiktok Comments Scraper ($0.20 Per 1K)

Pricing

$0.20 / 1,000 results

Go to Apify Store
Tiktok Comments Scraper ($0.20 Per 1K)

Tiktok Comments Scraper ($0.20 Per 1K)

TikTok comment scraper that pulls comments and replies from any public post, so researchers and marketers get usable data without copying a single comment by hand.

Pricing

$0.20 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

10 days ago

Last modified

Share

TikTok Comment Scraper: Extract comments and replies from any TikTok post

TikTok Comment Scraper

The most affordable TikTok comment scraper you'll find. Point it at one post or a hundred and you get a clean dataset: comments, replies, usernames, like counts, timestamps, and the total count per search query. Export it or feed it into whatever tool you're using.

Copying TikTok comments by hand breaks fast. After 30 rows you're losing your mind. This actor hits TikTok's internal comment API and pulls thousands of records in minutes, nested replies included, no browser or login needed.

Why you need a TikTok comment scraper

TikTok comments are where real audience reactions live, not the like count (vanity) or the view count (reach), but the text people type when they feel strongly enough to say something.

Without a scraper you're reading one comment at a time. With one, you can run sentiment analysis, spot recurring topics, track how a conversation shifts over 24 hours, or build a training dataset in an afternoon instead of a week.

Use cases

  • Collect comments from brand posts to measure how audiences react over time
  • Scrape comments on a competitor's top videos to see what their audience actually asks for
  • Track which posts generate the most discussion and what topics keep surfacing
  • Build labeled comment datasets for hate speech detection, topic modeling, or text classification
  • Pull comment data before signing a creator deal to check authenticity
  • Schedule runs to collect new comments from the same posts automatically over time

Input

ParameterTypeDefaultDescription
postUrlsarray—TikTok post URLs to scrape. Supports video posts, photo posts, and short links (vm.tiktok.com). Required.
maxCommentsPerPostinteger100Maximum comments to collect per URL. Set up to 100,000 to scrape everything available.
includeRepliesbooleantrueWhen enabled, fetches replies nested under each comment.
maxRepliesPerCommentinteger50Maximum replies per comment. Only applies when reply fetching is enabled.
timeoutSecsinteger300Total actor run time in seconds. Max 3,600.
requestTimeoutSecsinteger30Timeout per individual request to TikTok.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional.

Example input

{
"postUrls": [
"https://www.tiktok.com/@bellapoarch/video/6862153058223197445",
"https://www.tiktok.com/@charlidamelio/video/7084020840384219398"
],
"maxCommentsPerPost": 500,
"includeReplies": true,
"maxRepliesPerComment": 50,
"proxyConfiguration": { "useApifyProxy": true }
}

What data does this actor extract?

One row per comment. Replies are embedded as an array inside each comment row, so you get the full thread in one record without separate reply rows cluttering your dataset.

Example record:

{
"searchQuery": "https://www.tiktok.com/@bellapoarch/video/6862153058223197445",
"awemeId": "6862153058223197445",
"commentId": "7630580008846721805",
"username": "john_doe99",
"nickname": "John Doe",
"commentText": "This is so funny lmao 😂",
"likeCount": 6,
"replyCount": 2,
"commentLanguage": "en",
"isAuthorPinned": false,
"createdAt": "2020-08-16T14:22:05+00:00",
"replies": [
{
"commentId": "7630590001234567890",
"username": "jane_smith",
"nickname": "Jane Smith",
"commentText": "Same lmao 😂",
"likeCount": 3,
"commentLanguage": "en",
"createdAt": "2020-08-16T15:10:00+00:00",
"scrapedAt": "2026-04-20T10:15:00+00:00"
}
],
"scrapedAt": "2026-04-20T10:15:00+00:00"
}
FieldTypeDescription
searchQuerystringThe post URL used as input
awemeIdstringTikTok internal post ID from the URL
commentIdstringUnique comment identifier (cid from TikTok API)
usernamestringTikTok username (unique_id) of the commenter
nicknamestringDisplay name of the commenter
commentTextstringFull text of the comment
likeCountintegerLikes on this comment (digg_count from TikTok API)
replyCountintegerTotal replies this comment has (reply_comment_total from API)
commentLanguagestringLanguage code detected by TikTok (e.g. en, es, fr)
isAuthorPinnedbooleanTrue if the post author pinned this comment
createdAtstringISO 8601 timestamp of when the comment was posted
repliesarrayEmbedded reply objects. Each has commentId, username, nickname, commentText, likeCount, commentLanguage, createdAt, scrapedAt. Empty array when no replies or replies are disabled.
scrapedAtstringISO 8601 timestamp of when this record was scraped

Sample results — table view

Apify dataset table view — TikTok comments

Apify dataset table view — TikTok comment details

Sample results — JSON view

Apify dataset JSON view — TikTok comment record

How it works

  1. The actor resolves each input URL, following redirects for short links like vm.tiktok.com
  2. It pulls the TikTok post ID (aweme_id) from the final URL
  3. It pages through TikTok's internal comment API until it hits your limit
  4. For each comment, replies are fetched immediately and embedded into that comment's row
  5. Each comment row is pushed to the dataset as soon as it is ready, so data appears in real time

Scheduling: watch TikTok posts for new comments over time

You can put this on a repeating schedule using Apify's built-in scheduler. Set it to run every hour, every day, whatever fits, and it will collect new comments from the same posts each time without you touching anything.

To schedule a run:

  1. Click "Save as a new task" after setting up your input
  2. Open the "Schedule" tab
  3. Pick your interval (every 6 hours is a reasonable starting point)
  4. It runs on its own and appends new results to the dataset

Good for watching how reactions shift after a launch, tracking a viral post as comments pile up, or monitoring a creator you work with without opening the app.

Video walkthrough

For a quick demo of how to configure and run the actor, see the Apify platform video guides at docs.apify.com.

FAQ

Can this scrape comments from private TikTok accounts? No. Public posts only. Private accounts and age-restricted content need a login, which this actor does not use.

What about short links like vm.tiktok.com? Handled automatically. The actor follows the redirect and pulls the post ID from wherever it lands.

How many comments can I get per run? Up to 100,000 per post URL. Set maxCommentsPerPost to whatever limit you need. Most use cases land between 100 and 5,000, but viral posts can have far more and the actor will keep paginating until it hits your limit.

Will TikTok block the requests? TikTok does rate-limit scrapers. Apify's proxy (on by default) cuts that risk considerably. If you still hit walls, Residential proxies in the settings usually fix it.

What does the count field mean? It is the total number of records (comments plus replies) collected for that post URL in a single run. Every row for the same URL will have the same count value, making it easy to group results by source post.

Can I get data from multiple posts in one run? Yes. Add as many TikTok URLs as you need, one per line. Each URL gets its own searchQuery and count in the output.

Integrations

Connect with other apps via Apify integrations: Google Sheets, Slack, Make, Zapier, and more. Set up webhooks to trigger the next step in your workflow the moment a run finishes.