Welcome to BusyBee — for business or API questions, use the Support button on the right

Fetching comments: use this one for raw entries

get_comments gives you the raw comment entries (who said what, how many likes, when). If what you want is a conclusion such as “sentiment split, share of questions, top phrases”, the comment insights tool gets you there in one step.

Parameter

ParameterRequiredValue
platformYestiktok / instagram / youtube / twitter / douyin / xiaohongshu
post_idYesPost id; the numeric id from a video URL also works
limitNoNumber of items; batch as needed — the call is synchronous, so do not pull too many at once

Raw entries vs conclusions: how to choose

For sentiment classification, keyword extraction or building a phrase library, use the raw entries and compute it yourself — the rules stay fully under your control. If you only need to know what the audience under a term is asking, use comment insights and save a round of post-processing and an extra call.

Nested replies

Nested replies on Douyin are one of this site's exclusive endpoint capabilities, and the response carries the level information; when you need the two-level A-B expansion, read it straight from the result instead of stitching it together.

Batch use

One post, one call. For batch analysis over dozens of posts, leave a 1–2 second gap to avoid tripping upstream rate limits; failed calls are refunded automatically and do not count as billable.

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": "tiktok", "post_id": "7690199760430566669", "limit": 20}'
Python (standard library)
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": "tiktok", "post_id": "7690199760430566669", "limit": 20}).encode(),
    headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
    method="POST",
)
data = json.load(urllib.request.urlopen(req, timeout=60))
for it in data["items"]:
    print(it.get("url"), it.get("text", "")[:60])

Real response sample

A real production response below — truncated to one item, billing fields removed.

{
  "ok": true,
  "platform": "tiktok",
  "tool": "get_comments",
  "count": 3,
  "items": [
    {
      "platform": "tiktok",
      "id": "7693873719371072278",
      "post_id": "7690199760430566669",
      "author": {
        "id": "7662430993471472662",
        "handle": "arturo_h19",
        "name": "Arturo Hlebov"
      },
      "text": "What makes it Spanish?",
      "likes": 31,
      "replies": 11,
      "created_at": "2026-10-07T10:40:33+00:00"
    },
    {
      "platform": "tiktok",
      "id": "7691731924267926280",
      "post_id": "7690199760430566669",
      "author": {
        "id": "6729605861440177158",
        "handle": "bubibat",
        "name": "bubibat"
      },
      "text": "The honey? the salt? the cinnamon??? Disastrous.",
      "likes": 136,
      "replies": 6,
      "created_at": "2026-10-01T16:08:21+00:00"
    },
    {
      "platform": "tiktok",
      "id": "7700520488221983495",
      "post_id": "7690199760430566669",
      "author": {
        "id": "6963131498518758401",
        "handle": "tempisunreachable",
        "name": "ِ"
      },
      "text": "In Saudi, this drink is pretty famous although it has nothing to do with the Spanish lol",
      "likes": 0,
      "replies": 0,
      "created_at": "2026-10-25T08:32:35+00:00"
    }
  ]
}

FAQ

What if the comments come back incomplete?
A public API reaches only what the platform shows publicly; hidden, collapsed or deleted comments are not available, through any channel.
Can it sort by likes?
Returned entries carry their own like counts; sort on your side, with whatever rule you choose (top 10 by likes, for example).
How is it different from comment insights?
This one returns raw entries; insights returns aggregated conclusions (sentiment distribution, share of questions, top phrases, most-liked comments).

Related

Comment insightsPost detailMine demand from commentsSetup guide

One key, six platforms

Same fields, same MCP endpoint — switching platform means changing one parameter. New accounts get $0.2 in credit.

View pricing Try it once