---
title: "消费者画像/Content consumer portrait"
method: POST
path: "/api/v1/douyin/index/fetch_content_consumer_portrait"
tags: ["Douyin-Index-API"]
---

# 消费者画像/Content consumer portrait

`POST /api/v1/douyin/index/fetch_content_consumer_portrait`

## 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/douyin/index/fetch_content_consumer_portrait`
- Auth: HTTP bearer

# [中文]
### 用途:
- 获取指定垂类下**消费者**人群画像（即"观看该垂类视频的用户"画像）
- 与 fetch_content_author_portrait 互为补充：一个看作者，一个看观众
### 参数:
- tag_id: 垂类ID（**必填，不支持 0=全部**，需传入具体垂类 ID，可通过 fetch_item_filter_options 获取）
- period: 时间粒度，"week"=按周（end_date 必须为周日）, "month"=按月（end_date 必须为月末，如 20260331）
- end_date: 结束日期 YYYYMMDD，需与 period 对齐
### 返回:
- 消费者画像数据：性别分布、年龄段分布、地域分布、兴趣偏好、设备分布等

# [English]
### Purpose:
- Get **consumer (viewer) portrait** for a category (i.e. profile of users who watch videos in this category)
- Counterpart to fetch_content_author_portrait: one for creators, one for viewers
### Parameters:
- tag_id: Category ID (**required, does NOT support 0=all**, must pass a specific category ID)
- period: "week" (end_date must be a Sunday) or "month" (end_date must be month-end, e.g. 20260331)
- end_date: End date YYYYMMDD, must align with period
### Return:
- Consumer portrait: gender, age group, region, interest, device distributions

# [示例/Example]
tag_id = "601"
period = "month"
end_date = "20260331"

## Query parameters

- `tag_id` string, required: 垂类ID，**必填，不支持 0=全部**（同 fetch_item_query 的 category_id 但不接受 0）/Category ID, **required, does NOT support 0=all**. Get full list via fetch_item_filter_options (excluding id=0)
- `period` 'week' | 'month': 时间粒度/Period: week or month
- `end_date` string, required: 结束日期/End date YYYYMMDD

## 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/douyin/index/fetch_content_consumer_portrait/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)
