> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get WeChat MP Comment Replies

> Get WeChat MP Comment Replies

Get WeChat MP Comment Replies

**Pricing** — billed per successful call; the final charge scales by your plan multiplier. Charged only when the upstream response body `code` is `200`.

<Note>
  Response structure is not yet fully documented — **refer to the actual API response**.
</Note>

## Example

```bash theme={null}
curl -X POST "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'  # see request schema below
```


## OpenAPI

````yaml openapi/tikhub.json POST /tikhub/wechat_mp/v2/fetch_comment_replies
openapi: 3.0.0
info:
  title: TikHub API
  description: >-
    Multi-platform social media data — Douyin, TikTok, Bilibili, Kuaishou,
    Weibo, Xiaohongshu, Zhihu, and commercial (Xingtu/Huahuo/Billboard)
    endpoints.
  version: 1.0.0
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - bearerAuth: []
paths:
  /tikhub/wechat_mp/v2/fetch_comment_replies:
    post:
      tags:
        - TikHub - Wechat_mp
      summary: Get WeChat MP Comment Replies
      description: >-
        WeChat Official Accounts (v2). Pricing and billing notes describe the
        upstream provider. Use the AIsa price quote for gateway calls.


        ### Purpose

        - Get the second-level replies under a first-level comment.

        - Chain: first call `fetch_article_comments` to get each comment's
        `content_id`, then feed it into this endpoint.

        - ⏱️ Due to WeChat server latency, this endpoint responds slowly; please
        set your client request timeout to 30 seconds — a timeout that is too
        small may result in being billed without receiving the response.

        - ⚠️ Large-integer ID precision: IDs such as `content_id` / `reply_id`
        in the response are 64-bit big integers beyond JavaScript's safe-integer
        range (2^53-1). Always receive / pass such IDs as **strings** (parse
        JSON with json-bigint or read them as text), never through JS `Number`.
        Swagger UI rounds the trailing digits of huge integers in its docs view
        — this is expected and does not affect the actual data returned by the
        API.


        ### Parameters

        - url: WeChat MP article URL (`https://mp.weixin.qq.com/s/…`). E.g.
        `http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd`

        - content_id: Optional (numeric). `content_id` of the target first-level
        comment, from `$.data.comments[N].content_id` of the
        `fetch_article_comments` response; **defaults to the first comment that
        has replies when omitted**. E.g. `12109128638545265979`

        - offset: Optional, default 0 (>=0). Reply pagination offset; 0 for the
        first page, pass `next_offset` from the previous response when
        `has_more=true`.

        - Note: `all_pages` was removed upstream — it issued up to 30 upstream
        requests per billed call and omitted `has_more` / `next_offset`, so
        callers could not tell the result was truncated. Paginate with `offset`
        / `next_offset` instead.

        - raw: Optional, default True. True=full raw reply objects;
        False=simplified replies.


        ### Return

        - Second-level reply list with pagination info


        > Note: the **outer structure is identical** for `raw=true` and
        `raw=false`; the difference is only in the field granularity of each
        `replies[]` element (simplified view vs full raw object).


        ### Response structure & JSON Path

        #### `raw=false` (simplified replies):

        - `$.data.content_id`: target comment id (echo)

        - `$.data.parent_nick`: nickname of the parent comment (the one replied
        to)

        - `$.data.reply_total`: total second-level replies

        - `$.data.count`: number of replies returned this time

        - `$.data.replies[N].reply_id`: reply id

        - `$.data.replies[N].nick_name`: replier nickname

        - `$.data.replies[N].content`: reply content

        - `$.data.replies[N].create_time`: reply timestamp

        - `$.data.replies[N].ip_wording`: IP region

        - `$.data.replies[N].identity_name`: identity label

        - `$.data.replies[N].from_ai` / `reply_is_elected`: AI reply / featured
        flags

        - Pagination fields: `$.data.offset` / `$.data.next_offset` /
        `$.data.has_more`

        #### `raw=true` (raw):

        - Outer `content_id` / `parent_nick` / `reply_total` / `count` (and
        `offset` / `next_offset` / `has_more` in single-page mode) are
        **identical** to `raw=false`; the only difference is that `replies[]`
        elements are full raw reply objects (including fields projected away in
        `raw=false`). Common paths remain `$.data.replies[N].content` /
        `$.data.replies[N].reply_id` / `$.data.replies[N].nick_name`.


        API references: `fetch_article_comments` = `POST
        /tikhub/wechat_mp/v2/fetch_article_comments` (operationId:
        `post_tikhub_wechat_mp_v2_fetch_article_comments`).
      operationId: post_tikhub_wechat_mp_v2_fetch_comment_replies
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchCommentRepliesRequest'
        required: true
      responses:
        '200':
          description: >-
            Successful response. The outer object follows `ResponseModel`; the
            endpoint-specific payload is in `data`.


            ### Return

            - Second-level reply list with pagination info


            > Note: the **outer structure is identical** for `raw=true` and
            `raw=false`; the difference is only in the field granularity of each
            `replies[]` element (simplified view vs full raw object).


            ### Response structure & JSON Path

            #### `raw=false` (simplified replies):

            - `$.data.content_id`: target comment id (echo)

            - `$.data.parent_nick`: nickname of the parent comment (the one
            replied to)

            - `$.data.reply_total`: total second-level replies

            - `$.data.count`: number of replies returned this time

            - `$.data.replies[N].reply_id`: reply id

            - `$.data.replies[N].nick_name`: replier nickname

            - `$.data.replies[N].content`: reply content

            - `$.data.replies[N].create_time`: reply timestamp

            - `$.data.replies[N].ip_wording`: IP region

            - `$.data.replies[N].identity_name`: identity label

            - `$.data.replies[N].from_ai` / `reply_is_elected`: AI reply /
            featured flags

            - Pagination fields: `$.data.offset` / `$.data.next_offset` /
            `$.data.has_more`

            #### `raw=true` (raw):

            - Outer `content_id` / `parent_nick` / `reply_total` / `count` (and
            `offset` / `next_offset` / `has_more` in single-page mode) are
            **identical** to `raw=false`; the only difference is that
            `replies[]` elements are full raw reply objects (including fields
            projected away in `raw=false`). Common paths remain
            `$.data.replies[N].content` / `$.data.replies[N].reply_id` /
            `$.data.replies[N].nick_name`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
components:
  schemas:
    FetchCommentRepliesRequest:
      properties:
        url:
          type: string
          maxLength: 2048
          pattern: ^https?://mp\.weixin\.qq\.com/s([/?].+)?$
          title: Url
          description: >-
            WeChat MP article URL (`https://mp.weixin.qq.com/s/…`). E.g.
            `http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd`
          example: >-
            http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd
        content_id:
          title: Content Id
          description: >-
            Optional (numeric). `content_id` of the target first-level comment,
            from `$.data.comments[N].content_id` of the `fetch_article_comments`
            response; **defaults to the first comment that has replies when
            omitted**. E.g. `12109128638545265979`


            API references: `fetch_article_comments` = `POST
            /tikhub/wechat_mp/v2/fetch_article_comments` (operationId:
            `post_tikhub_wechat_mp_v2_fetch_article_comments`).
          default: ''
          example: '12109128638545265979'
          nullable: true
          type: string
          maxLength: 32
          pattern: ^[0-9]*$
        offset:
          type: integer
          minimum: 0
          title: Offset
          description: >-
            Optional, default 0 (>=0). Reply pagination offset; 0 for the first
            page, pass `next_offset` from the previous response when
            `has_more=true`.
          default: 0
        comment_id:
          title: Comment Id
          description: >-
            Article comment id (optional, performance shortcut): when omitted,
            upstream must fetch and parse the whole article HTML to obtain it,
            which accounts for about half of this endpoint's latency
          nullable: true
          type: string
          maxLength: 32
          pattern: ^[0-9]*$
        raw:
          type: boolean
          title: Raw
          description: True=raw response; False=simplified parsed structure
          default: true
      type: object
      required:
        - url
      title: FetchCommentRepliesRequest
    ResponseModel:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code
          default: 200
        request_id:
          title: Request Id
          description: Unique request identifier
          nullable: true
          type: string
        message:
          type: string
          title: Message
          description: Response message (EN-US)
          default: Request successful. This request will incur a charge.
        message_zh:
          type: string
          title: Message Zh
          description: Response message (ZH-CN)
          default: 请求成功，本次请求将被计费。
        support:
          type: string
          title: Support
          description: Support message
          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
        time:
          type: string
          title: Time
          description: The time the response was generated
        time_stamp:
          type: integer
          title: Time Stamp
          description: The timestamp the response was generated
        time_zone:
          type: string
          title: Time Zone
          description: The timezone of the response time
          default: America/Los_Angeles
        docs:
          title: Docs
          description: Link to the API Swagger documentation for this endpoint
          nullable: true
          type: string
        cache_message:
          title: Cache Message
          description: Cache message (EN-US)
          default: >-
            This response is cached and accessible via the URL below for 24
            hours at no extra cost. The cache is for request tracing only — it
            doesn't affect the API's data freshness and won't be returned
            through the API again.
          nullable: true
          type: string
        cache_message_zh:
          title: Cache Message Zh
          description: Cache message (ZH-CN)
          default: >-
            本次响应已缓存，可通过下方 URL 直接查看，有效期 24
            小时，访问缓存链接无额外费用。缓存仅用于请求溯源，不影响接口数据的时效性，也不会再次通过接口返回。
          nullable: true
          type: string
        cache_url:
          title: Cache Url
          description: The URL to access the cached result
          nullable: true
          type: string
        router:
          type: string
          title: Router
          description: The endpoint that generated this response
          default: ''
        params:
          title: Params
          description: The parameters used in the request
          default: {}
        data:
          title: Data
          description: >-
            Endpoint-specific response payload. The official shared model does
            not declare a fixed type or field set. Use the operation's
            documented return fields or response example; an operation-specific
            schema, when present, describes the documented fields. Undocumented
            fields must be read from the actual response rather than assumed.
          nullable: true
      type: object
      title: ResponseModel
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: AIsa API key. Get yours at https://aisa.one

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.