TikTok Comments Scraper - $0.25/1k, No Login avatar

TikTok Comments Scraper - $0.25/1k, No Login

Pricing

Pay per event

Go to Apify Store
TikTok Comments Scraper - $0.25/1k, No Login

TikTok Comments Scraper - $0.25/1k, No Login

The reply threads under a TikTok comment are not returned; the top-level comments are: text, like count, reply count, the commenter's handle, timestamp and any attached images. No login needed from you. $0.25 per 1,000 comments plus $0.001 per run.

Pricing

Pay per event

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

1

Monthly active users

2 days ago

Last modified

Share

TikTok Comments Scraper

Paste TikTok video URLs (or bare video IDs) and get the comments back as flat rows: the text, like count, reply count, the commenter's handle and avatar, the timestamp, and any images attached to the comment. It reads the same endpoint the app calls when you scroll a comment section, so nothing has to sign in and no proxy is involved.

$0.25 per 1,000 comments ($0.00025 each), plus $0.001 when a run starts. Flat on every plan.

What a row looks like

Straight from a live run:

{
"ok": true,
"type": "comment",
"id": "7654354166756786974",
"videoId": "7654341587425692942",
"text": "can you guys stop with this…? it's genuinely so annoying.",
"likeCount": 795,
"replyCount": 50,
"createTime": "2026-06-22T22:43:50.000Z",
"images": ["https://p19-common-sign.tiktokcdn-us.com/…jpeg"],
"user": {
"id": "7120272306254857262",
"uniqueId": "ry_st.johnn",
"nickname": "ryan🎸",
"avatar": "https://p19-common-sign.tiktokcdn-us.com/…jpeg"
}
}

images is TikTok's comment-sticker or image reply, and it's an empty array on most comments.

Top-level comments only

This returns the comments on the video. It does not walk into the reply threads underneath them.

replyCount tells you how many replies a comment has. The row above says 50, and none of those 50 come back as rows. If you need the threads themselves, this isn't the actor for it.

Input

FieldNotes
videoUrlsTikTok /video/ URLs.
videoIdsOr the bare numeric IDs, if you already have them.
maxCommentsTotal across every video in the run. Default 100, max 5000.
sessionCookiesOptional. See below.
proxyConfigurationOptional and off. You don't need one.
{
"videoUrls": [
"https://www.tiktok.com/@tiktok/video/7654341587425692942"
],
"maxComments": 500
}

maxComments is a total, not a per-video number, and it's split evenly across the videos you pass. Ten videos with maxComments: 500 means roughly 50 from each, not 500 from each. That's also your cost ceiling for the run, which is the point of it.

If you start hitting rate limits

Most runs never do. Comment sections are pulled keyless and TikTok is fairly relaxed about it until you're working through a long list of videos in one go.

When that happens, sessionCookies takes your own TikTok sessionid values, one per line, and the run rotates through them on a quota nobody else is sharing. You copy one from a logged-in tiktok.com tab in Chrome under F12 → Application → Cookies.

It's entirely optional, and a cookie that has expired costs you nothing: the run drops back to the keyless path instead of failing.

Billing

$0.00025 per comment actually delivered, plus the $0.001 start fee.

Duplicates are dropped before charging. Blocked videos, videos with comments turned off, and runs that return nothing write an ok: false row carrying BLOCKED, RATE_LIMITED or NO_RESULTS and cost nothing per comment — an empty run costs the $0.001 start fee. No proxy runs by default, so there's no proxy line on your bill either.

Limits

  • Public videos only.
  • Top-level comments, as above. No reply threads.
  • Very large comment sections stop at whatever maxComments you set, and there's an internal page guard, so don't expect to exhaust a video with a million comments in one run.
  • Comment order is TikTok's own, which is roughly engagement-ranked rather than chronological.