# 抖音 热点宝上升热点榜 API (douyin.billboard_rise_list)

- Canonical page: https://everyinfra.com/douyin-api/billboard_rise_list
- Endpoint: POST /api/v1/social with {"platform": "douyin", "action": "billboard_rise_list", "params": {...}}
- Price: $0.000806 per call ($0.81 per 1,000 requests); failed and empty results are not charged
- Returns: list, one page of 50 per call (limit is ignored; pass the top-level next_page_token from the response as page_token for the next page)
- Pagination: pass next_page_token back as page_token for the next page, other params unchanged; one call per page, tokens last 24 hours
- Mode: sync; add "mode": "async" for slow tasks

热点宝上升热点榜适合盯名次的变化：每个热点除了 `rank` 和热度值 `hot_value`，还有 `rank_change`，表示比上一次榜单快照上升了几名，负数是下降。`hot_trend` 按小时给出这个热点最近的热度走势，`category` 是原平台的分类名称，没有做跨平台归一，按它分组前先看清有哪些取值。

`keyword` 用来限定只看含某个词的热点，不传就是全站上升热点榜。每页固定 50 个，最后一页可能更少，`limit` 能传但不起作用；下一页的令牌 24 小时内有效，翻到底时响应里没有 `next_page_token`。

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=douyin&action=billboard_rise_list

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| keyword | not declared | no | not declared | 只看含这个词的热点（可选），例如 游戏；不传是全站上升热点榜。 |
| page_token | not declared | no | not declared | 翻页令牌。不传是第 1 页（前 50 个热点）；之后把上一页响应里的 next_page_token 原样传回取下一页，其余参数不变。每页最多 50 个、算一次调用；令牌 24 小时内有效；翻到底时没有 next_page_token。 |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| rank | 名次（从 1 开始）：trending 是热榜排名，xingtu_creator_rankings 是星图榜单里的名次，billboard_search_hot 是搜索热榜名次，search_suggest 是联想词在抖音搜索框里的顺序；billboard_rise_list、billboard_challenge_hot、billboard_topic_hot 是热点宝榜单名次（翻页接着往下数）。 |
| rank_change | 名次变化（billboard_rise_list）：比上一次榜单快照上升了几名，负数是下降。 |
| title | 标题。平台无标题概念时（如纯文本帖）为 null。 |
| topic_id | 热点宝里这个热点的 ID（billboard_rise_list、billboard_challenge_hot），同一热点在不同时间的榜上相同。 |
| hot_value | 热度值，抖音自有指标，只在同一榜单、同一时间窗内可比：trending 是热榜热度（热点榜 hotspot 的行上常常为空）；热点宝视频榜（billboard_video_hot 等）是榜单热度分，行按它从高到低排；billboard_search_hot 是这个词在时间窗里的搜索热度；billboard_rise_list、billboard_challenge_hot 是热点热度，billboard_topic_hot 是话题在时间窗里的热度分。 |
| video_count | 视频数：profile、billboard_account_search 是账号的作品数，trending、billboard_rise_list、billboard_challenge_hot 是这个热点下的相关视频数。 |
| category | 分类名称，取值为原平台的分类体系，未做跨平台归一。 |
| created_at | 创建时间，格式同 posted_at。 |
| hot_trend | 这个热点最近的热度走势（billboard_rise_list 按小时、billboard_challenge_hot 约每 10 分钟一个点）：[{time（UTC，ISO 8601）, hot_value}]，从早到晚。 |
| next_page_token | 翻页令牌（search / user_posts / comments / comment_replies / billboard_video_hot / billboard_low_fan_explosion / billboard_high_completion / billboard_account_search / music_search / billboard_rise_list / billboard_topic_hot）：作为下一次请求的 page_token 原样传回取下一页（其余参数不变，24 小时内有效）；同一页每行的值相同，响应顶层也有同一个 next_page_token。没有该字段即到底。评论翻页逐页覆盖全部顶层评论。 |
| platform | 数据来源平台标识，与请求里的 platform 一致（如 xiaohongshu、tiktok）。 |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "douyin",
  "action": "billboard_rise_list",
  "params": {}
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "douyin",
        "action": "billboard_rise_list",
        "params": {},
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

No real sample for these example parameters yet: structure only, every value is a placeholder (…).

```text
{
  "id": "req_…",
  "platform": "douyin",
  "action": "billboard_rise_list",
  "results": [
    {
      "rank": …,
      "rank_change": …,
      "title": …,
      "topic_id": …,
      "hot_value": …,
      "video_count": …,
      "category": …,
      "created_at": …,
      "hot_trend": …,
      "next_page_token": …,
      "platform": …
    }
  ],
  "next_page_token": …,
  "pagination": { … },
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### 怎么只看某个领域的上升热点？

给 `keyword` 传一个词，例如 游戏，接口就只返回含这个词的热点。它按词筛选，不按分类筛选；`category` 只是每行上的一个返回字段，拿到结果后可以用它再分组。

### `rank_change` 是负数代表什么？

代表这个热点比上一次榜单快照下降了几名；正数是上升了几名。这个字段只有上升热点榜有，挑战热榜没有。`rank` 翻页后接着往下数，不会每页从 1 重新开始，所以跨页比较名次时可以直接用。

### 想要更细的热度走势，该用哪一页？

用挑战热榜那一页。这一页的 `hot_trend` 按小时给点，挑战热榜的同名字段约每 10 分钟一个点。反过来，名次变化、分类和翻页只有这一页有。两页的 `topic_id` 都是热点宝里的热点 ID，同一热点在不同时间的榜上相同，可以用它对齐两边的数据。

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=douyin
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
