# 🇨🇳 Weibo Hot Search Tracker · 微博热搜追踪 (`nexgendata/weibo-hot-search-tracker`) Actor

Track the Weibo Hot Search list (微博热搜) live — China's #1 social trending barometer. Top-50 ranked keywords, heat score, category, 新/热/沸 flags, pinyin & best-effort English translation. Bloomberg / Hootsuite China alternative.

- **URL**: https://apify.com/nexgendata/weibo-hot-search-tracker.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $100.00 / 1,000 weibo hot-search topic records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🇨🇳🔥 Weibo Hot Search Tracker — China Trending Topics

**The institutional-grade feed for the Weibo Hot Search list (微博热搜榜) — China's #1 real-time social-trending barometer.** Pulls the top 50 ranked keywords every run, with heat scores, category tags, 新/热/沸 status flags, pinyin transliteration, and best-effort English translation. Drop-in alternative to Bloomberg's China desk feed, Reuters Eikon's China sentiment overlay, and Hootsuite Insights China — at a fraction of the cost, with no contract and no minimum commitment.

---

### Why The Weibo Hot Search Matters

Weibo (微博) is the closest thing China has to Twitter/X — except that the platform's "Hot Search" page (热搜榜) carries vastly more cultural, commercial, and political weight than any Western trending list. A topic that hits the top 5 of the Weibo hot-search list will, within minutes:

- Trigger billions of impressions across WeChat group chats, Douyin and Xiaohongshu cross-posts
- Wipe 5-15% off the share price of any company tagged in a negative trending topic
- Force PRC government press offices to issue same-day clarifications when a sensitive story rises to the top three
- Drive consumer-good SKUs to sell out on Tmall and JD.com within hours (the "Weibo bump")

That signal is investable. Long-short equity funds use Weibo hot-search velocity as a daily consumer-sentiment factor. Brand managers at L'Oréal China, LVMH China, Nike China and every major MNC subsidiary run real-time crisis monitoring against the top-50 list because a PR disaster typically appears as a Weibo hot-search topic 6-18 hours before mainstream Chinese media picks it up. Sinologists and PRC-watch desks at think tanks, universities and embassies track the list as a censorship telemetry: which stories are amplified, which are quietly demoted, which 新 (new) flags become 沸 (boiling) within an hour. And quant macro shops use the heat-score distribution as a leading indicator for Hang Seng tech, A-share consumer, and CNY/USD sentiment moves.

The problem: Weibo doesn't publish a clean API, the on-page render uses Sina's visitor-cookie token dance, and almost every commercial "China social listening" vendor charges \$15k-\$120k/year per seat for what is fundamentally a structured scrape of 50 rows of public JSON. This actor closes that gap.

---

### What You Get

Run the actor and you receive a clean JSON dataset, one record per Weibo hot-search topic, with every field you'd expect plus the China-specific extras you need to integrate the feed into a multi-source pipeline:

```json
{
  "rank": 1,
  "keyword": "联想确认成为英伟达H200中国分销商",
  "keyword_pinyin": "lian xiang que ren cheng wei ying wei da H 200 zhong guo fen xiao shang",
  "keyword_english_translation": "Lenovo confirmed as Nvidia H200 China distributor",
  "category": "tech",
  "heat_score": 2439113,
  "is_hot": true,
  "is_new": true,
  "weibo_url": "https://s.weibo.com/weibo?q=%E8%81%94%E6%83%B3%E7%A1%AE%E8%AE%A4%E6%88%90%E4%B8%BA%E8%8B%B1%E4%BC%9F%E8%BE%BEH200%E4%B8%AD%E5%9B%BD%E5%88%86%E9%94%80%E5%95%86&Refer=hot_search",
  "label_chinese": "新",
  "is_government_topic": false,
  "as_of_timestamp": "2026-05-14T08:14:22.000Z",
  "data_source": "weibo.com/ajax/side/hotSearch (realtime)"
}
````

That's everything you need to:

- Build a daily Chinese social-sentiment factor and back-test it against the CSI 300, the Hang Seng Tech index, or the USD/CNY pair
- Run real-time brand-crisis monitoring against your own ticker, brand name, or product SKU
- Track censorship and amplification telemetry across politics / society / celebrity categories
- Feed a Chinese-language NER + entity-linking pipeline with the freshest trending entities every minute
- Sync the dataset into Snowflake / BigQuery / Databricks via Apify's native warehouse integrations
- Power a Slack / Teams / email digest of the top-10 PRC stories of the morning

***

### Input Filters

| Input | Type | Description |
|---|---|---|
| `limit` | integer | Max trending topics to return (1–50). Use `10` for quick smoke tests, `50` for the full board. |
| `category` | enum | `all`, `entertainment`, `society`, `politics`, `sports`, `tech`, `finance`, `celebrity`. |
| `include_translation` | boolean | If true, fills `keyword_english_translation` via a free public translation API. Adds 1-2s per topic. |
| `include_government_topics` | boolean | Include the 1-3 state-pinned hotgovs topics (typically Xi Jinping / PRC government announcements) at the top of the dataset. |
| `proxyConfiguration` | proxy | Apify proxy. RESIDENTIAL recommended (Weibo applies geographic rate limits); the actor auto-falls-back to direct fetch if proxy negotiation fails. |

Every property has a `default` and a `prefill` value, so you can run the actor without specifying any input.

***

### Use Cases For Institutional Capital

#### Hedge funds — China consumer sentiment factor

The aggregated heat-score distribution across the `finance` and `society` categories correlates meaningfully with next-day CSI 300 dispersion, single-name surprise (e.g. consumer staples earnings reactions), and Hang Seng Tech volatility. Pull the actor on a daily cron at 22:00 Beijing time and feed the top-50 heat-score vector into your factor model.

#### Long-short equity desks — single-name PR risk

A negative topic about a listed company (think: a viral Weibo post tagging a brand for a product-safety, advertising, or labour issue) routinely precedes a 5-15% intraday drawdown in the related ADR or H-share. Run a daily diff against your portfolio's brand-name watchlist and you have a no-effort, no-vendor-lock-in PR-risk alert layer.

#### Brand marketing teams — real-time crisis monitoring

For L'Oréal, Nestlé, Unilever, LVMH, Nike and every China-MNC subsidiary, Weibo is the PR battlefield. A 沸 (boiling) topic tagging your brand requires a press-office response within 90 minutes. This actor delivers that signal every run; pair it with Apify's scheduled-task feature for minute-by-minute coverage during sensitive product launches.

#### Sinologists & PRC-watch desks — censorship & amplification telemetry

Hot-search ranks are not neutral. Weibo, like all PRC platforms, applies algorithmic amplification (for state-aligned narratives, especially under the `hotgovs` block) and silent demotion (for sensitive topics that nonetheless still trend organically). Tracking the rank trajectory of `politics`-tagged topics, especially around major Party plenums or geopolitical events, surfaces the editorial line in real time.

#### Quant signal research

Use the canonical category tagging and the pinyin / English translation pair to back-test trending-topic NLP signals against PRC equity, FX, and bond returns. The heat-score is a numeric weight; the category split lets you build category-specific factors.

***

### Pricing — Pay Per Topic

| Event | Cost |
|---|---|
| Actor start | **$0.01** |
| Per Weibo hot-search topic returned | **$0.10** |

A 10-topic smoke test costs **$1.01** total. A full 50-topic board pull costs **$5.01**. Run it hourly for a month and you're at ~$3,610 — still ~25× cheaper than a single Hootsuite Insights China seat, and ~100× cheaper than a Bloomberg China desk feed. No subscription, no minimum commitment, no annual contract negotiation. Pay only when you run.

***

### Comparison — Weibo Hot Search Tracker vs The Big Three

| Capability | NexGenData Weibo Hot Search Tracker | Bloomberg China Desk Feed | Reuters Eikon China Sentiment | Hootsuite Insights China |
|---|---|---|---|---|
| **Annual cost** | Pay-per-run (~$1.01 / 10 topics) | $24,000+ / seat / year | $22,000+ / seat / year | $15,000+ / seat / year |
| **Update frequency** | Live (every run) | 15-min lag | 30-min lag | 60-min lag |
| **Top-50 hot-search coverage** | Yes (all 50 + state-pinned hotgovs) | Partial (curated top-10) | Partial (curated top-15) | Top-25 |
| **Heat-score numeric** | Yes (raw Weibo `num`) | Aggregated index only | Aggregated index only | Yes |
| **Category tagging** | 7 canonical EN categories + Weibo flag\_desc | English categories | Reuters topic codes | English categories |
| **Pinyin transliteration** | Yes (every keyword) | No | No | No |
| **English translation** | Yes (best-effort) | Yes | Yes | Yes |
| **新 / 热 / 沸 flag surface** | Yes (raw + booleans) | No | No | No |
| **State-pinned hotgovs surface** | Yes (separate from organic) | No | No | No |
| **Deep-link to Weibo topic page** | Yes (`weibo_url`) | No | No | Partial |
| **JSON / CSV export** | Yes (Apify dataset) | Bloomberg Terminal lock-in | Eikon Workspace lock-in | CSV |
| **Native warehouse sync** | Yes (Snowflake / BQ / Databricks via Apify) | No | No | No |
| **Contract required** | No | 12-month minimum | 12-month minimum | 12-month minimum |

For brand-marketing teams running PR-crisis monitoring, the Hootsuite seat is the closest comp — but Hootsuite caps you at 25 trending topics, doesn't expose the raw heat-score, and doesn't separate state-pinned hotgovs from organic trends. For hedge funds, the actor is a strict superset of what Bloomberg China and Reuters Eikon emit on their respective "China social" tabs, at three orders of magnitude lower cost.

***

### Data Sources & Reliability

1. **Weibo public ajax endpoint** (primary): `weibo.com/ajax/side/hotSearch`. Public, unauthenticated, returns the full 50-entry realtime list plus 1-3 state-pinned `hotgovs` topics with rich metadata. This is the same endpoint Weibo's own website uses to render the side-panel hot-search widget — anti-bot risk is medium, the actor backs off gracefully and supports residential proxy rotation.
2. **Direct-fetch fallback**: if the Apify proxy negotiation fails or the chosen IP is geo-blocked, the actor retries via the runner's direct IP. Weibo rarely blocks cloud IPs on this specific endpoint.
3. **Best-effort translation**: `translate.googleapis.com/translate_a/single` (free, unauthenticated, low-volume safe). Translation is non-essential and degrades gracefully — if Google rate-limits, the `keyword_english_translation` field is null and the rest of the record is still emitted.
4. **Pinyin transliteration**: bundled offline via the `pypinyin` library — no external dependency, runs deterministically, never rate-limits.

***

### Cross-Reference Our Other China & Trending-Data Actors

The Weibo hot-search feed is one slice of a full China-and-trending data stack. Pair this actor with any of our sister actors for richer pipelines:

- **🇨🇳📺 [Bilibili Video Search](https://apify.com/nexgendata/bilibili-video-search)** — search and rank Bilibili videos by view count, like count, and channel. The Bilibili equivalent of the Weibo hot-search list for video-native PRC content (Gen-Z / ACG / education).
- **🇨🇳📈 [China Trends Tracker](https://apify.com/nexgendata/china-trends-tracker)** — aggregated trending feed across Baidu, Toutiao, Zhihu, and Xiaohongshu. Use to triangulate the Weibo hot-search list against text-search and Q\&A-platform trends.
- **🇨🇳 [Eastmoney China Stock Screener](https://apify.com/nexgendata/eastmoney-china-stock-screener)** — onshore A-share screener (SSE + SZSE) with live prices and fundamentals. Cross-reference a finance-category Weibo trend against its underlying single-name equity.
- **🇭🇰 [HKEX Hang Seng Stock Screener](https://apify.com/nexgendata/hkex-hang-seng-stock-screener)** — Hong Kong-listed equities including HKEX dual listings of every Chinese ADR. Most listed Chinese companies that get tagged in a Weibo hot-search story are HKEX-tradable.
- **🇨🇳🇺🇸 [Chinese ADRs Stock Screener](https://apify.com/nexgendata/chinese-adrs-stock-screener)** — US-listed Chinese ADRs (NYSE + NASDAQ), with VIE-structure flag and HKEX dual-listing ticker mapping. Trade the Weibo sentiment via the ADR.
- **🛠️ [Finance MCP Server](https://apify.com/nexgendata/finance-mcp-server)** — Model Context Protocol server that exposes our entire fleet of equity, FX, and trending-data actors to Claude, Cursor, and other LLM clients. Drop the Weibo feed into your agent workflow.

All six integrate identically: same JSON output, same `?build=latest` pinning, same Apify dataset format. Stitch them into a single pipeline via Apify's webhook chaining or use the MCP server to call them ad-hoc from inside an LLM.

***

### How To Run

**Apify Console** — paste your filter inputs, hit Run, download the dataset as JSON or CSV.

**Apify API** (Python):

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("nexgendata/weibo-hot-search-tracker").call(run_input={
    "limit": 50,
    "category": "all",
    "include_translation": True,
    "include_government_topics": True,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["rank"], item["keyword"], item["heat_score"])
```

**Schedule it** — pair the actor with an Apify scheduled task. Hourly cadence (`0 * * * *`) gives you 24 snapshots a day and a complete view of how topics trend in and out across the day. For brand-crisis monitoring during a product launch, every 5 minutes (`*/5 * * * *`) is the typical setup.

***

### FAQ

**How fresh is the data?** Live. The Weibo ajax endpoint refreshes roughly once a minute on Weibo's side; you get the latest snapshot each run.

**What's the difference between `realtime` and `hotgovs`?** `realtime` is the 50-entry organic hot-search list ranked by heat score. `hotgovs` is a 1-3 entry block of state-pinned topics (almost always Xi Jinping or PRC government announcements) that Weibo surfaces above the organic list. The actor returns both with `is_government_topic: true/false` so you can filter cleanly.

**Why does my pinyin look slightly different from another service?** `pypinyin` emits the most-common reading without tone marks. For Chinese proper nouns with regional variants (e.g. Cantonese names or Min Nan place names) the romanisation falls back to standard Mandarin — adjust client-side if your downstream pipeline needs Wade-Giles or Yale.

**Can I get historical hot-search data?** Not yet — this actor returns a live snapshot. If you schedule it hourly and pipe each run's dataset to your warehouse you build a longitudinal history yourself for ~$3,610/month at full 50-topic-hourly cadence.

**Does it work with Apify webhooks?** Yes. Native Apify webhook fires on every run completion; pipe the dataset into Slack, S3, Snowflake or your in-house Kafka topic.

**Why is `category` sometimes generic?** Weibo only tags a subset of topics with `flag_desc`. For untagged topics the actor applies a Chinese-keyword heuristic to classify into one of seven canonical categories — when uncertain it defaults to `society`, the modal category for organic Weibo trends.

***

### Built By NexGenData

We build data infrastructure for global equity desks, brand-marketing teams, and PRC-watch researchers. 130+ actors live on Apify covering US, China, Hong Kong, Japan, Korea, EU, and emerging markets — plus our Finance MCP Server for LLM-native integration. If you're building a fund-grade data pipeline and want our actors bundled, white-labelled, or extended with custom fields — reach out.

**Get free Apify credits & save 30% on platform fees:** <https://apify.com/nexgendata?fpr=2ayu9b>

# Actor input Schema

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

Maximum number of Weibo hot-search trending topics to return, ordered by rank (1 = hottest). The Weibo realtime hot-search list (微博热搜榜 / weibo.com/ajax/side/hotSearch) emits exactly 50 ranked topics — set to 50 to capture the full board, 10 for a quick smoke test.

## `category` (type: `string`):

Optional Weibo category filter. Weibo tags each hot topic with a Chinese category descriptor (flag\_desc): 综艺 entertainment/variety, 社会 society, 时政 politics, 体育 sports, 科技 tech, 财经 finance, 娱乐 celebrity. Choose one or 'all' to skip filtering.

## `include_translation` (type: `boolean`):

If true, the actor calls a free public translation endpoint (Google Translate `translate.googleapis.com`) to fill `keyword_english_translation` for each trending topic. Adds 1-2s per topic. Disable to skip translation calls and return only Chinese + pinyin (cheaper and more reliable).

## `include_government_topics` (type: `boolean`):

Weibo separately surfaces 1-3 state-pinned 'hotgovs' topics (typically Xi Jinping / PRC government announcements) above the realtime list. Set true to include them at the top of the dataset; false to return only the 50 organic realtime hot-search entries.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration. Residential is recommended since the Weibo endpoint is hosted in mainland China and applies geographic rate limits; the actor also falls back to direct fetch if proxy negotiation fails. Defaults to RESIDENTIAL group.

## Actor input object example

```json
{
  "limit": 50,
  "category": "all",
  "include_translation": true,
  "include_government_topics": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "limit": 50,
    "category": "all",
    "include_translation": true,
    "include_government_topics": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/weibo-hot-search-tracker").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 = {
    "limit": 50,
    "category": "all",
    "include_translation": True,
    "include_government_topics": True,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "limit": 50,
  "category": "all",
  "include_translation": true,
  "include_government_topics": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call nexgendata/weibo-hot-search-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/weibo-hot-search-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🇨🇳 Weibo Hot Search Tracker · 微博热搜追踪",
        "description": "Track the Weibo Hot Search list (微博热搜) live — China's #1 social trending barometer. Top-50 ranked keywords, heat score, category, 新/热/沸 flags, pinyin & best-effort English translation. Bloomberg / Hootsuite China alternative.",
        "version": "0.0",
        "x-build-id": "Gilv0dZg1JoXTZ7hf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~weibo-hot-search-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-weibo-hot-search-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~weibo-hot-search-tracker/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-weibo-hot-search-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~weibo-hot-search-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-weibo-hot-search-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "limit": {
                        "title": "Limit (max trending topics)",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of Weibo hot-search trending topics to return, ordered by rank (1 = hottest). The Weibo realtime hot-search list (微博热搜榜 / weibo.com/ajax/side/hotSearch) emits exactly 50 ranked topics — set to 50 to capture the full board, 10 for a quick smoke test.",
                        "default": 50
                    },
                    "category": {
                        "title": "Category filter",
                        "enum": [
                            "all",
                            "entertainment",
                            "society",
                            "politics",
                            "sports",
                            "tech",
                            "finance",
                            "celebrity"
                        ],
                        "type": "string",
                        "description": "Optional Weibo category filter. Weibo tags each hot topic with a Chinese category descriptor (flag_desc): 综艺 entertainment/variety, 社会 society, 时政 politics, 体育 sports, 科技 tech, 财经 finance, 娱乐 celebrity. Choose one or 'all' to skip filtering.",
                        "default": "all"
                    },
                    "include_translation": {
                        "title": "Include best-effort English translation",
                        "type": "boolean",
                        "description": "If true, the actor calls a free public translation endpoint (Google Translate `translate.googleapis.com`) to fill `keyword_english_translation` for each trending topic. Adds 1-2s per topic. Disable to skip translation calls and return only Chinese + pinyin (cheaper and more reliable).",
                        "default": true
                    },
                    "include_government_topics": {
                        "title": "Include government/state-pinned topics (hotgovs)",
                        "type": "boolean",
                        "description": "Weibo separately surfaces 1-3 state-pinned 'hotgovs' topics (typically Xi Jinping / PRC government announcements) above the realtime list. Set true to include them at the top of the dataset; false to return only the 50 organic realtime hot-search entries.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Residential is recommended since the Weibo endpoint is hosted in mainland China and applies geographic rate limits; the actor also falls back to direct fetch if proxy negotiation fails. Defaults to RESIDENTIAL group.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
