# 如何获取 X（推特）各国热门话题

用 2 个接口：X 趋势榜 → X 帖子搜索。下面的示例一共 3 次调用，合计 $0.0200；失败的调用不收费。

拿到 X（推特）趋势榜前 30 个话题和名次，可以是全球的，也可以是 10 个国家里任意一个的；再看某个话题下大家在发什么。

## 一步一步做

### 第 1 步：X 趋势榜

不传 `region` 是全球榜；要某个国家的，传两个字母的国家代码：US、GB、CA、AU、IN、JP、DE、FR、BR、MX。每条有话题名 `name` 和名次 `rank`，下一步用 `name`。（[X 趋势榜](https://dataxapi.com/zh/apis/x/trends/list/)，$0.0090 / 一次）

cURL

```bash
curl "https://api.dataxapi.com/v1/x/trends/list" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
```

Python

```python
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.x.trends.list()
print(result["data"]["items"])
```

TypeScript

```typescript
import { DataXAPI } from "@dataxapi/sdk";

const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.x.trends.list();
console.log(result.data.items);
```

命令行

```bash
dataxapi call x.trends.list
```

录制的返回：取自 2026-10-13 03:29 UTC 录下的真实返回。名字、正文和编号是示例，链接也是，都不是录到的原文（页面不展示任何人的个人信息）；数字是原样。长列表做了截断。请求号、游标和余额是示意。

```jsonc
{
  "code": "ok",
  "request_id": "86caa2be-f053-4926-a0ef-f572a73d938b",
  "data": {
    "items": [
      { "name": "Weekend hiking", "rank": 1 },
      // … 另有 29 条
    ]
  },
  "page": {
    "next_cursor": null,
    "cursor_expires_at": null,
    "has_more": false,
    "returned": 30
  },
  "warnings": [],
  "meta": {
    "capability": "x.trends.list",
    "result_status": "complete",
    "fetched_at": "2026-10-13T03:29:53.000Z",
    "cached": false,
    "replayed": false,
    "unavailable": { "id": "platform", "heat": "capability" },
    "billing": {
      "amount": "0.009",
      "currency": "USD",
      "balance_after": "9.991"
    }
  }
}
```

### 第 2 步：X 帖子搜索

把某个话题的 `name` 作为 `query` 搜帖子，看大家在说什么。（[X 帖子搜索](https://dataxapi.com/zh/apis/x/posts/search/)，$0.0020 / 一次）

cURL

```bash
curl -G "https://api.dataxapi.com/v1/x/posts/search" \
  --data-urlencode "query=weather forecast" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
```

Python

```python
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.x.posts.search(query="weather forecast")
print(result["data"]["items"])
```

TypeScript

```typescript
import { DataXAPI } from "@dataxapi/sdk";

const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.x.posts.search({ query: "weather forecast" });
console.log(result.data.items);
```

命令行

```bash
dataxapi call x.posts.search 'query=weather forecast'
```

录制的返回：取自 2026-10-12 19:10 UTC 录下的真实返回。名字、正文和编号是示例，链接也是，都不是录到的原文（页面不展示任何人的个人信息）；数字是原样。长列表做了截断。请求号、游标和余额是示意。

```jsonc
{
  "code": "ok",
  "request_id": "f56e2410-206b-4506-a850-44cf2be4613e",
  "data": {
    "items": [
      {
        "id": "1860387339653354774",
        "url": "https://x.com/i/status/1860387339653354774",
        "type": "video",
        "text": "My honest take on weather forecast, a month in.",
        "lang": "en",
        "published_at": "2026-10-12T00:44:12.000Z",
        "author": {
          "id": "118815899823132376",
          "username": "trail_and_lens",
          "name": "Maya Chen",
          "avatar_url": "https://pbs.twimg.com/profile_images/1838837416644987075/31t9r3Fm_normal.jpg",
          "verified": true,
          "followers": 7425
        },
        "metrics": {
          "likes": 238,
          "comments": 37,
          "favorites": 145,
          "views": 8357,
          "reposts": 121
        },
        "images": [],
        "hashtags": [],
        "mentions": [
          {
            "id": "124366312906800227",
            "username": "fieldnotes_studio",
            "name": "Field Notes Studio"
          }
        ],
        "post_id": null,
        "parent_id": null
      },
      // … 另有 19 条
    ]
  },
  "page": {
    "next_cursor": "c1.0BcduLiC6vViwQfDR_nS6Twlb6kjko4Qpbx3fUDt",
    "cursor_expires_at": "2026-10-12T20:10:39.000Z",
    "has_more": true,
    "returned": 20
  },
  "warnings": [],
  "meta": {
    "capability": "x.posts.search",
    "result_status": "complete",
    "fetched_at": "2026-10-12T19:10:39.000Z",
    "cached": false,
    "replayed": false,
    "unavailable": {
      "title": "platform",
      "metrics.shares": "platform",
      "is_pinned": "capability",
      "root_id": "platform"
    },
    "billing": {
      "amount": "0.002",
      "currency": "USD",
      "balance_after": "9.998"
    }
  }
}
```

## 示例花多少钱

取全球榜和美国榜各一次，再搜一页某个话题下的帖子

| 接口 | 调用次数 | 单价 | 小计 |
| --- | --- | --- | --- |
| [X 趋势榜](https://dataxapi.com/zh/apis/x/trends/list/) | 2 | $0.0090 | $0.0180 |
| [X 帖子搜索](https://dataxapi.com/zh/apis/x/posts/search/) | 1 | $0.0020 | $0.0020 |
| 合计 | 3 |  | $0.0200 |

价格是生成本页时的现行价格。失败的调用、不存在的对象都不收费。

## 在 AI 里做（MCP）

把 DataXAPI 接进你的 AI 客户端，只要接一次。之后直接说要什么，代理自己找到这些接口、看好价格，用你的余额调用。

这样说：用 DataXAPI 取 X 当前的美国榜和全球榜，告诉我哪些话题两个榜上都有。

代理发给 call 工具的参数：

```json
{
  "capability": "x.trends.list",
  "idempotency_key": "<a new UUID>"
}
```

[了解 MCP 服务](https://dataxapi.com/zh/mcp/)

## 用 Skill 做

“热点与选题”这个 Skill 把这件事做成了现成的任务，带花费上限。 “现在什么在涨？” 它的示例运行：3 次调用，最多 $0.0060。 [热点与选题](https://dataxapi.com/zh/skills/trends/)

## 要知道的

- 趋势榜是每 5 分钟刷新一次的快照，`meta.fetched_at` 写明是什么时候取的。
- 每个话题只有名字和名次，没有帖子数、热度，也没有编号。
- 只有这 10 个国家和全球榜；传别的代码会按参数错误拒绝，不会执行。
- 趋势榜返回空不计费；帖子搜索返回空页照常计费。

## 用到的接口

- [X 趋势榜](https://dataxapi.com/zh/apis/x/trends/list/)
- [X 帖子搜索](https://dataxapi.com/zh/apis/x/posts/search/)

## X（推特）的更多内容

- [X（推特） API](https://dataxapi.com/zh/apis/x/)
- [如何按关键词搜索 X（推特）帖子](https://dataxapi.com/zh/guides/x-search-posts-by-keyword/)
- [如何批量获取一条推文的回复](https://dataxapi.com/zh/guides/x-post-replies/)
- [怎么查某个国家的 X 热搜？](https://dataxapi.com/zh/answers/how-to-get-x-trends-for-a-country/)

---

目录修订号 c48ce454ae6c4c65。 [网页版](https://dataxapi.com/zh/guides/x-trends-by-country/)
