---
title: "获取蒲公英笔记精选评论/Get PGY note featured comments"
method: POST
path: "/api/v1/xiaohongshu/pgy/get_note_comments"
tags: ["Xiaohongshu-PGY-API"]
---

# 获取蒲公英笔记精选评论/Get PGY note featured comments

`POST /api/v1/xiaohongshu/pgy/get_note_comments`

## Request

- Base URL: `https://api.tikhub.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tikhub.io/api/v1/xiaohongshu/pgy/get_note_comments`
- Auth: HTTP bearer

# [中文]
### 用途:
- 获取单篇笔记的精选评论，含博主本人的回复
- 对应蒲公英笔记详情弹窗里的「精选评论」区块
### 请求体参数:
- note_id: 笔记ID，如 "6a85646a0000000006005aea"
  （可从 /get_blogger_notes 的 list[].noteId、/get_blogger_notes_v2 的
  noteList[].noteInfo.noteId 或 /get_content_square 的榜单结果取得）
### 没有翻页:
- 上游固定返回 **5 条**，不支持翻页，因此本接口不接受任何分页参数
- 实测 pageIndex 传 0/1/2/5/20、pageSize 传 5/10/20/50/100，返回的永远是同一批
  （comment.idStr 全等）——这是「精选评论 Top5」而非可翻页的评论列表
### 返回:
- `data.data` 是**数组**（不是对象），每项为一条评论线程:
    - comment: 主楼评论。content(正文) / createTime / likeCount(点赞) /
      subCommentCount(子评论数) / idStr(评论ID) / userIdStr(评论人ID)
    - l1L2Comments[]: 该楼下的回复，**博主的回复就在这里**，字段同 comment，
      targetCommentId 指向主楼
    - userMap: {userIdStr: {userNickName 昵称, imageUrl 头像, gender 性别}}
- ⚠️ **昵称头像要 join userMap** —— comment 与 l1L2Comments[] 里只有 userIdStr，没有昵称
- ⚠️ id / noteId / userId 超出 JS 安全整数，请一律用 idStr / noteIdStr / userIdStr
### 响应结构（取数要剥两层）:
- `resp["data"]` 是蒲公英原样信封（含 `code`/`msg`/`success`），业务数据还在它里面一层
- 正确取法：`data = resp["data"]["data"]`；下面「返回」列的字段都在这一层下
### 计费:
- HTTP 200 → **计费**。包含「查无结果」（`data` 为 null，如 ID 不存在或筛选无命中）——
  请求已送达蒲公英，同样扣费，不要因为拿不到数据就重试
- HTTP 400 → 不计费（参数格式非法，或上游资源不足/异常）

# [English]
### Purpose:
- Get the featured comments of a single note, including the blogger's own replies
- Mirrors the "精选评论" (Featured Comments) block in the PGY note detail dialog
### Request Body Parameters:
- note_id: Note ID, e.g. "6a85646a0000000006005aea"
  (from /get_blogger_notes list[].noteId, /get_blogger_notes_v2
  noteList[].noteInfo.noteId, or /get_content_square results)
### No paging:
- Upstream always returns **5 items** and does not support paging, so this endpoint
  exposes no paging parameters
- Verified: pageIndex 0/1/2/5/20 and pageSize 5/10/20/50/100 all return the very same
  batch (identical comment.idStr) — it is a fixed "top 5 featured", not a comment feed
### Return:
- `data.data` is an **array** (not an object); each item is one comment thread:
    - comment: top-level comment. content / createTime / likeCount /
      subCommentCount / idStr / userIdStr
    - l1L2Comments[]: replies under it — **the blogger's replies live here**;
      same fields as comment, targetCommentId points at the parent
    - userMap: {userIdStr: {userNickName, imageUrl, gender}}
- ⚠️ **Join userMap for nicknames/avatars** — comment and l1L2Comments[] carry only userIdStr
- ⚠️ id / noteId / userId exceed JS safe integers; always use idStr / noteIdStr / userIdStr
### Response shape (two layers):
- `resp["data"]` is PGY's raw envelope (with `code`/`msg`/`success`); the payload is one level deeper
- Correct access: `data = resp["data"]["data"]` — every field listed under "Return" lives here
### Billing:
- HTTP 200 → **charged**, including "no result" (`data` is null, e.g. ID not found or filters matched
  nothing): the request did reach PGY, so retrying on empty data just burns quota
- HTTP 400 → not charged (malformed params, or upstream unavailable/error)

# [示例/Example]
```json
{"note_id": "6a85646a0000000006005aea"}
```

**没有翻页参数**：上游固定返回精选 5 条，传 pageIndex / pageSize 也没用。
昵称和头像要用 `userIdStr` 去 `userMap` 里 join —— 评论对象本身只有 ID、没有昵称。

**No paging**: upstream always returns the same top-5 picked comments.
Join nicknames via `userMap[userIdStr]` — comment objects carry IDs only.

## Request body

- NoteDetailReq
  - `note_id` string, required: 笔记ID/Note ID

## Response `200`

Successful Response

- ResponseModel
  - `code` integer: HTTP status code | HTTP状态码
  - `request_id` string, nullable: Unique request identifier | 唯一请求标识符
  - `message` string: Response message (EN-US) | 响应消息 (English)
  - `message_zh` string: Response message (ZH-CN) | 响应消息 (中文)
  - `support` string: Support message | 支持消息
  - `time` string: The time the response was generated | 生成响应的时间
  - `time_stamp` integer: The timestamp the response was generated | 生成响应的时间戳
  - `time_zone` string: The timezone of the response time | 响应时间的时区
  - `docs` string, nullable: Link to the API Swagger documentation for this endpoint | 此端点的 API Swagger 文档链接
  - `cache_message` string, nullable: Cache message (EN-US) | 缓存消息 (English)
  - `cache_message_zh` string, nullable: Cache message (ZH-CN) | 缓存消息 (中文)
  - `cache_url` string, nullable: The URL to access the cached result | 访问缓存结果的 URL
  - `router` string: The endpoint that generated this response | 生成此响应的端点
  - `params` unknown
  - `data` unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-08** `96a122a5f220`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-09-01** `50f9ec6e1cd3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tikhub/apis/tikhub-douyin-tiktok-xiaohongshu-lemon8-bilibili-kuaishou-pi/changes/api/v1/xiaohongshu/pgy/get_note_comments/post.md)

---

[API](https://skmtc.dev/tikhub/apis/tikhub-douyin-tiktok-xiaohongshu-lemon8-bilibili-kuaishou-pi.md) - [All operations](https://skmtc.dev/tikhub/apis/tikhub-douyin-tiktok-xiaohongshu-lemon8-bilibili-kuaishou-pi/llms.txt) - [OpenAPI document](https://skmtc.dev/tikhub/apis/tikhub-douyin-tiktok-xiaohongshu-lemon8-bilibili-kuaishou-pi/revisions/86a3483c705a?raw)
