Open in ChatGPT
Coding with AI?
Connect your agent to our MCP and let it integrate any endpoint for you in one shot.

TikTok Video Comments

Get the top-level comments on a video, in TikTok’s default order, by video URL or numeric video ID. Returns each comment’s text, author, like and reply counts, and date, 50 per page.

Endpoint

GET /v1/tiktok/video/comments

Price: $0.006 per page Free tier: 50 requests/month

Parameters

Provide exactly one of url or video_id.

Parameter Required Description
url One required TikTok video URL, e.g. https://www.tiktok.com/@tiktok/video/7516594811734854943 (max 500 characters). Short links are accepted.
video_id One required Numeric TikTok video ID: the number at the end of a video URL.
pages No Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 50 comments.
get_sentiment No Set to true to add AI emotion analysis (Plutchik’s Wheel) to each result. Adds +$0.001 per page to the cost. Returns emotion scores, dominant emotion, intensity, and polarity.

Response Fields

Field Type Description
comments array Array of top-level comments, in TikTok’s default order
comments[].comment_id string Unique comment ID
comments[].video_id string ID of the video the comment is on
comments[].text string Comment text
comments[].images string[] Image URLs attached to the comment; usually empty
comments[].likes integer Number of likes
comments[].date string Publication date and time
comments[].date_timestamp integer/null Publication date as a Unix timestamp
comments[].author string Commenter’s TikTok username
comments[].author_name string Commenter’s display name
comments[].author_id string Commenter’s numeric user ID
comments[].author_avatar string Commenter’s avatar URL
comments[].author_url string Link to the commenter’s profile
comments[].author_verified boolean Whether the commenter is verified
comments[].author_bio string Commenter’s profile bio
comments[].author_region string 2-letter region code of the commenter
comments[].source string "TikTok"
comments[].domain string "tiktok.com"
comments[].reply_count integer Number of replies to the comment
comments[].sentiment object/null Emotion analysis results. Only present when get_sentiment=true. Returns null if analysis fails.
comments[].sentiment.emotions object Plutchik emotion scores (0-100) for: joy, trust, fear, surprise, sadness, disgust, anger, anticipation.
comments[].sentiment.dominant_emotion string The emotion with the highest score.
comments[].sentiment.emotional_intensity integer Overall emotional intensity on a scale of 0-10.
comments[].sentiment.polarity string Overall sentiment polarity: positive, negative, or neutral.
video_id string The video’s numeric ID
total integer Total number of comments on the video, as reported by TikTok
pages integer Number of pages returned
count integer Number of results returned

TikTok exposes roughly the first 450 comments of a video, however large total is. Use comment_id with Comment Replies to get a comment’s thread.

Example Request

cURL

curl "https://apidirect.io/v1/tiktok/video/comments?url=https://www.tiktok.com/@tiktok/video/7516594811734854943&pages=2" \
  -H "X-API-Key: YOUR_API_KEY"

Python

import requests

response = requests.get(
    "https://apidirect.io/v1/tiktok/video/comments",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={
        "url": "https://www.tiktok.com/@tiktok/video/7516594811734854943",
        "pages": 2
    }
)
print(response.json())

Example Response

{
  "comments": [
    {
      "comment_id": "7516998696283505430",
      "video_id": "7516594811734854943",
      "text": "Bring back the symphony trend rn",
      "images": [],
      "likes": 11379,
      "date": "2025-06-17 19:14:14",
      "date_timestamp": 1750187654,
      "author": "izzy_0104",
      "author_name": "Izzy",
      "author_id": "80504510963429376",
      "author_avatar": "https://p19-common-sign.tiktokcdn-us.com/.../avatar.jpeg",
      "author_url": "https://www.tiktok.com/@izzy_0104",
      "author_verified": false,
      "author_bio": "19",
      "author_region": "GB",
      "source": "TikTok",
      "domain": "tiktok.com",
      "reply_count": 6
    }
  ],
  "video_id": "7516594811734854943",
  "total": 4368,
  "pages": 2,
  "count": 100
}