Tiktok Comment Scraper avatar
Tiktok Comment Scraper

Pricing

$1.50 / 1,000 comments

Go to Apify Store
Tiktok Comment Scraper

Tiktok Comment Scraper

Developed by

Socia Vault

Socia Vault

Maintained by Community

Scrape comments from TikTok videos with automatic pagination support. Extract user comments, engagement metrics, and interaction data.

0.0 (0)

Pricing

$1.50 / 1,000 comments

1

2

2

Last modified

4 days ago

Scrape comments from TikTok videos using the SociaVault API. This actor retrieves detailed comment information including comment text, user details, likes, replies, and timestamps with automatic pagination support.

Features

  • Multiple Videos: Scrape comments from multiple TikTok videos in one run
  • Automatic Pagination: Automatically fetches multiple pages to get the exact number of comments you specify
  • Detailed Comment Data: Returns comprehensive information for each comment
  • Rate Limiting: Built-in delays to prevent API rate limiting
  • Error Handling: Graceful error handling with detailed logging

Input Parameters

ParameterTypeRequiredDefaultDescription
videoIdsArrayYes-List of TikTok video IDs
maxCommentsPerVideoIntegerNo20Number of comments to retrieve per video

Example Input

{
"videoIds": ["7488736374602927402", "7123456789012345678"],
"maxCommentsPerVideo": 100
}

Note: If you specify maxCommentsPerVideo: 100 with 2 video IDs, the scraper will fetch 100 comments for EACH video (200 total comments).

Output

For each video, the actor returns:

FieldTypeDescription
successBooleanWhether the request was successful
videoIdStringThe TikTok video ID that was scraped
totalCommentsNumberTotal number of comments the video has
commentCountNumberNumber of comments retrieved (up to maxCommentsPerVideo)
commentsArrayArray of comment objects

Comment Object

Each comment in the comments array contains:

  • aweme_id: Video ID the comment belongs to
  • text: Comment text content
  • user: User object with profile information
    • unique_id: TikTok username
    • nickname: Display name
    • uid: Unique user ID
    • sec_uid: Secondary unique ID
    • avatar_thumb: Profile picture URLs
  • create_time: Unix timestamp of when comment was created
  • digg_count: Number of likes on the comment
  • reply_comment_total: Number of replies to this comment
  • comment_language: Language of the comment (e.g., "en")

Example Output

{
"success": true,
"videoId": "7488736374602927402",
"totalComments": 925,
"commentCount": 100,
"comments": [
{
"aweme_id": "7488736374602927402",
"text": "This is awesome!",
"user": {
"unique_id": "cooluser123",
"nickname": "Cool User",
"uid": "7151557610473800750",
"sec_uid": "MS4wLjABAAAA...",
"avatar_thumb": { ... }
},
"create_time": 1743795517,
"digg_count": 784,
"reply_comment_total": 3,
"comment_language": "en"
}
]
}

Performance

  • Sequential Processing: Videos are processed one at a time (not in parallel) due to pagination requirements
  • Pagination Delays: 500ms delay between pagination requests
  • Video Delays: 1 second delay between different videos
  • Rate Limiting: Automatic delays prevent API rate limiting

Limitations

  • Maximum comments per request is determined by maxCommentsPerVideo parameter
  • Comments are returned in chronological order (newest first typically)
  • Nested replies are not included (only top-level comments)
  • Some videos may have comments disabled

Use Cases

  • Sentiment Analysis: Analyze comment sentiment for brand monitoring
  • Engagement Metrics: Track comment patterns and user engagement
  • Content Research: Understand audience reactions to content
  • Trend Analysis: Identify trending topics in comments
  • Influencer Analysis: Study comment engagement for influencer evaluation
  • Community Management: Monitor and analyze community feedback

Error Handling

The actor includes comprehensive error handling:

  • Invalid API key → Error with clear message
  • No video IDs provided → Error with instructions
  • API request failures → Logged and continued with other videos
  • Empty results → Logged with explanation

Failed videos return an error object in the dataset:

{
"success": false,
"videoId": "invalidvideoid",
"error": "Error message"
}

Built with ❤️ by SociaVault