---
title: "获取视频搜索 V4/Fetch video search V4"
method: POST
path: "/api/v1/douyin/search/fetch_video_search_v4"
tags: ["Douyin-Search-API"]
---

# 获取视频搜索 V4/Fetch video search V4

`POST /api/v1/douyin/search/fetch_video_search_v4`

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

# [中文]
### 用途:
- 按视频标题/关键词搜索视频（V4 版本），支持游标翻页。
- 关键词匹配的是视频标题，也可以直接传入视频ID或视频分享链接来精确定位一条视频。

### 备注:
- 本接口不支持排序、发布时间、时长、内容类型等筛选条件，只有关键词与翻页参数。
- 每页固定 12 条，不支持指定数量。
- 首次请求 `cursor` 传 0，翻页时传上一页响应里返回的 `cursor`。

### 参数:
- keyword: 视频标题/关键词（必填），如 "猫咪"
- cursor: 翻页游标（首次请求传 0）

### 请求体示例：
```json
payload = {
    "keyword": "猫咪",
    "cursor": 0
}
```

### 返回（部分常用字段，实际返回字段更多，一切以实际响应为准）:
- 匹配的视频列表，每项包含视频ID、标题、封面、时长、发布时间及互动数据等
- 翻页信息（下一页的 `cursor`、是否还有更多数据）

# [English]
### Purpose:
- Search videos by title/keyword (V4), with cursor pagination.
- The keyword matches the video title; a video ID or a video share link can also be passed
  to locate one specific video.

### Notes:
- This endpoint has no sorting, publish time, duration or content type filters —
  only the keyword and pagination parameters.
- Page size is fixed at 12 and cannot be changed.
- Set `cursor` to 0 for the first request, then pass the `cursor` from the previous response.

### Parameters:
- keyword: Video title or keyword (required), e.g., "cat"
- cursor: Pagination cursor (0 for the first request)

### Request Body Example:
```json
payload = {
    "keyword": "cat",
    "cursor": 0
}
```

### Response (common fields, actual response may contain more fields):
- Matched video list; each item contains video ID, title, cover, duration, publish time
  and interaction metrics
- Pagination info (next `cursor`, whether more results are available)

## Request body

- VideoSearchV4Request
  - `keyword` string: 视频标题/关键词 / Video title or keyword
  - `cursor` integer: 翻页游标，首次请求传 0，之后传上一页响应里的 cursor / Pagination cursor, 0 for the first request, then the cursor 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`: 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_video_search_v4/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)
