TikTok Comment Viewer, Scraper, and CSV Export Guide

by Simon Balfe··Updated

TikTok does not provide a built-in CSV export for video comments. For one video, a free TikTok comment viewer can load, search, and download the comments. For recurring research or thousands of comments, a TikTok comment scraper API is the more reliable route.

This guide covers both workflows and shows how to export normalized comment data for sentiment analysis, content research, influencer vetting, and brand monitoring.

#TikTok comment viewer vs scraper vs exporter

MethodBest forOutput
Comment viewerBrowsing and searching comments from one videoSearchable browser list
CSV exporterOne-off spreadsheet analysisDownloadable CSV
Comment scraper APIBulk extraction, monitoring, and product integrationsPaginated JSON

#Why export TikTok comments?

Here are the most common use cases:

#Sentiment analysis

Want to know how people feel about your brand, a competitor, or a product launch? Export the comments from relevant videos and run them through a sentiment analysis pipeline. You will get a clear read on positive, negative, and neutral sentiment that no dashboard metric can provide.

#Content ideas

TikTok comments are full of questions, requests, and suggestions. Export comments from your top-performing videos and look for patterns. What are people asking for? What confuses them? What do they want more of? These are direct content ideas from your audience.

#Competitor research

Export comments from competitor videos to understand their audience's pain points, complaints, and praise. This gives you positioning insights you cannot get any other way.

#Brand monitoring

Track how your brand is mentioned in comments across TikTok. Export comments from videos that mention your brand or product and monitor sentiment over time.

#Influencer vetting

Before partnering with a creator, export comments from their recent videos. Are the comments genuine or full of bot-like responses? Do their followers actually engage with the content? Comment quality tells you more about an influencer's audience than follower count.

#Academic research

Researchers studying social media behavior, content virality, or online discourse need comment data in structured formats for analysis. Exporting to CSV or JSON makes it possible to run statistical analysis, NLP, and other research workflows.

#What data do you get from exported TikTok comments?

Each exported comment includes:

FieldDescription
Comment textThe full comment content
Author usernameThe TikTok handle of the commenter
Author nicknameThe display name of the commenter
Like countNumber of likes on the comment
Reply countNumber of replies to the comment
TimestampWhen the comment was posted (ISO 8601)
Is pinnedWhether the video creator pinned this comment
Is author replyWhether the comment was written by the video creator
Parent IDParent comment identifier when the record is a reply

#Method 1: Use the free TikTok comment viewer and exporter

The fastest way to export TikTok comments is with the free TikTok Comments Tool on CreatorCrawl. No sign-up required for basic usage.

  1. Open the TikTok comment viewer
  2. Paste a TikTok video URL
  3. Load and search the comments
  4. Click Export CSV to download the loaded results

This is perfect for one-off exports when you just need comments from a single video.

#Method 2: Export TikTok comments with the API

For recurring exports, bulk analysis, or integration into your own tools, use the CreatorCrawl API.

#Setup

  1. Sign up for CreatorCrawl (50 free credits, no card required)
  2. Generate an API key from your dashboard

#Basic comment export

Python:

import requests

API_KEY = "your_api_key_here"
BASE_URL = "https://app.creatorcrawl.com/api"

video_url = "https://www.tiktok.com/@charlidamelio/video/7321456789012345678"

response = requests.get(
    f"{BASE_URL}/tiktok/video/comments",
    params={"url": video_url},
    headers={"x-api-key": API_KEY}
)

payload = response.json()
comments = payload["data"]
total = payload.get("page", {}).get("total", len(comments))
print(f"Total comments: {total}")

for comment in comments:
    print(f"@{comment['author']['handle']}: {comment['text']}")
    print(f"  Likes: {comment['like_count']} | Replies: {comment.get('reply_count', 0)}")

JavaScript:

const API_KEY = 'your_api_key_here'
const BASE_URL = 'https://app.creatorcrawl.com/api'

const videoUrl = 'https://www.tiktok.com/@charlidamelio/video/7321456789012345678'

const response = await fetch(
  `${BASE_URL}/tiktok/video/comments?url=${encodeURIComponent(videoUrl)}`,
  { headers: { 'x-api-key': API_KEY } }
)

const payload = await response.json()
const total = payload.page?.total ?? payload.data.length
console.log(`Total comments: ${total}`)

for (const comment of payload.data) {
  console.log(`@${comment.author.handle}: ${comment.text}`)
  console.log(`  Likes: ${comment.like_count} | Replies: ${comment.reply_count ?? 0}`)
}

#Export all comments with pagination

Most videos have more comments than a single API call returns. Use the cursor to paginate through all of them:

def export_all_comments(video_url):
    all_comments = []
    cursor = None

    while True:
        params = {"url": video_url}
        if cursor:
            params["cursor"] = cursor

        response = requests.get(
            f"{BASE_URL}/tiktok/video/comments",
            params=params,
            headers={"x-api-key": API_KEY}
        )

        response.raise_for_status()
        payload = response.json()
        batch = payload.get("data", [])
        page = payload.get("page", {})
        all_comments.extend(batch)

        print(f"Fetched {len(all_comments)} of {page.get('total', '?')} comments")

        if not page.get("has_more"):
            break
        cursor = page.get("cursor")

    return all_comments

comments = export_all_comments(
    "https://www.tiktok.com/@charlidamelio/video/7321456789012345678"
)
print(f"Exported {len(comments)} total comments")

#Save to CSV

Export your comments to a CSV file for analysis in Excel, Google Sheets, or a data tool:

import csv

def save_comments_to_csv(comments, filename="comments.csv"):
    with open(filename, "w", newline="", encoding="utf-8") as f:
        writer = csv.writer(f)
        writer.writerow([
            "username", "nickname", "comment", "likes",
            "replies", "timestamp", "pinned", "is_author_reply", "parent_id"
        ])

        for comment in comments:
            writer.writerow([
                comment["author"]["handle"],
                comment["author"]["name"],
                comment["text"],
                comment["like_count"],
                comment.get("reply_count", 0),
                comment["created_at"],
                comment.get("is_pinned", False),
                comment.get("is_author_reply", False),
                comment.get("parent_id"),
            ])

    print(f"Saved {len(comments)} comments to {filename}")

save_comments_to_csv(comments)

#Tips for analyzing exported TikTok comments

#Look at pinned comments and creator replies first

Pinned comments and replies written by the video creator often identify the threads that matter most. Filter for is_pinned == True or is_author_reply == True.

#Sort by like count for top reactions

The most-liked comments represent the strongest audience reactions. Sort your export by like_count descending to find the comments that resonated most.

#Track reply threads

Comments with high reply_count values indicate topics that sparked conversation. These are often the most valuable for understanding audience opinions.

#Run basic sentiment at scale

Export comments from multiple videos and use a simple sentiment library (like TextBlob for Python or Sentiment for Node.js) to score each comment. Aggregate scores give you a sentiment trend over time.

from textblob import TextBlob

positive, negative, neutral = 0, 0, 0

for comment in comments:
    sentiment = TextBlob(comment["text"]).sentiment.polarity
    if sentiment > 0.1:
        positive += 1
    elif sentiment < -0.1:
        negative += 1
    else:
        neutral += 1

total = len(comments)
print(f"Positive: {positive/total*100:.1f}%")
print(f"Negative: {negative/total*100:.1f}%")
print(f"Neutral: {neutral/total*100:.1f}%")

#Next steps

Now that you can export and analyze TikTok comments:

Get started with 50 free credits and start exporting TikTok comments today.

Explore CreatorCrawl

Try the free social media tools

Test transcripts, comments, profiles, channels, and tweets in your browser before moving to bulk API access.

More from the Blog

Takes 60 seconds

Add one line to your
MCP config. Ship today.

50 free credits. No card. Works with Claude, Cursor, Zed, and any MCP client.