TikTok Video Comments Scraper avatar

TikTok Video Comments Scraper

Pricing

from $1.98 / 1,000 comment results

Go to Apify Store
TikTok Video Comments Scraper

TikTok Video Comments Scraper

Scrape TikTok video comments by URL: text, author, likes, and timestamps. Paginate large threads, batch multiple videos, export JSON/CSV, and schedule monitoring runs.

Pricing

from $1.98 / 1,000 comment results

Rating

0.0

(0)

Developer

Social Fetch

Social Fetch

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

Share

Reading comments by hand doesn't scale past one viral post, and browser-based comment crawlers bill you for every scroll. Paste video links and get up to 5,000 top-level comments — text, author, likes, and timestamps — as one row each, at a flat $1.98 per 1,000.

Every top-level comment from public TikTok videos — text, author, likes, and timestamps, one row per comment.

🔥 $1.98 per 1,000 rows · up to 5,000 comments per run · ⚡ API-based — no browser, no proxies · integration guide

💡 Why this scraper

  • 💵 Flat $1.98 per 1,000 rows — about 80% below typical TikTok scrapers on the Store, with platform API usage included in the price.
  • API calls, not browser automation — no headless Chrome to babysit, no proxies to rent, no cookies or logins. Runs start fast and fit in 256–512 MB of memory.
  • 📦 Structured rows, every time — each dataset row is the same Social Fetch API envelope (data, meta, and lookupStatus where applicable), so your parsing never breaks when TikTok redesigns its UI.
  • 🔁 Nothing locked to Apify — the same endpoint is available on the Social Fetch API with an sfk_ key when you outgrow Actor runs.

New to Social Fetch on Apify? The integration guide has screenshots, the actor catalog, and troubleshooting.

🎯 What can you do with it

You needGive the ActorYou get
Score sentiment around a brandLinks to posts mentioning you (or a rival)Raw comment text ready for sentiment analysis
Understand an audienceYour niche's viral videosWhat real viewers ask, love, and complain about
Find engaged usersYour own or competitor videosCommenter handles with like counts to rank by traction
Mine social proof and UGCTop-performing product videosQuotable comments with author attribution

📦 Data you get

Per comment

  • Comment text and like count
  • Created timestamp

Author

  • Handle and display name
  • Avatar URL

Run metadata

  • Video URL reference (inputUrl) on every row
  • Total comment count per video

🚀 Quick start

  1. Fill in the Input below — sample values are pre-filled.
  2. Click Start and wait for the run to finish.
  3. Open the Dataset tab and export as JSON, CSV, or Excel.

🧪 Input recipes

  • videoUrls — public TikTok video links
  • maxCommentsPerVideo — cap comments per URL (up to 5,000 total rows per run)

Sample the conversation

Skim the top of the thread before committing to a deep pull.

{
"videoUrls": [
"https://www.tiktok.com/@nike/video/7587811642650545421"
],
"maxCommentsPerVideo": 100
}

Deep pull for sentiment analysis

Raise the cap for full-thread exports — the run never exceeds 5,000 rows in total.

{
"videoUrls": [
"https://www.tiktok.com/@nike/video/7587811642650545421"
],
"maxCommentsPerVideo": 2000
}

📤 Example output

{
"data": {
"lookupStatus": "found",
"comments": [
{
"id": "7587824764670083847",
"text": "People still compare this to angel Reese 🥀",
"createdAt": "2025-12-25T15:55:32.000Z",
"likes": 81,
"replyCount": 4,
"language": "en",
"author": {
"handle": "ben_archer5",
"displayName": "ben_archer",
"avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/musically-maliva-obj/1594805258216454~tplv-tiktokx-cropcen…",
"platformUserId": "7438969898733405239",
"secUid": "MS4wLjABAAAAHrPdcmOR158hjBDARhWeVXL36u-vVGVWtIv4sXC9djhb_RH8KQ8am13GmrWozQ8O"
}
},
{
"id": "7587820434877137695",
"text": "Holy moly! The best commercial! 🔥🔥🔥🔥",
"createdAt": "2025-12-25T15:39:39.000Z",
"likes": 263,
"replyCount": 1,
"language": "en",
"author": {
"handle": "leobenz74",
"displayName": "LeoBenz74",
"avatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/95271ec1ffdb3f120d967fe3c7978e01~…",
"platformUserId": "6811167406448296965",
"secUid": "MS4wLjABAAAAbxeNlS4ISo1JY3mq0qAg_WG-Ju9RrbMx0abQTmIPJLXQ8HsHp9M0RuOcUwFYxeej"
}
}
],
"page": {
"nextCursor": "20",
"hasMore": true
},
"totalComments": 271
},
"meta": {
"requestId": "req_06b2ef8c-b3de-49e1-abaf-f3aadb6738f1",
"version": "v1"
}
}

Rows may include data.lookupStatus (found, not_found, or private). Completed lookups are billed, including not_found.

💵 Pricing & cost control

Cost per 1,000 comments
TikTok Video Comments Scraper$1.98
Typical TikTok scrapers on Apify$10.00

Roughly 80% less than many TikTok comment scrapers on the Store — structured API data behind every row.

Keeping costs predictable

  • Pay-per-event pricing: you pay for results, not platform usage — no compute or proxy surcharges on top.
  • Use maxCommentsPerVideo as a per-link spend cap; the run also stops at 5,000 rows in total.
  • Completed lookups are billed even when the result is not_found or private — the work was done, and the row tells you why.

🔗 Wire it up

Works with Make, Zapier, n8n, Apify webhooks, and scheduled runs — or call the Social Fetch API directly.

🛠️ Troubleshooting

SymptomWhat's happening
A row says "lookupStatus": "not_found"The TikTok content doesn't exist, was deleted, or the input has a typo. The lookup completed, so the row is billed — it echoes the input value so you can spot the culprit.
Links you know exist come back not_foundCheck the URL format against the recipes above — this Actor expects full tiktok.com/@handle/video/… links.
Run fails with No dataset items were producedThe input list was empty or no lookups completed. Copy a recipe above and swap in your own values.

❓ FAQ

  • Do I need a Social Fetch API key? No — your Apify token is enough. Never paste an sfk_ key into Actor input.
  • Why was I charged for not_found? The lookup completed, but TikTok did not return that profile, video, or post. That still counts as a billable dataset row.
  • How does billing work? One dataset row per comment returned. The run stops at the global row cap across all video URLs.
  • Are replies included? This Actor returns top-level comments, one row each.
  • Is it legal to scrape TikTok? This Actor reads only publicly available data — no logins, no private accounts, nothing beyond what TikTok shows any visitor. How you store and use the data is your responsibility; review TikTok's terms and the laws that apply to your use case.

🤝 Support & more