TikTok Comments Scraper
Under maintenancePricing
from $1.00 / 1,000 comments
TikTok Comments Scraper
Under maintenanceCollect every public top-level comment from one or many TikTok videos as structured JSON, CSV, or Excel. Pay only for comments delivered.
Pricing
from $1.00 / 1,000 comments
Rating
0.0
(0)
Developer
Always Prime
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
๐ฌ TikTok Comments Scraper
Pull every public comment from any TikTok video into clean, structured data โ JSON, CSV, or Excel โ in seconds. โก
โจ What you get
๐ฏ Every public top-level comment โ handle, nickname, comment text, likes, replies, timestamps, language, pinned status, author profile URL.
๐ Multiple videos in one run โ feed it a list of URLs, get one consolidated dataset back.
๐งน Clean, flat records โ ready to drop into a sheet, a database, or a notebook. No HTML, no nested noise.
๐ช Pay-per-result pricing โ you only pay for the comments you actually receive. Predictable, capped via maxItems.
๐ Incremental refresh mode โ re-run with since to pick up only the new stuff. No re-scraping the whole comment list.
๐ฆ Three export formats โ JSON, CSV, and Excel, all generated automatically.
๐ Quick start
- Click "Try for free" on the Apify Store page.
- Paste your TikTok video URLs into the Video URLs field โ one per line.
- Press Start. Watch the live log; comments stream into the dataset as they're collected.
- Download the dataset in JSON, CSV, or Excel from the run page.
That's it. No accounts, no API keys, no signing up to anything else.
๐ฅ Input
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | string[] | โ required | List of TikTok video URLs or numeric video IDs. Accepts https://www.tiktok.com/@user/video/<id>, plain <id>, or any URL containing /video/<id>. |
maxCommentsPerVideo | integer | 100 | Stop scraping each video after this many top-level comments. Set 0 for no per-video cap. |
maxItems | integer | 0 | Hard cap on total comments across all videos. 0 disables the global cap. Use to control pay-per-result spend. |
since | datetime | โ | ISO timestamp like 2026-04-01T00:00:00Z. Skips comments older than this. Use for incremental re-runs. |
concurrency | integer | 3 | How many videos to scrape in parallel. Range 1โ8. Lower if hit by rate limits, higher on premium proxies. |
๐ค Sample output
{"url": "https://www.tiktok.com/@nike/video/7631536776661765389","id": "7631763288914133776","videoId": "7631536776661765389","videoUrl": "https://www.tiktok.com/@nike/video/7631536776661765389","text": "Supporting that ballroom wow I love Brooks best running shoes ever!","createdAt": "2026-04-21T18:39:42Z","likeCount": 45,"replyCount": 2,"isPinned": false,"isAuthorPinned": false,"isLikedByAuthor": true,"language": "en","parentCommentId": null,"images": [],"user": {"id": "7324198047750980613","uniqueId": "jennicwo46s","nickname": "JenniC","secUid": "MS4wLjABAAAAO2o-FYv8q-XwUL0hQRYrbwjCm04E3mg5Tq8VQJ1SNkxJdgWefQ1dJRLg6oMH-v5D","avatarUrl": "https://p16-common-sign.tiktokcdn.com/...avatar.jpg","verifiedReason": null,"profileUrl": "https://www.tiktok.com/@jennicwo46s"},"scrapedAt": "2026-05-10T12:34:56Z"}
๐ผ Use cases
| Audience | What they do with it |
|---|---|
| ๐๏ธ Brand & social teams | Track sentiment on competitor posts. Catch complaints early. Find what audiences love (or hate) about your campaigns. |
| ๐ค Influencer agencies | Vet creators by reading actual comment quality โ not just like counts. Spot bot-engagement patterns. |
| ๐ Market research | Mine emerging trends, slang, product mentions, and audience demographics from comment streams. |
| ๐ฏ Performance marketers | Find high-intent buyers who actively engage with niche-relevant content; build look-alike audiences. |
| ๐ Academic researchers | Discourse analysis, language datasets, network science on social engagement patterns. |
| ๐ค ML/NLP teams | Build labeled training data for sentiment, topic, hate-speech, or recommendation models. |
๐ก Tips & tricks
- Start with
maxItems: 100to see what the data looks like before doing a big run. The first record alone tells you whether the fields you need are there. - Use
sincefor daily refreshes. Set it to the timestamp of your last run; the scraper skips everything older. Cuts re-scraping costs to zero on stable videos. - For very viral videos (10k+ comments), consider running them one-at-a-time with
concurrency: 1โ you'll get cleaner runs and avoid rate-limit retries. - Batch your URL list. A single run with 100 URLs is more cost-efficient than 100 runs with 1 URL each.
โ FAQ
Q: Are reply threads included?
A: This run captures top-level comments only. Each record carries replyCount so you know how many replies exist. Reply-thread collection is on the roadmap (see Changelog).
Q: What about comments from private or restricted accounts? A: The scraper only sees what's publicly accessible on the TikTok web frontend. Private accounts, age-restricted videos, and geo-restricted videos are out of scope.
Q: Can I scrape comments without a TikTok login? A: Yes. This actor doesn't require any TikTok login or token from you.
Q: What if a video has 50,000 comments?
A: Use maxCommentsPerVideo to cap it. Scraping the full tail of a viral video takes time and money โ sample what you need.
Q: Why is the avatar URL not loading after a day?
A: TikTok signs CDN URLs with an x-expires query param. Avatars typically stop loading ~24h after the run. Re-scrape, or save your own copy at run time if you need them long-term.
Q: Can I resume a failed run?
A: Apify retains the dataset across run attempts. Re-run with since set to the last scrapedAt you saw, and de-dupe on id in your downstream pipeline.
โ๏ธ Legal
This actor scrapes only publicly accessible content from TikTok video pages โ the same data that any unauthenticated visitor can read. You are responsible for using the resulting data in compliance with TikTok's Terms of Service, the GDPR, the CCPA, and any other laws or platform rules that apply to you. Comments are user-generated content and may contain personal data; treat them as PII when storing or processing. If you publish or republish scraped data, attribute it to TikTok and to the original commenters per the platform's content rules.
๐ Changelog
v0.1 โ initial release
- Top-level comment extraction across one or many TikTok videos
- Per-video and global item caps
- Incremental mode via
sincefilter - Per-comment record with author profile, engagement, language, timestamps
- JSON, CSV, and Excel exports
- Built-in deduplication by comment id