---
title: "搜索/Search"
method: GET
path: "/api/v1/twitter/web/fetch_search_timeline"
tags: ["Twitter-Web-API"]
---

# 搜索/Search

`GET /api/v1/twitter/web/fetch_search_timeline`

## 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/twitter/web/fetch_search_timeline`
- Auth: HTTP bearer

# [中文]
### 用途:
- 搜索
### 参数:
- keyword: 搜索关键字
- search_type: 搜索类型，默认为Top，其他可选值为Latest，Media，People, Lists
- cursor: 游标，默认为None，用于翻页，后续从上一次请求的返回结果中获取
### 返回:
- 搜索结果

### 关于搜索结果准确性的说明:
- X 的搜索并不保证关键词或话题标签一定出现在推文正文（text 字段）中。
- 匹配范围远大于正文，还包括：被引用的推文、外链文章的元数据、媒体内容以及账号信号。
- 因此返回的推文完全可能是一条合法匹配，但关键词根本不在 text 字段里。
- 如果在结果上再做一次"正文必须包含关键词"的字面子串过滤，会丢弃掉很大一部分有效结果
  （实测可达 94.6% 的丢弃率）。
- 若发现结果看起来"不准"，请优先检查是否在调用侧做了这类字面过滤。

# [English]
### Purpose:
- Search
### Parameters:
- keyword: Search keyword
- search_type: Search type, default is Top, other optional values are Latest, Media, People, Lists
- cursor: Cursor, default is None, used for paging, obtained from the last request
### Return:
- Search results

### Note on search result accuracy:
- X's search does not guarantee the keyword or hashtag appears in the tweet text.
- Matching happens against more than the caption — it can include the quoted tweet,
  linked article metadata, media, and account signals.
- So a returned tweet can be a legitimate match with the term absent from the text field entirely.
- Requiring a literal substring match in `text` will discard a large share of valid results,
  which is consistent with the 94.6% drop rate observed in practice.
- If results look inaccurate, first check whether such a literal filter is being applied downstream.

# [示例/Example]
keyword = "Elon Musk"
search_type = "Top"
cursor = None

## Query parameters

- `keyword` string, required: 搜索关键字/Search Keyword
- `search_type` string: 搜索类型/Search Type
- `cursor` string: 游标/Cursor

## 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-01-19** `c85a1d22ae97`: 1 info
  - endpoint added

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