---
title: "获取搜索关键词推荐/Fetch search keyword suggestions"
method: POST
path: "/api/v1/douyin/search/fetch_search_suggest"
tags: ["Douyin-Search-API"]
---

# 获取搜索关键词推荐/Fetch search keyword suggestions

`POST /api/v1/douyin/search/fetch_search_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_search_suggest`
- Auth: HTTP bearer

# [中文]
### 用途:
- 获取抖音 App 中搜索关键词的联想推荐结果。
- 根据用户输入的关键词，返回相关搜索词建议，用于提升搜索体验。

### 备注:
- 通常用于实现搜索框实时推荐（如输入时下拉补全）。
- 返回的推荐词经过抖音推荐系统内部打分排序。

### 参数:
- keyword: 输入的关键词，如 "人工智能"

### 请求体示例：
```json
payload = {
    "keyword": "人工智能"
}
```

### 返回（部分常用字段，实际返回字段更多，一切以实际响应为准）:
- `status_code`: 状态码（0 表示成功）
- `status_msg`: 返回信息（一般为空）
- `rid`: 请求ID
- `sug_list[]`: 搜索建议列表
  - `content`: 推荐的搜索关键词（如 "人工智能ai软件免费版下载"）
  - `sug_type`: 建议类型（一般为空，预留字段）
  - `pos[]`: 匹配位置（标记关键词在原搜索词中的起止位置）
    - `begin`: 开始字符位置
    - `end`: 结束字符位置
  - `word_record`:
    - `group_id`: 推荐词组ID
    - `words_position`: 在本次推荐列表中的位置
    - `words_content`: 词内容（同 `content`）
    - `words_source`: 词来源（通常为 "sug"）
  - `extra_info`:
    - `client_server_extra`: 附加配置信息（JSON字符串）
    - `poi_id`: 关联POI ID（通常为空）
    - `search_params`: 搜索参数（带内部推荐得分）
- `words_query_record`:
  - `info`: 附加信息（通常为空）
  - `words_source`: 推荐来源
  - `query_id`: 推荐查询ID
- `extra`:
  - `now`: 当前服务器时间戳（毫秒）
  - `logid`: 日志ID
  - `fatal_item_ids`: 错误项列表（通常为空）
  - `search_request_id`: 搜索请求ID（通常为空）
- `log_pb`:
  - `impr_id`: 曝光日志ID
- `time_cost`:
  - `stream_inner`: 内部处理耗时（毫秒）
  - `server_engine_cost`: 搜索引擎处理耗时（毫秒）
- `cache_conf`:
  - `enable`: 是否命中缓存（布尔值）

# [English]
### Purpose:
- Fetch keyword suggestion results from Douyin App.
- Based on the user's input, returns a list of recommended search keywords to improve search experience.

### Notes:
- Typically used for real-time keyword suggestions in the search box.
- The returned suggestions are scored and sorted internally by Douyin's recommendation system.

### Parameters:
- keyword: Input keyword, e.g., "Artificial Intelligence"

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

### Response (common fields, actual response may contain more fields):
- `status_code`: Status code (0 means success)
- `status_msg`: Response message (usually empty)
- `rid`: Request ID
- `sug_list[]`: List of suggested search keywords
  - `content`: Suggested keyword (e.g., "AI software free download")
  - `sug_type`: Suggestion type (usually empty, reserved field)
  - `pos[]`: Position marking
    - `begin`: Begin character position
    - `end`: End character position
  - `word_record`:
    - `group_id`: Suggestion group ID
    - `words_position`: Position in the current suggestion list
    - `words_content`: The word content (same as `content`)
    - `words_source`: Word source (typically "sug")
  - `extra_info`:
    - `client_server_extra`: Extra client-server config (JSON string)
    - `poi_id`: Related POI ID (usually empty)
    - `search_params`: Search parameters (with recommendation scores)
- `words_query_record`:
  - `info`: Additional info (usually empty)
  - `words_source`: Source of suggestions
  - `query_id`: Suggestion query ID
- `extra`:
  - `now`: Current server timestamp (milliseconds)
  - `logid`: Log ID
  - `fatal_item_ids`: List of fatal error items (usually empty)
  - `search_request_id`: Search request ID (usually empty)
- `log_pb`:
  - `impr_id`: Impression log ID
- `time_cost`:
  - `stream_inner`: Internal stream processing time (milliseconds)
  - `server_engine_cost`: Server search engine processing time (milliseconds)
- `cache_conf`:
  - `enable`: Whether cache was hit (boolean)

## Request body

- SearchSuggestRequest
  - `keyword` string: 需要联想的关键词/The keyword to be suggested

## 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_search_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)
