TikTok Comments Scraper avatar

TikTok Comments Scraper

Under maintenance

Pricing

from $1.00 / 1,000 comments

Go to Apify Store
TikTok Comments Scraper

TikTok Comments Scraper

Under maintenance

Collect 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

Always Prime

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

๐Ÿ’ฌ TikTok Comments Scraper

Pull every public comment from any TikTok video into clean, structured data โ€” JSON, CSV, or Excel โ€” in seconds. โšก

Built on Apify Python JSON ยท CSV ยท Excel

โœจ 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

  1. Click "Try for free" on the Apify Store page.
  2. Paste your TikTok video URLs into the Video URLs field โ€” one per line.
  3. Press Start. Watch the live log; comments stream into the dataset as they're collected.
  4. 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

FieldTypeDefaultDescription
videoUrlsstring[]โ€” requiredList of TikTok video URLs or numeric video IDs. Accepts https://www.tiktok.com/@user/video/<id>, plain <id>, or any URL containing /video/<id>.
maxCommentsPerVideointeger100Stop scraping each video after this many top-level comments. Set 0 for no per-video cap.
maxItemsinteger0Hard cap on total comments across all videos. 0 disables the global cap. Use to control pay-per-result spend.
sincedatetimeโ€”ISO timestamp like 2026-04-01T00:00:00Z. Skips comments older than this. Use for incremental re-runs.
concurrencyinteger3How 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

AudienceWhat they do with it
๐Ÿ›๏ธ Brand & social teamsTrack sentiment on competitor posts. Catch complaints early. Find what audiences love (or hate) about your campaigns.
๐Ÿค Influencer agenciesVet creators by reading actual comment quality โ€” not just like counts. Spot bot-engagement patterns.
๐Ÿ“ˆ Market researchMine emerging trends, slang, product mentions, and audience demographics from comment streams.
๐ŸŽฏ Performance marketersFind high-intent buyers who actively engage with niche-relevant content; build look-alike audiences.
๐ŸŽ“ Academic researchersDiscourse analysis, language datasets, network science on social engagement patterns.
๐Ÿค– ML/NLP teamsBuild labeled training data for sentiment, topic, hate-speech, or recommendation models.

๐Ÿ’ก Tips & tricks

  • Start with maxItems: 100 to 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 since for 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.

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 since filter
  • Per-comment record with author profile, engagement, language, timestamps
  • JSON, CSV, and Excel exports
  • Built-in deduplication by comment id