Tiktok Comments Scraper
Pricing
$2.50 / 1,000 result-items
Tiktok Comments Scraper
Extract TikTok comments without limit. Extract valuable insights from TikTok comments at scale with our powerful, reliable, and easy-to-use scraping solution.
Pricing
$2.50 / 1,000 result-items
Rating
5.0
(1)
Developer
Goldmine
Maintained by CommunityActor stats
1
Bookmarked
131
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
π¬ TikTok Comments Scraper β Extract Comments & Replies from Any TikTok Video

Extract comments and replies from any public TikTok video at scale. Give this Apify Actor one or more video URLs and it returns clean, structured JSON for every comment β text, author, like counts, reply threads, timestamps, and language β ready for sentiment analysis, trend research, or brand monitoring.
π Key Features
- π₯ Bulk extraction β scrape comments from multiple TikTok videos in a single run
- π§΅ Reply threads included β optionally collect up to 50 replies per comment, nested under their parent
- ποΈ Volume control β set the maximum comments per video (up to 10,000) and replies per comment
- π Built-in residential proxies β reliable access to TikTok out of the box, no proxy setup needed
- πΌοΈ Rich metadata β user nicknames and IDs, avatars, like counts, comment images, timestamps, language
- π€ Multiple export formats β JSON, CSV, Excel, XML via the Apify dataset
- π€ AI-agent ready β callable from LLM agents through Apify's MCP server and REST API
π‘ Common Use Cases
- Market research β analyze audience sentiment and trends around products or creators
- Competitor analysis β monitor engagement and audience feedback on competitor content
- Content strategy β identify popular topics and trending discussions
- Brand monitoring β track mentions and customer feedback in comment sections
- Academic research β collect social media discussion data for studies
π₯ Input Configuration
| Field | Type | Description | Default |
|---|---|---|---|
urls | Array of URLs | TikTok video URLs to scrape comments from. | Required |
max_comments | Integer | Maximum number of comments to scrape per video (1β10,000). | 50 |
include_replies | Boolean | Whether to also scrape replies for each comment. | true |
max_replies_per_comment | Integer | Maximum number of replies to scrape per comment (1β50). | 10 |
Example Input
{"urls": ["https://www.tiktok.com/@cleafmiel/video/7606624566395292950"],"max_comments": 50,"include_replies": true,"max_replies_per_comment": 10}
π€ Output
Each dataset item is one comment, with its replies nested inside.
| Field | Type | Description |
|---|---|---|
text | String | The comment text. |
cid | String | Unique comment ID. |
aweme_id | String | ID of the TikTok video the comment belongs to. |
create_time | Integer | Unix timestamp of when the comment was posted. |
comment_language | String | Detected language code of the comment (e.g. en). |
nickname | String | Display name of the comment author. |
unique_id | String | Author's TikTok handle. |
user_avatar_urls | Array | Author avatar image URLs (signed TikTok CDN links). |
digg_count | Integer | Number of likes on the comment. |
reply_comment_total | Integer | Total number of replies the comment has on TikTok. |
replies_scraped | Integer | Number of replies actually collected for this comment. |
author_pin | Boolean | Whether the video author pinned this comment. |
has_images | Boolean | Whether the comment has attached images. |
image_list | Array | null | Attached comment images with crop_url and origin_url variants (dimensions + URL list). |
replies | Array | Nested reply comments β same fields as above, plus reply_to_reply_id for threading ("0" = direct reply to the comment). |
Example Output (one dataset item)
{"text": "the invisible camera","comment_language": "en","digg_count": 165183,"reply_comment_total": 398,"author_pin": false,"create_time": 1756456274,"cid": "7543922193948803873","nickname": "wedi_Americaπͺπ·π₯·","unique_id": "wedi_america","aweme_id": "7543692085564656918","has_images": true,"image_list": [{"crop_url": {"height": 1101,"width": 1080,"url_list": ["https://p16-comment-sign-va.tiktokcdn.com/.../image-medium.jpeg?..."]},"origin_url": {"height": 1101,"width": 1080,"url_list": ["https://p16-comment-sign-va.tiktokcdn.com/.../image-origin.jpeg?..."]}}],"user_avatar_urls": ["https://p19-common-sign-useastred.tiktokcdn-eu.com/.../100:100.jpg?..."],"replies": [{"text": "HAHAHAHAHA πππππππππ","comment_language": "tl","digg_count": 859,"create_time": 1756622764,"cid": "7544637290166731540","nickname": "pyuuu","unique_id": "pyuuudump","reply_to_reply_id": "0","has_images": false,"user_avatar_urls": ["https://p16-sign-sg.tiktokcdn.com/.../100:100.jpg?..."]},{"text": "hello","comment_language": "en","digg_count": 22,"create_time": 1756680174,"cid": "7544881793590887184","nickname": "Milk Berry26","unique_id": "milkberry2457","reply_to_reply_id": "7544637290166731540","has_images": false,"user_avatar_urls": ["https://p16-sign-va.tiktokcdn.com/.../100:100.jpg?..."]}]}
Image and avatar URLs are TikTok CDN links signed with an expiry β download them promptly if you need the media itself. (URLs above are shortened for readability.)
You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML directly from the Apify Console, or pull it via the Apify API.
π οΈ How to Use
- Input β paste one or more TikTok video URLs
- Configure β set
max_commentsper video and whether to include replies - Run β start the Actor and watch comments stream into the dataset
- Export β download the data in your preferred format, or fetch it via API
β FAQs
What does this Actor scrape?
Comments and (optionally) their reply threads from public TikTok videos, with author info, like counts, timestamps, language, and attached images.
Do I need a TikTok account, login, or cookies?
No. The scraper works with public TikTok videos out of the box.
Do I need to configure proxies?
No β the Actor uses Apify residential proxies automatically for reliable access.
How many comments can I get per video?
Up to 10,000 per video via the max_comments input. The default is 50.
Are replies included?
Yes, by default. Each comment carries a nested replies array (up to max_replies_per_comment, max 50). Set include_replies to false to skip them and speed up runs.
How do I turn a run into ongoing monitoring?
Schedule the Actor in the Apify Console to run hourly, daily, or weekly against the same URLs, and compare datasets between runs.
Can I integrate it with my own tools or AI agents?
Yes β every Apify Actor exposes a REST API and webhooks, integrates with Zapier, Make, Google Sheets, and Slack, and can be called by LLM agents through Apify's MCP server.
Is it legal to scrape TikTok comments?
This scraper accesses only publicly available comments. You're responsible for ensuring your specific use case complies with TikTok's terms of service and applicable laws (including privacy laws) in your jurisdiction. If you're unsure, consult a lawyer.
π Related Tools
π· Image Credit
Image credit: tiktok.com
π¬ Contact & Support
- Email: coredev.dan@gmail.com
- Found a bug or need a new field? Reach out anytime β we ship fixes fast.
- Support us: If this scraper saves you time, please leave a β rating on the Apify Store. It helps a lot!