---
title: "获取经验搜索/Fetch experience search"
method: POST
path: "/api/v1/douyin/search/fetch_experience_search"
tags: ["Douyin-Search-API"]
---

# 获取经验搜索/Fetch experience search

`POST /api/v1/douyin/search/fetch_experience_search`

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

# [中文]
### 用途:
- 获取抖音 App 中经验（知识/教程）内容的搜索结果。
- 支持通过关键词检索，与经验类内容（如攻略、教程、分享等）相关的视频信息。

### 备注:
- 此接口专注于经验类内容，不包含其他类型的内容。
- 初次请求时，`cursor` 应传 0，`search_id` 传空字符串，翻页时使用上次响应返回的 cursor 和 search_id。
- 返回的结果中包含视频详情、作者信息、背景音乐、话题标签、播放地址、互动数据等。

### 参数:
- keyword: 搜索关键词，例如 "游戏攻略"
- cursor: 翻页游标，首次请求传 0
- sort_type: 排序方式
  - `0`: 综合排序
  - `1`: 最多点赞
  - `2`: 最新发布
- publish_time: 发布时间筛选
  - `0`: 不限
  - `1`: 最近一天
  - `7`: 最近一周
  - `180`: 最近半年
- filter_duration: 视频时长筛选
  - `0`: 不限
  - `0-1`: 1分钟以内
  - `1-5`: 1-5分钟
  - `5-10000`: 5分钟以上
- content_type: 内容类型筛选（通常固定为视频）
- search_id: 分页查询时需要传上次响应返回的 `search_id`

### 请求体示例：
```json
payload = {
    "keyword": "游戏攻略",
    "cursor": 0,
    "sort_type": 0,
    "publish_time": 0,
    "filter_duration": 0,
    "content_type": 1,
    "search_id": ""
}

### 返回（部分常用字段，实际返回字段更多，一切以实际响应为准）:
- business_data: 搜索结果业务数据列表
  - data_id: 数据块ID
  - type: 数据类型（如 999 表示内容列表）
  - data:
    - height: 显示区域高度
    - aweme_list: 视频列表
      - aweme_id: 视频ID
      - desc: 视频描述内容
      - create_time: 视频发布时间（时间戳）
      - author: 作者信息
        - uid: 作者UID
        - nickname: 作者昵称
        - avatar_thumb.url_list: 作者头像缩略图
        - is_verified: 是否是认证账号
        - follower_count: 粉丝数
      - music: 背景音乐信息
        - id_str: 音乐ID
        - title: 音乐标题
        - author: 音乐作者昵称
      - cha_list: 关联的话题标签列表
        - cha_name: 话题名称
      - video: 视频播放信息
        - play_addr.url_list: 视频播放地址列表
        - cover.url_list: 视频封面图地址
        - width: 视频宽度
        - height: 视频高度
        - duration: 视频时长（单位毫秒）
      - statistics: 视频互动数据
        - digg_count: 点赞数
        - comment_count: 评论数
        - share_count: 分享数
        - play_count: 播放次数
      - status: 视频状态信息
        - is_delete: 是否已删除
        - is_private: 是否私密
      - share_url: 视频外部分享链接

# [English]
### Purpose:
- Fetch experience (knowledge/tutorial) content search results from Douyin App.
- Retrieves video results related to knowledge sharing, tutorials, or tips based on the input keyword.

### Notes:
- This API focuses on experience-related videos and does not include other content types.
- Set `cursor` to 0 and `search_id` to an empty string for the first request; for pagination, use the previous cursor and search_id.
- The response includes rich information such as video details, author profile, background music, hashtags, video URLs, and engagement statistics.

### Parameters:
- keyword: Search keyword, e.g., "gaming guide"
- cursor: Pagination cursor (0 for first page)
- sort_type: Sorting method
  - `0`: Comprehensive
  - `1`: Most likes
  - `2`: Latest
- publish_time: Publish time filter
  - `0`: Unlimited
  - `1`: Last day
  - `7`: Last week
  - `180`: Last half year
- filter_duration: Video duration filter
  - `0`: Unlimited
  - `0-1`: Within 1 minute
  - `1-5`: 1 to 5 minutes
  - `5-10000`: More than 5 minutes
- content_type: Content type filter (usually fixed to video)
- search_id: Search ID for pagination

### Request Body Example:
```json
payload = {
    "keyword": "gaming guide",
    "cursor": 0,
    "sort_type": 0,
    "publish_time": 0,
    "filter_duration": 0,
    "content_type": 1,
    "search_id": ""
}
```

### Response (common fields, actual response may contain more fields):
- business_data: List of business data blocks
  - data_id: Data block ID
  - type: Data type (e.g., 999 for content list)
  - data:
    - height: Display height
    - aweme_list: List of videos
      - aweme_id: Video ID
      - desc: Video description
      - create_time: Creation timestamp
      - author: Author profile
        - uid: User ID
        - nickname: User nickname
        - avatar_thumb.url_list: Thumbnail avatar URLs
        - is_verified: Whether the author is verified
        - follower_count: Number of followers
      - music: Background music information
        - id_str: Music ID
        - title: Music title
        - author: Music author's name
      - cha_list: Associated hashtags
        - cha_name: Hashtag name
      - video: Video playback info
        - play_addr.url_list: List of video play URLs
        - cover.url_list: List of video cover image URLs
        - width: Video width
        - height: Video height
        - duration: Video duration in milliseconds
      - statistics: Video engagement data
        - digg_count: Number of likes
        - comment_count: Number of comments
        - share_count: Number of shares
        - play_count: Number of plays
      - status: Video status information
        - is_delete: Whether the video was deleted
        - is_private: Whether the video is private
      - share_url: External share link of the video

## Request body

- ExperienceSearchRequest
  - `keyword` string: 关键词 / Keyword
  - `cursor` integer: 偏移游标，用于翻页，从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response
  - `sort_type` string: 排序方式：0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest
  - `publish_time` string: 发布时间筛选：0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year
  - `filter_duration` string: 视频时长过滤：0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes
  - `content_type` string: 内容类型：0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article
  - `search_id` string: 搜索ID，用于翻页，从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response
  - `backtrace` string: 翻页回溯标识，用于翻页，从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response

## 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`: 12 info
  - added the new optional request property `backtrace`
  - 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
  - …8 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_experience_search/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)
