# Weibo Scraper — Hot Search, Trending Posts & Comments (`technicaldost/weibo-scraper-hot-search-trending-posts`) Actor

Scrape Sina Weibo (微博) without login: the live hot search board (微博热搜) with heat and category, trending posts with full text, images, video and engagement, post comments and public profiles. $3 per 1,000 rows, no start fee.

- **URL**: https://apify.com/technicaldost/weibo-scraper-hot-search-trending-posts.md
- **Developed by:** [Technical Dost Solutions](https://apify.com/technicaldost) (community)
- **Categories:** Social media, News
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 rows

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/actors/running/actors-in-store.md#pay-per-event

## 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

Weibo Scraper gets public data from **Sina Weibo (微博)**, China's largest public social network, **without a login or cookies**: the **live hot search board (微博热搜)** with rank, heat, category and label, **trending posts (热门)** with full text, topics, images, video, reposts, comments and likes, **any post by URL** with its **comments**, and **public profiles** with follower counts. Schedule it hourly to track what China is talking about.

### What you get

- Hot search board (微博热搜): about 50 topics with rank, heat (search volume index), category, label (新/热/沸) and when each topic entered the board, plus the pinned topic.
- Trending posts (热门 feed): up to 500 posts with full long text, #topics#, images, video URL and duration, reposts, comments, likes, region and author with follower count.
- Any post by URL or ID with its comments (hot or latest order): text, likes, replies and commenter region.
- Public profiles by URL, user ID or custom domain: followers, following, posts, verification, description and location.
- No account, cookies or login needed; Weibo's guest access is handled automatically.
- One clean dataset with a `type` column (hotSearch, post, comment, profile) for easy filtering.

### How to use Weibo Scraper

1. Keep **Hot search** on and/or set **Trending posts** (e.g. 50).
2. Optionally add **Post URLs** (e.g. `https://weibo.com/1496814565/RpHv8DdXN`) and **Max comments per post**.
3. Optionally add **Profiles** (URLs, user IDs or custom names).
4. Run, export to JSON, CSV or Excel, or schedule it hourly to build a hot-search history.

### Input example

```json
{
  "hotSearch": true,
  "maxTrendingPosts": 50,
  "postUrls": [
    "https://weibo.com/1496814565/RpHv8DdXN"
  ],
  "maxCommentsPerPost": 100,
  "profiles": [
    "https://weibo.com/u/1496814565"
  ]
}
```

All fields are described in the **Input** tab.

### Output example

```json
{
  "type": "post",
  "postId": "5361254229348471",
  "mblogid": "RpHv8DdXN",
  "url": "https://weibo.com/1496814565/RpHv8DdXN",
  "createdAt": "2026-11-03T11:41:18.000Z",
  "text": "【#南京大学用智慧教室查考勤引争议#】#南京大学启用智慧教室学生发声# 近日，南京大学学生收到通知，学校将启用“智慧教室系统”。一张智慧课堂的系统截图中，除监控画面外，还带有迟到学生、到勤率、抬头率统计等，引发争议。\n\n通知表示：“将于下周（11月2日-8日）依托暑期升级改造的智慧教室系统，对相应教师课程的到课率进行为期一周的全程记录。”有老师在群内通知时表示，智慧课堂的到课率会直接影响平时分，甚至可能直接取消课程考试成绩。\n\n目前多名仙林校区的同学告诉@封面新闻 记者，暂未感受到智慧教室系统的实际运作，但仍对课堂管理与隐私有所担忧。有学生表示，学校并未事先征询同学的同意，如有AI人脸识别等功能，担心学生的人脸信息可能被学校与技术公司掌握。即使没有精确的人脸识别，监测抬头率也让一些同学们感到不适。\n\n和仙林校区类似，苏州校区的田同学目前也收到通知将进行一周的查课，虽未点明使用智慧教室系统，但通知同样指出“全程记录相关课程的到课情况和课堂教学秩序”。上学期大二下的他对抓考勤没有什么感觉，但升入大三后他开始准备考研，感到学校抓考勤一定程度上为自己的计划带来了阻力。\n\n@封面新闻 记者多次致电南京大学及项目联系人，截止发稿暂未收到回复。\n\n据公开信息，南京大学的举措并非个例，近年来有北京理工大学、江南大学等多所高校设立智慧巡课/督导系统。http://t.cn/AXYhyDo0 http://t.cn/AXYhUvPC",
  "isLongText": true,
  "topics": [
    "#南京大学用智慧教室查考勤引争议#",
    "#南京大学启用智慧教室学生发声#"
  ],
  "reposts": 36,
  "comments": 25,
  "likes": 167,
  "source": "微博视频号",
  "region": null,
  "images": [],
  "videoUrl": "http://f.video.weibocdn.com/o0/rmXf8rCvlx08C5bXpLTi010412001ajI0E010.mp4?label=mp4_720p&template=720x808.24.0&ori=0&ps=4ub7gI97adQ&Expires=1793734361&ssig=a29U0U%2FDPu&KID=unistore,video",
  "videoDuration": 9,
  "videoPlays": 41307,
  "authorId": "1496814565",
  "authorName": "封面新闻",
  "authorVerified": true,
  "authorVerifiedReason": null,
  "authorFollowers": null,
  "repostOfId": null,
  "repostOfText": null,
  "repostOfAuthor": null,
  "feed": "trending",
  "scrapedAt": "2026-11-03T18:32:43.602Z"
}
```

#### Output fields

| Field | Description |
|---|---|
| `type` | hotSearch, post, comment or profile. |
| `rank` | Hot search rank (0 = pinned). |
| `word` | Hot search topic. |
| `category` | Topic category. |
| `heat` | Heat index. |
| `label` | Label such as 新, 热, 沸. |
| `onboardAt` | When the topic entered the board. |
| `isPinned` | Pinned topic. |
| `searchUrl` | Topic search link. |
| `postId` | Post ID (mid). |
| `mblogid` | Short post ID. |
| `url` | Post link. |
| `createdAt` | Created (ISO 8601). |
| `text` | Text. |
| `isLongText` | Post was truncated by Weibo. |
| `topics` | #Topics# in the text. |
| `reposts` | Reposts. |
| `comments` | Comments. |
| `likes` | Likes. |
| `source` | Client or channel. |
| `region` | Posting region. |
| `images` | Image URLs. |
| `videoUrl` | Video file URL. |
| `videoDuration` | Video length (s). |
| `videoPlays` | Video plays where shown. |
| `authorId` | Author user ID. |
| `authorName` | Author name. |
| `authorVerified` | Verified author. |
| `authorVerifiedReason` | Verification text. |
| `authorFollowers` | Author followers. |
| `repostOfId` | Original post ID if a repost. |
| `repostOfText` | Original post text. |
| `repostOfAuthor` | Original author. |
| `feed` | trending when from the trending feed. |
| `commentId` | Comment ID. |
| `replies` | Replies to the comment. |
| `userId` | Profile user ID. |
| `screenName` | Profile name. |
| `description` | Bio. |
| `followers` | Followers. |
| `following` | Following. |
| `posts` | Posts. |
| `verified` | Verified. |
| `verifiedReason` | Verification text. |
| `location` | Location. |
| `avatarUrl` | Avatar. |
| `profileUrl` | Profile link. |
| `input` | Your input for this row. |
| `scrapedAt` | When scraped (ISO 8601). |

Export results as JSON, CSV, Excel, XML or HTML, or read them with the API.

### Use cases

- China market and brand research: what is trending, which topics mention your brand or category.
- Hot-search history datasets for media, finance (A-share sentiment) and academic research.
- Social listening: comments and engagement on posts about your product or campaign.
- KOL research: follower counts and activity of public accounts.
- AI agents and dashboards that need a live feed of Chinese public opinion.

### How much does Weibo Scraper cost?

This Actor uses **pay-per-event** pricing: **$0.003 per row** ($3 per 1,000). Platform usage is included. There is no start fee. Deleted posts and profiles that are not found cost nothing.

Set **Maximum cost per run** in the run options to cap your spend; the Actor stops when the limit is reached.

### Use Weibo Scraper with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through the hosted [Apify MCP server](https://mcp.apify.com):

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/weibo-scraper-hot-search-trending-posts" --header "Authorization: Bearer YOUR_APIFY_TOKEN"
```

Or in a JSON MCP config:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=technicaldost/weibo-scraper-hot-search-trending-posts",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}
```

The tool is named `technicaldost--weibo-scraper-hot-search-trending-posts`. Ask your agent, for example, to *"run Weibo Scraper with {"hotSearch": true, "maxTrendingPosts": 50, "postUrls": \["https://weibo.com/1496814565/RpHv8DdXN"], "maxCommentsPerPost": 100, "profiles": \["https://weibo.com/u/1496814565"]}"*.

### Run Weibo Scraper via API

```bash
curl -X POST "https://api.apify.com/v2/acts/technicaldost~weibo-scraper-hot-search-trending-posts/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hotSearch": true, "maxTrendingPosts": 50, "postUrls": ["https://weibo.com/1496814565/RpHv8DdXN"], "maxCommentsPerPost": 100, "profiles": ["https://weibo.com/u/1496814565"]}'
```

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/weibo-scraper-hot-search-trending-posts").call(run_input={"hotSearch": True, "maxTrendingPosts": 50, "postUrls": ["https://weibo.com/1496814565/RpHv8DdXN"], "maxCommentsPerPost": 100, "profiles": ["https://weibo.com/u/1496814565"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/weibo-scraper-hot-search-trending-posts').call({"hotSearch": true, "maxTrendingPosts": 50, "postUrls": ["https://weibo.com/1496814565/RpHv8DdXN"], "maxCommentsPerPost": 100, "profiles": ["https://weibo.com/u/1496814565"]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### Integrations

Schedule runs (daily, hourly) in Apify Console and send results to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or your own webhook.

### FAQ

#### Do I need a Weibo account?

No. The Actor uses Weibo's public guest access. It cannot see anything that needs a login.

#### Can it search Weibo by keyword or scrape a user's full timeline?

No. Since 2025 Weibo requires a logged-in account for keyword search and user timelines, and this Actor never logs in. Use the hot search board and trending feed to find posts, then pass post URLs for details and comments.

#### What is heat (热度)?

Weibo's own popularity index for a hot search topic, roughly the search and discussion volume. Compare it across hourly runs to see topics rise and fall.

#### Is the text translated?

No, text is returned as written (mostly Simplified Chinese). Pipe it into a translation step or an LLM if needed.

#### How is it priced?

$3 per 1,000 rows (a topic, post, comment or profile). A full hot search snapshot (~51 rows) costs about $0.15. No start fee.

#### Is it legal to scrape this data?

The Actor collects publicly available information only and does not log in or bypass access controls. Use the data in line with the website's terms and the laws that apply to you, especially when processing personal data.

### Related Actors

More tools from the same developer that work well together with this one:

- [Douyin Scraper — Hot List, Video Detail, No Watermark 抖音](https://apify.com/technicaldost/douyin-hot-video-scraper): Scrape Douyin (抖音) hot-search/trending list, video details (stats, author, music, hashtags) and watermark-free play URLs.
- [XiaoHongShu (RedNote) Scraper — Notes, Search, Comments 小红书](https://apify.com/technicaldost/xiaohongshu-rednote-scraper): Scrape XiaoHongShu (小红书 / RedNote) notes by keyword: titles, authors, engagement stats, images, videos and comments.
- [WeChat Official Account Scraper → Markdown 公众号](https://apify.com/technicaldost/wechat-article-markdown-scraper): Turn any WeChat Official Account (微信公众号) article into clean, RAG-ready Markdown with title, author, account name, publish time, cover and image URLs.
- [Bilibili Video Scraper — Search & Trending (哔哩哔哩)](https://apify.com/technicaldost/bilibili-video-scraper-search-trending): Scrape Bilibili (哔哩哔哩) videos by keyword or from the trending (热门) list: title, views, likes, coins, favorites, danmaku, comments, shares, duration, tags,…

# Actor input Schema

## `hotSearch` (type: `boolean`):

Scrape the live hot search list (about 50 topics).

## `maxTrendingPosts` (type: `integer`):

How many posts to take from the trending feed (0 = none, up to 500).

## `postUrls` (type: `array`):

Weibo post links or IDs, e.g. https://weibo.com/1496814565/RpHv8DdXN.

## `maxCommentsPerPost` (type: `integer`):

Comments to scrape for each post URL (0 = none, up to 2,000).

## `commentOrder` (type: `string`):

Most liked or latest first.

## `profiles` (type: `array`):

Profile URLs, user IDs or custom names, e.g. https://weibo.com/u/1496814565 or yangmiblog.

## `fullText` (type: `boolean`):

Fetch the complete text when Weibo truncates a post (one extra request).

## Actor input object example

```json
{
  "hotSearch": true,
  "maxTrendingPosts": 0,
  "postUrls": [],
  "maxCommentsPerPost": 0,
  "commentOrder": "hot",
  "profiles": [],
  "fullText": true
}
```

# Actor output Schema

## `results` (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 = {
    "maxTrendingPosts": 0,
    "postUrls": [],
    "profiles": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("technicaldost/weibo-scraper-hot-search-trending-posts").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 = {
    "maxTrendingPosts": 0,
    "postUrls": [],
    "profiles": [],
}

# Run the Actor and wait for it to finish
run = client.actor("technicaldost/weibo-scraper-hot-search-trending-posts").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 '{
  "maxTrendingPosts": 0,
  "postUrls": [],
  "profiles": []
}' |
apify call technicaldost/weibo-scraper-hot-search-trending-posts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,technicaldost/weibo-scraper-hot-search-trending-posts"
        }
    }
}
```

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/NIZJfsBibP5Xq146z/builds/FmyNvHAx8yLsCGydQ/openapi.json
