~ / endpoints / Comment API

TikTok Comment Scraper API

Our TikTok comment scraper takes a video URL or numeric id and is built to return each comment as JSON: the text, like count, reply count, timestamp, and the author, paged with a cursor. Read the note below on TikTok's signature wall before you rely on it.

Get a free API keyBrowse the endpoints
1,000
free requests / mo
2.6s
median response
cursor
paged comments
JSON
structured output

Use it for

>

Sentiment analysis

Feed the comment text into an LLM or classifier to gauge how an audience reacted to a video or campaign.
>

Community management

Surface the most-liked comments per video so a social team can reply to what matters first.
>

Trend and feedback mining

Collect comments across a set of videos to spot recurring questions, requests, and product feedback.
>

Spam and brand-safety checks

Scan comment text and authors to flag spam or harmful replies under sponsored content.

Quickstart

cURL
curl "https://api.tiktokscraperapi.com/api/v1/tiktok/comments?url=https://www.tiktok.com/@scout2015/video/6718335390845095173&count=20&api_key=$API_KEY"
Python
import requests

BASE = "https://api.tiktokscraperapi.com/api/v1"
API_KEY = "YOUR_API_KEY"

# Pass the video url (or aweme_id), how many comments, and a cursor to page.
resp = requests.get(
    f"{BASE}/tiktok/comments",
    params={
        "url": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
        "count": 20,
        "cursor": 0,
        "api_key": API_KEY,
    },
    timeout=30,
)
data = resp.json()

# When the signed feed is available, iterate the comments array.
for c in data.get("comments", []):
    print(c["likes"], "|", c["author"]["uniqueId"], "|", c["text"])

Response

200 OK
{
  "aweme_id": "6718335390845095173",
  "url": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
  "socialPlatform": "tiktok",
  "comments": [
    {
      "position": 1,
      "id": "7361000000000000000",
      "text": "this is the cutest thing i have seen all week",
      "likes": 1240,
      "reply_count": 12,
      "create_time": 1564240000,
      "author": {
        "id": "6700000000000000000",
        "uniqueId": "exampleuser",
        "nickname": "Example User",
        "avatar": "https://p16-common-sign.tiktokcdn-us.com/...",
        "url": "https://www.tiktok.com/@exampleuser"
      }
    }
  ],
  "comments_count": 20,
  "total": 5756,
  "has_more": true,
  "next_cursor": 20
}
FieldTypeDescription
aweme_idstringThe numeric video id the comments belong to.
urlstringThe canonical video URL.
commentsarrayThe comments on this page. Each has position, id, text, likes, reply_count, create_time, and an author object.
comments[].textstringThe comment body.
comments[].likesintegerNumber of likes on the comment.
comments[].reply_countintegerNumber of replies to the comment.
comments[].authorobjectThe commenter: id, uniqueId, nickname, avatar, and url.
comments_countintegerNumber of comments returned on this page.

How it works

  1. Send a GET request with your target and API key.
  2. We route through residential proxies, handle anti-bot, and parse the response.
  3. You get validated JSON back, ready to use.

How it compares

Our APIDIY (requests / headless)TikTok official API
Input by video URLYes, url or aweme_idManual XHR with signed paramsNot exposed to general devs
Comment text and likesMapped rows when authorisedYou mint the signature yourselfNo public comment endpoint
Signature wallReported honestly, not fakedYou solve X-Bogus / msTokenNot applicable
PaginationCursor built inHand-managed cursorsNot applicable
Anti-bot and proxiesBuilt in, US residentialYou build and maintain itNot applicable
OutputFlat JSON, stable schemaRaw XHR JSON you parseNot available

Pricing

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a TikTok comment scraper?

A TikTok comment scraper is a tool that reads the comments on a public video and returns them in a structured format. Our TikTok comment scraper API is built to take a video URL or numeric id and return each comment as JSON, with the text, like count, reply count, timestamp, and author, paged with a cursor.

Can it always return TikTok comments logged out?

Not reliably, and we are upfront about it. TikTok serves comments through a web XHR that requires a browser-minted X-Bogus and msToken signature tied to session cookies. Logged-out residential egress without that signature receives an empty 200, so the endpoint returns a classifiable comments_gated_needs_signature response in that case rather than pretending to have comments.

What does the endpoint return when comments are gated?

It returns an honest error state, comments_gated_needs_signature, with detail noting that TikTok's comment/list XHR needs a browser-minted signature and that a render or browser tier is required to mint it. The hop itself (id resolution, the full web-app parameter block, pagination, and response mapping) is implemented correctly, so it returns populated rows wherever the signed response is available.

What fields come back for each comment?

When authorised, each comment returns position, id, text, likes, reply_count, create_time, and an author object with id, uniqueId, nickname, avatar, and url. The top-level response adds comments_count, total, has_more, and next_cursor for pagination.

How do I page through all the comments on a video?

Set count for the page size and pass cursor starting at 0. Each response returns next_cursor and has_more; pass next_cursor back as cursor on the following call and stop when has_more is false. This is the same cursor model TikTok's own feed uses.

Is scraping TikTok comments legal?

Comments on a public video are public content, but you remain responsible for using the data lawfully, including any personal data in usernames or comment text under GDPR and similar laws, and for following TikTok's terms. This is general information rather than legal advice, so check your specific use case with counsel.

Get comment api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints