# China Hot Search Scraper: Weibo, Baidu, Douyin, Zhihu (`filial_gourd/china-hot-search`) Actor

Real-time trending topics from 9 Chinese hot-search boards – Weibo, Baidu, Douyin, Zhihu, Toutiao, Bilibili, Tencent News, The Paper – in one unified dataset. Fast, no login, no proxy.

- **URL**: https://apify.com/filial_gourd/china-hot-search.md
- **Developed by:** [we do](https://apify.com/filial_gourd) (community)
- **Categories:** Social media, News, Marketing
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## China Hot Search Scraper – Weibo, Baidu, Douyin, Zhihu, Bilibili trends

**Get what 1 billion+ Chinese internet users are talking about right now.** This Actor collects the real-time **hot-search / trending boards** of the 9 biggest Chinese platforms and returns them in **one clean, unified dataset** – in a few seconds, without login, cookies, browsers or proxies.

| Platform | Board | Platform id |
|---|---|---|
| Weibo (微博) | Hot Search 热搜榜 | `weibo` |
| Baidu (百度) | Hot Search 热搜 | `baidu` |
| Douyin (抖音, TikTok China) | Hot List 热榜 | `douyin` |
| Zhihu (知乎) | Hot List 热榜 | `zhihu` |
| Toutiao (今日头条) | Hot Board 热榜 | `toutiao` |
| Bilibili (B站) | Popular videos 热门 | `bilibili` |
| Bilibili (B站) | Hot Search 热搜 | `bilibili-search` |
| Tencent News (腾讯新闻) | Hot Ranking 热点榜 | `tencent-news` |
| The Paper (澎湃新闻) | Hot News 热榜 | `thepaper` |

### What can I use China Hot Search Scraper for?

- 📈 **China market research & trend spotting** – see which brands, products, celebrities and events are trending on Weibo, Douyin and Baidu today.
- 📰 **News monitoring & media intelligence** – track breaking stories across Chinese news and social platforms in one feed.
- 🛍️ **Marketing & content planning** – find viral topics for Douyin / Xiaohongshu / Bilibili content and campaign timing.
- 🔔 **Brand & keyword alerts** – use the *Keyword filter* (e.g. `华为`, `Tesla`, `比亚迪`) and schedule the Actor every hour to get notified when your brand hits a hot list.
- 🤖 **AI agents, LLM & RAG pipelines** – feed fresh Chinese trending topics into ChatGPT/Claude workflows, dashboards or newsletters via the API or MCP.
- 🎓 **Academic & social research** – build historical datasets of Chinese public attention by running it on a schedule.

### Why use this Actor?

- **9 boards, 1 schema** – every item has the same fields (`platform`, `rank`, `title`, `url`, `hotValue`, …), so you can mix platforms in one spreadsheet.
- **Fast & cheap** – one lightweight request per platform, all in parallel. A full run of all 9 boards typically finishes in **under 10 seconds** on 256 MB memory.
- **Robust** – each platform is retried once and isolated: if one board is temporarily unavailable you still get the others, and the failure is reported in the `SUMMARY` record instead of failing the run.
- **No ads** – paid placements on Weibo are skipped.
- **Public data only** – only public, aggregate trending data (topic titles, ranks, heat scores, public links). No personal data, no login.

### How to use it

1. Click **Try for free** / **Start**.
2. Select the platforms you want (default: all 9), set *Max items per platform* (default 20) and optionally a *Keyword filter*.
3. Click **Start** and download results as **JSON, CSV, Excel, XML or HTML**, or fetch them via the [Apify API](https://docs.apify.com/api/v2).
4. Optional: create a **Schedule** (e.g. every hour) and connect **integrations** (Google Sheets, Slack, Zapier, Make, webhooks) to get a live China trends feed.

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `platforms` | array of strings | all 9 | Platform ids from the table above |
| `limit` | integer 1–50 | `20` | Max topics per platform (top N by rank) |
| `keyword` | string | – | Case-insensitive filter on title/excerpt (Chinese or English) |
| `includeRaw` | boolean | `false` | Attach the original upstream JSON as `raw` |
| `timeoutSecs` | integer 5–60 | `20` | Per-request HTTP timeout |

Example input:

```json
{
  "platforms": ["weibo", "baidu", "douyin", "zhihu"],
  "limit": 10,
  "keyword": ""
}
```

### Output

Each dataset item is one trending topic. Example (Bilibili popular video):

```json
{
  "platform": "bilibili",
  "platformName": "Bilibili Popular Videos (B站热门)",
  "rank": 1,
  "title": "看这个视频我不烧心！",
  "url": "https://www.bilibili.com/video/BV1WSHL66EdZ",
  "hotValue": 1567571,
  "label": "百万播放",
  "category": "搞笑",
  "excerpt": null,
  "imageUrl": "https://i0.hdslb.com/bfs/archive/cfb2508....jpg",
  "publishedAt": "2026-10-04T10:38:45Z",
  "extra": { "views": 1567571, "likes": 117947, "coins": 5902, "favorites": 14567, "danmaku": 1645, "durationSec": 273, "channel": "呱唧菌" },
  "fetchedAt": "2026-10-05T08:10:14Z"
}
```

Example (Baidu hot search):

```json
{
  "platform": "baidu",
  "platformName": "Baidu Hot Search (百度热搜)",
  "rank": 1,
  "title": "过一个风清气正的节日",
  "url": "https://www.baidu.com/s?wd=...",
  "hotValue": 7904083,
  "label": null,
  "category": null,
  "excerpt": "中秋连国庆。既是举国欢庆的日子……",
  "imageUrl": "https://fyb-2.cdn.bcebos.com/hotboard_image/....",
  "publishedAt": null,
  "extra": null,
  "fetchedAt": "2026-10-05T08:10:14Z"
}
```

#### Output fields

| Field | Description |
|---|---|
| `platform` / `platformName` | Platform id and human-readable board name |
| `rank` | Position on the board (1 = hottest) |
| `title` | Topic, headline or video title (original Chinese) |
| `url` | Public link to the topic / search page / article / video |
| `hotValue` | Platform heat score (Bilibili popular: views; The Paper: likes) |
| `label` | Badge such as 热 (hot), 新 (new), 爆 (boom), when provided |
| `category` | Category / channel, when provided |
| `excerpt` | Short description, when provided (Baidu, Zhihu, Tencent, Bilibili) |
| `imageUrl` | Cover image, when provided |
| `publishedAt` | Publish/event time (UTC), when provided |
| `extra` | Platform-specific extras (Bilibili stats, Zhihu answer/follower counts, Douyin video count) |
| `fetchedAt` | Snapshot time (UTC) – identical for all items of one run |

A key-value store record **`SUMMARY`** contains item counts per platform and any per-platform errors.

### How much does it cost?

The Actor is very lightweight (no browser, no proxy). See the **Pricing** tab for the current price per result. A typical run with all 9 boards × 20 topics returns ~180 results.

### FAQ

**Is it legal?** The Actor only reads publicly available, aggregate trending lists that anyone can see without logging in. It does not collect personal data. You are responsible for using the data in line with applicable laws and the platforms' terms.

**How often are the boards updated?** Most boards update every few minutes. Schedule the Actor (e.g. every 30–60 minutes) to build a time series.

**Can I translate titles to English?** Titles are returned in original Chinese. Pipe the dataset into a translation integration or LLM if you need English.

**A platform returned 0 items?** Upstream boards occasionally change or rate-limit. The run still succeeds with the other platforms; check `SUMMARY.errors`. Please open an **Issue** on the Actor page and it will be fixed quickly.

**Need another platform (Xiaohongshu, Kuaishou, WeChat, 36Kr…) or a custom field?** Open an Issue on the Actor page with your request.

# Actor input Schema

## `platforms` (type: `array`):

Which Chinese hot-search / trending boards to fetch. Leave empty to fetch all 9.

## `limit` (type: `integer`):

How many top-ranked topics to return from each platform (1–50). Most boards publish 20–50 entries.

## `keyword` (type: `string`):

Only return topics whose title or excerpt contains this text (case-insensitive). Works with Chinese or English, e.g. 华为, AI, 比亚迪.

## `includeRaw` (type: `boolean`):

Attach the original platform payload to each item as `raw`. Makes the dataset much larger; useful for debugging or custom fields.

## `timeoutSecs` (type: `integer`):

Per-request timeout. A platform that times out is retried once and then skipped (reported in the SUMMARY record) without failing the whole run.

## Actor input object example

```json
{
  "platforms": [
    "weibo",
    "baidu",
    "douyin",
    "zhihu",
    "toutiao",
    "bilibili",
    "bilibili-search",
    "tencent-news",
    "thepaper"
  ],
  "limit": 20,
  "keyword": "",
  "includeRaw": false,
  "timeoutSecs": 20
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "platforms": [
        "weibo",
        "baidu",
        "douyin",
        "zhihu",
        "toutiao",
        "bilibili",
        "bilibili-search",
        "tencent-news",
        "thepaper"
    ],
    "limit": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("filial_gourd/china-hot-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "platforms": [
        "weibo",
        "baidu",
        "douyin",
        "zhihu",
        "toutiao",
        "bilibili",
        "bilibili-search",
        "tencent-news",
        "thepaper",
    ],
    "limit": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("filial_gourd/china-hot-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "platforms": [
    "weibo",
    "baidu",
    "douyin",
    "zhihu",
    "toutiao",
    "bilibili",
    "bilibili-search",
    "tencent-news",
    "thepaper"
  ],
  "limit": 20
}' |
apify call filial_gourd/china-hot-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,filial_gourd/china-hot-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/uMH9PR3ExpyOfuu3M/builds/WNl1Z6D1lBTxT5jzk/openapi.json
