Weibo Comment Replies API — A Full Reply Thread
Documentation menu
FetchLayer FetchLayer API

Read the replies to a comment

Every reply under one Weibo comment, oldest first, each naming the comment it answers. Take commentId from a comment’s id. 1 credit per 20 replies.

POST /comment-replies Posts & comments
https://api.fetchlayer.dev/weibo/comment-replies
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

commentId string required

A comment’s id, as post-comments returns it: digits only.

limit integer optional

Maximum replies returned, up to 500, or -1 for the maximum. Each 20 replies returned is 1 credit, minimum 1. (default: 20)

cursor string optional

Continue from a previous response’s nextCursor, passed back unchanged with the same request. It is bound to the request that issued it — the same post, comment, account, sort, tab, since and until — and anything else, including a cursor from another tool, is a 400 naming cursor.

format string optional

json or markdown, lowercase; any other value is a 400. Over MCP, markdown returns the result rendered as text; the REST API accepts it and returns JSON. (default: json)

timeoutMs integer optional

Time limit for the whole request, in milliseconds (1000–120000); a value outside that range is a 400. When it runs out, a paged request returns what it has with nextCursor, billed for the pages it read; a request with nothing to return yet fails with a 503 you can retry, marked with the response header X-Timeout-Source: caller.

Response Fields

comment-replies

Read the replies to a comment

transport string

The data source: always the platform id, "weibo".

scrapedAt string

When the result was produced (ISO 8601).

notes string[]

Caveats you can act on: a list that ends where Weibo stops showing more, long posts shortened in a list, paid placements left out. Empty when there are none. An empty result always comes with a note explaining it.

skippedRecords object[]

Records Weibo sent that could not be read, each as { id, reason, fieldsPresent }; id may be null. Normally empty. One unreadable record never costs the rest of the response or the cursor.

pagesFetched number

Full pages of results returned, minimum 1 — 20 comments or replies, 50 search posts, 48 media posts — which is what the request costs: one credit each.

commentId string

The comment the replies are under.

totalCount number

Weibo’s own reply count for the comment.

replies object[]

The replies, oldest first, in the comment shape. A comment with no replies returns an empty list with a note.

replies[].id string

The comment’s id, which comment-replies takes as commentId.

replies[].text string

The comment’s text.

replies[].createdAt string

When it was posted (ISO 8601, UTC).

replies[].postedFrom string | null

The province or country Weibo says the commenter posted from, or null.

replies[].likes number

Likes on the comment.

replies[].replyCount number | null

Replies under it in total; comment-replies reads them.

replies[].previewReplies object[]

The few replies Weibo shows inline under the comment, in the same shape. Usually fewer than replyCount.

replies[].replyToCommentId string | null

The comment this one answers, or null for a top-level comment.

replies[].rootCommentId string

The top-level comment of the thread it belongs to.

replies[].author.id string

The account’s numeric id, which user-profile and user-posts accept.

replies[].author.screenName string

The display name.

replies[].author.url string

Link to the profile.

replies[].author.avatarUrl string | null

Avatar image.

replies[].author.verified boolean

Whether Weibo shows a verification badge.

replies[].author.verifiedReason string | null

Weibo’s verification text, such as 新浪科技官方微博, or null.

replies[].author.followersCount number | null

Followers as an exact figure where Weibo publishes one here, else null. user-profile always has the exact figure.

replies[].author.followersCountText string | null

Followers as Weibo displays them, rounded (2380万 is 23.8 million).

replies[].floor number

Weibo’s position number for the comment in the thread, or 0 for a reply.

replies[].imageUrls string[]

Images attached to the comment.

replyCount number

How many replies are in this response.

hasMore boolean

Whether more replies exist beyond what was returned.

nextCursor string | null

An opaque token to pass back unchanged as cursor, with the same request, to continue where this response stopped. null when there is nothing further.

Request

curl -X POST "https://api.fetchlayer.dev/weibo/comment-replies" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"commentId":"5354375000365421"}'

Response

{
  "transport": "weibo",
  "skippedRecords": [],
  "scrapedAt": "2026-10-15T15:25:24.408Z",
  "notes": [],
  "pagesFetched": 1,
  "commentId": "5354375000365421",
  "totalCount": 10,
  "replies": [
    {
      "id": "5354420939262870",
      "text": "回复@KTBFFH刘少侠:这会下意识让该按的时候按慢了犹豫了不敢按了",
      "createdAt": "2026-10-15T12:05:42.000Z",
      "postedFrom": "福建",
      "likes": 0,
      "replyCount": null,
      "previewReplies": [],
      "replyToCommentId": "5354406438765771",
      "rootCommentId": "5354375000365421",
      "author": {
        "id": "7752365556",
        "screenName": "半岛铁壳202204",
        "url": "https://weibo.com/u/7752365556",
        "verified": false,
        "verifiedReason": null,
        "followersCount": 177,
        "followersCountText": "177"
      },
      "floor": 0,
      "imageUrls": []
    }
  ],
  "replyCount": 10,
  "hasMore": false,
  "nextCursor": null
}