Home · Resources · Douyin Comments API

Douyin Comments API

Give it a video id, get back the comment text, the commenter, likes, how many replies that comment has, and the time. No cookies, no proxy pool, no login state to maintain.

Parameters

ParamRequiredValue
platformyesdouyin
post_idyesthe video id, or just paste the numeric id from a share link
limitnorows to return, default 20

What you get

items[] with id, post_id, author (id / handle / name), text (raw text including platform emoji tokens), likes, replies (number of replies under that comment) and created_at. Identical schema on Xiaohongshu and TikTok, so one parser covers all three.

Three things that trip people up

Copy and run

cURL
curl -s https://lucydomi.com/mcp/v1/get_comments \
  -H "Authorization: Bearer $BUSYBEE_API_KEY" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{"platform": "douyin", "post_id": "7695994014143952488", "limit": 20}'
Python (stdlib, no dependencies)
import os, json, urllib.request

KEY = os.environ["BUSYBEE_API_KEY"]
req = urllib.request.Request(
    "https://lucydomi.com/mcp/v1/get_comments",
    data=json.dumps({"platform": "douyin", "post_id": "7695994014143952488", "limit": 20}).encode(),
    headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
    method="POST",
)
data = json.load(urllib.request.urlopen(req, timeout=60))
for c in data["items"]:
    print(c["likes"], c["replies"], c["text"][:40])

Real response sample

Taken from a real production call; truncated, image/signed URLs removed.

{
  "ok": true,
  "platform": "douyin",
  "tool": "get_comments",
  "count": 2,
  "items": [
    {
      "id": "7701278513756881700",
      "author": {"handle": "bxn0817", "name": "\u5c0f\u6cfd"},
      "text": "\u7ea6\u4e2a\u642d\u5b50\u4e00\u8d77\u53bb\uff0c\u5973\u751f",
      "likes": 0,
      "replies": 2,
      "created_at": "2026-10-27T09:33:55+00:00"
    },
    {
      "id": "7696029307102069553",
      "text": "\u6536\u95e8\u7968\u5417\uff0c\u8fc7\u5e74\u7684\u65f6\u5019\u60f3\u53bb\u73a9",
      "likes": 10,
      "replies": 7,
      "created_at": "2026-10-13T06:04:18+00:00"
    }
  ]
}

FAQ

Can I page through all comments?
Raise limit, but upstream caps a single response. Full history means segmented pulls over time — tell us the volume if you need deep backfill.
Do I need cookies or proxies?
No. Your API key is the identity; rate limiting and egress are handled server-side.
Am I charged for failed calls?
No. You are only billed when data is returned.
How is this different from comment insights?
This returns raw comments. Comment insights returns the conclusion: sentiment split, question ratio, top phrases, top-liked comments.

Related

Comment insightsKeyword searchDouyin dataIntegration guideQuick start

One key, six platforms

Same schema, same MCP endpoint, one parameter to switch platforms. Sign-up credit included, failed calls are free.

See pricing Try it first