---
title: "获取蒲公英笔记组件/Get PGY note components"
method: POST
path: "/api/v1/xiaohongshu/pgy/get_note_components"
tags: ["Xiaohongshu-PGY-API"]
---

# 获取蒲公英笔记组件/Get PGY note components

`POST /api/v1/xiaohongshu/pgy/get_note_components`

## 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_components`
- Auth: HTTP bearer

# [中文]
### 用途:
- 获取单篇笔记挂载的组件配置（正文搜索组件 / 评论区组件 / 底部组件）
- 对应笔记详情弹窗里标题下方的那几个组件标签
### 请求体参数:
- note_id: 笔记ID，来源同 /get_note_comments
### 与 get_note_detail 的 compClickData 不重复:
- 本接口给组件**配置**：挂了哪个组件、搜索词、品牌方、博主、按钮文案、跳转
- compClickData 给组件**点击率档位**：正常 / 较高 / 极高（口径 0-2% / 2%-10% / 10%+）
### 返回:
- `data.data` 下三个组件位，**没挂该组件时为 null**:
    - noteContent: 正文组件。subType(如 NOTE_CONTENT_SEARCH) / searchWord(搜索词) /
      brandName / gameAppId
    - noteComment: 评论区组件。componentInfo(subType / name 组件名 / buttonName 按钮文案 /
      content 展示文案 / jumpType、jumpUrl 跳转 / type) + brandInfo(品牌方) + kolInfo(博主)
    - noteBottom: 底部组件，实测多数笔记为 null
- 可用来看这条商业笔记具体挂了什么转化组件、导向哪个品牌或搜索词
### 响应结构（取数要剥两层）:
- `resp["data"]` 是蒲公英原样信封（含 `code`/`msg`/`success`），业务数据还在它里面一层
- 正确取法：`data = resp["data"]["data"]`；下面「返回」列的字段都在这一层下
### 计费:
- HTTP 200 → **计费**。包含「查无结果」（`data` 为 null，如 ID 不存在或筛选无命中）——
  请求已送达蒲公英，同样扣费，不要因为拿不到数据就重试
- HTTP 400 → 不计费（参数格式非法，或上游资源不足/异常）

# [English]
### Purpose:
- Get the components attached to a single note (content search / comment-area / bottom)
- Mirrors the component tags under the title in the PGY note detail dialog
### Request Body Parameters:
- note_id: Note ID, same sources as /get_note_comments
### Not a duplicate of compClickData in get_note_detail:
- This endpoint returns component **configuration**: which component, search word,
  brand, blogger, button label, jump target
- compClickData returns component **click-rate tiers**: normal / high / very high
  (thresholds 0-2% / 2%-10% / 10%+)
### Return:
- Three component slots under `data.data`, **null when the component is not attached**:
    - noteContent: content component. subType (e.g. NOTE_CONTENT_SEARCH) / searchWord /
      brandName / gameAppId
    - noteComment: comment-area component. componentInfo (subType / name / buttonName /
      content / jumpType, jumpUrl / type) + brandInfo + kolInfo
    - noteBottom: bottom component; empirically null for most notes
- Useful for seeing which conversion component a sponsored note carries and where it points
### 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"}
```

典型用法：先用 `/get_content_square` 找一批商业笔记，再逐条调本接口，
看它们分别挂了什么转化组件、导向哪个品牌或搜索词。
没挂该组件的位置返回 `null`，不是报错。

Typical flow: find sponsored notes via `/get_content_square`, then call this per note
to see which conversion component is attached. Absent slots return `null`, not an error.

## 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_components/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)
