---
title: "获取话题推荐搜索/Fetch hashtag suggestions"
method: POST
path: "/api/v1/douyin/search/fetch_challenge_suggest"
tags: ["Douyin-Search-API"]
---

# 获取话题推荐搜索/Fetch hashtag suggestions

`POST /api/v1/douyin/search/fetch_challenge_suggest`

## 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/search/fetch_challenge_suggest`
- Auth: HTTP bearer

# [中文]
### 用途:
- 获取抖音 App 中话题(挑战/标签)的推荐搜索结果。
- 根据输入的关键词，返回相关的话题建议列表，包含话题名称、浏览量等信息。

### 备注:
- 本接口可用于话题联想推荐场景，如输入关键词实时展示相关热门话题。
- 初次请求时 `cursor` 传入 0，`search_id` 传空字符串。

### 参数:
- keyword: 搜索关键词，如 "游戏"

### 请求体示例：
```json
payload = {
    "keyword": "游戏"
}
```

### 返回（部分常用字段，实际返回字段更多，一切以实际响应为准）:
- `sug_list[]`: 推荐话题列表
  - `cha_name`: 话题名称（如 "#游戏"）
  - `view_count`: 话题总浏览量
  - `cid`: 话题ID
  - `group_id`: 话题关联的群组ID（可以用于跳转）
  - `tag`: 话题标签分类（0=普通话题，1=流量风向标）
- `status_code`: 状态码（0=成功）
- `status_msg`: 状态信息（通常为空）
- `rid`: 请求ID
- `words_query_record`:
  - `info`: 额外信息（目前为空）
  - `words_source`: 关键词来源（固定"sug"）
  - `query_id`: 查询ID（通常为空）
- `extra`:
  - `now`: 当前服务器时间戳
  - `logid`: 日志ID
  - `fatal_item_ids`: 错误项目ID列表（通常为空）
  - `search_request_id`: 搜索请求ID（通常为空）
- `log_pb`:
  - `impr_id`: 曝光ID（日志追踪用）

# [English]
### Purpose:
- Fetch hashtag/challenge suggestions from Douyin App based on the input keyword.
- Returns a list of related hashtags including name and view count.

### Notes:
- Suitable for implementing keyword suggestion features in search bars.
- Set `cursor` to 0 and `search_id` to an empty string for the first request.

### Parameters:
- keyword: Search keyword, e.g., "game"

### Request Body Example:
```json
payload = {
    "keyword": "game"
}
```

### Response (common fields, actual response may contain more fields):
- `sug_list[]`: List of suggested hashtags
  - `cha_name`: Hashtag name (e.g., "#game")
  - `view_count`: Total view count
  - `cid`: Challenge ID
  - `group_id`: Associated group ID
  - `tag`: Tag category (0=normal, 1=hot trend)
- `status_code`: Status code (0=success)
- `status_msg`: Status message (usually empty)
- `rid`: Request ID
- `words_query_record`:
  - `info`: Additional info (currently empty)
  - `words_source`: Words source ("sug")
  - `query_id`: Query ID (usually empty)
- `extra`:
  - `now`: Server timestamp
  - `logid`: Log ID
  - `fatal_item_ids`: List of fatal item IDs (usually empty)
  - `search_request_id`: Search request ID (usually empty)
- `log_pb`:
  - `impr_id`: Impression ID (for logging)

## Request body

- ChallengeSuggestRequest
  - `keyword` string: 关键词，如 '游戏' / Keyword, e.g., 'game'

## 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`: 2 info
  - the `cache_message` response's property default value changed from `This request will be cached. You can access the cached result directly using the URL below, valid for 24 hours. Accessing the cache will not incur additional charges.` to `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.` for the status `200`
  - the `cache_message_zh` response's property default value changed from `本次请求将被缓存，你可以使用下面的 URL 直接访问缓存结果，有效期为 24 小时，访问缓存不会产生额外费用。` to `本次响应已缓存，可通过下方 URL 直接查看，有效期 24 小时，访问缓存链接无额外费用。缓存仅用于请求溯源，不影响接口数据的时效性，也不会再次通过接口返回。` for the status `200`
- **2026-04-14** `ee5b7c9c88f5`: 11 info
  - added the optional property `cache_message` to the response with the `200` status
  - added the optional property `cache_message_zh` to the response with the `200` status
  - added the optional property `cache_url` to the response with the `200` status
  - added the optional property `docs` to the response with the `200` status
  - …7 more
- **2025-05-16** `14d38e4b883a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tikhub/apis/tikhub-douyin-tiktok-xiaohongshu-lemon8-bilibili-kuaishou-pi/changes/api/v1/douyin/search/fetch_challenge_suggest/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)
