# Weibo Scraper: Hot Search, Trending Posts, Comments & Profiles (`zaiq/weibo-scraper`) Actor

Weibo (微博) data without login: the live hot search list (热搜) with heat and category, trending posts (热门微博) with reposts, comments, likes, images and video, any post by link with its comments, and user profiles with followers, verification, company and school.

- **URL**: https://apify.com/zaiq/weibo-scraper.md
- **Developed by:** [Zaiq](https://apify.com/zaiq) (community)
- **Categories:** Social media, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.20 / 1,000 hot search terms

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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: hot search, trending posts, comments and profiles (微博, no login)

Get **Weibo (微博) data without an account**: the live **hot search list (热搜榜)** with each term's **heat**, category, label and time on the list; **trending posts (热门微博)** with the full text, author, **reposts, comments and likes**, topics, images and video; **any post by link** with its **comments**; and **user profiles** with **followers**, following, post count, verification, company, school and Weibo's influence labels.

Built for **China social listening**, **trend tracking**, **brand monitoring**, **KOL (influencer) research** and **media monitoring**. Run it hourly to follow what China is talking about. Results come back in clean, consistent rows; Chinese text is kept as written.

### What you get

| Field | What it holds |
|---|---|
| Hot search rows | `rank`, `term`, `heat`, `category`, `label` (新/热/沸/爆), `onListSince`, `events`, `url` |
| Post rows | `mid`, `mblogid`, `text` (full, long posts expanded), `createdAt`, `author` (name, id, verified), `reposts`, `comments`, `likes`, `topics`, `images`, `video`, `source`, `location`, `url` |
| Comment rows | `text`, `createdAt`, `likes`, `replies`, `author` (name, verified, followers), `sentFrom`, `postUrl` |
| Profile rows | `name`, `uid`, `description`, `followers`, `following`, `posts`, `verified`, `verifiedReason`, `gender`, `location`, `memberLevel`, `createdAt`, `company`, `school`, `credit`, `labels` (e.g. influence index, monthly interactions), `avatar`, `url` |

### What people use it for

- **Trend tracking:** save the hot search list every hour and see what rises, how hot it gets and how long it stays
- **Brand monitoring in China:** follow the posts and comments about your brand when they trend
- **KOL research:** profiles with followers, verification and Weibo's own influence labels
- **Public opinion analysis:** comments with likes and time, for sentiment and topic analysis
- **Media monitoring:** the trending posts of the day with their reach (reposts, comments, likes)
- **AI and NLP datasets:** Chinese-language posts and comments at scale

### How to use it

1. Keep **Hot search list** on (or off) and turn on **Trending posts** if you want them.
2. Add **post links** and set **Comments per post** for comments.
3. Add **users** (ids, profile links or screen names) for profiles, then click **Start**. Schedule it hourly for trend tracking.

### Input

| Field | Example | Notes |
|---|---|---|
| Hot search list (热搜) | on | The 50 terms on the list now |
| Trending posts (热门微博) | off | Weibo's trending posts feed |
| Trending posts to return | `30` | Up to 500 |
| Posts | `https://weibo.com/<uid>/<id>` | Links, mids or mblogids |
| Comments per post | `50` | 0 = none |
| Comments order | Most liked first | Or newest first |
| Users | `<user id>` | Ids, links or screen names |

### Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

```json
{
  "kind": "hot-search",
  "rank": 1,
  "term": "某品牌新品发布会",
  "heat": 633647,
  "category": "科技",
  "label": "热",
  "onListSince": "2026-10-12T14:50:22Z",
  "events": [
    "2026秋季新品发布"
  ],
  "url": "https://s.weibo.com/weibo?q=%23...%23"
}
```

A record named `SUMMARY` in the run's key-value store says what each input returned, with any notes (for example an account that does not exist), what was charged and how much traffic the run used.

### Pricing

- **$0.004 per hot search term** (the full list of 50 is $0.20)
- **$0.01 per post**
- **$0.003 per comment**
- **$0.01 per profile**
- Posts and users that don't exist or aren't visible are free

What typical jobs cost at the list price:

| Job | Cost |
|---|---|
| The hot search list, once | $0.20 |
| The hot search list every hour for a day | $4.80 |
| 30 trending posts | $0.30 |
| One post + 200 comments | $0.61 |
| 50 KOL profiles | $0.50 |

On Apify's Scale and Business plans the per-event prices are lower (Store discounts). Set **Maximum cost per run** and the Actor stops cleanly when it is reached: you never pay more than that.

### Tips

- Schedule hourly runs with only the hot search list on: you get a time series of China's top topics for $4.80 a day.
- `heat` is Weibo's own number for a term: compare it across runs to see momentum.
- Sort comments by most liked to read the reactions people agree with.
- Profiles include Weibo's own influence labels (influence index, monthly interactions, video plays): useful for KOL shortlists.

### Use it through the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/weibo-scraper").call(run_input={"hotSearch": true, "hotPosts": true, "maxHotPosts": 30})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/weibo-scraper').call({"hotSearch": true, "hotPosts": true, "maxHotPosts": 30});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**HTTP (one call, results back)**

```bash
curl -X POST 'https://api.apify.com/v2/acts/zaiq~weibo-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"hotSearch": true, "hotPosts": true, "maxHotPosts": 30}'
```

### Integrations and schedules

- **Schedules:** run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
- **Make, Zapier, n8n, Google Sheets, Slack, Airtable:** connect it through Apify's integrations, or send each finished run to a **webhook**.
- **Datasets:** results stay in the run's dataset; export them or read them by API whenever you need them.

### Use it with AI agents (MCP)

Add Apify's MCP server (`https://mcp.apify.com`) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "what is trending on Weibo right now, with each topic's heat". AI agents can also pay for runs directly through Apify's agentic payments.

### Limits

- Weibo's keyword search and a user's own post list need a Weibo login, so they are not offered: use trending posts, post links and profiles.
- Posts and comments are what Weibo shows a signed-out visitor.
- Video and image links are Weibo's own and can expire.

### FAQ

**Do I need a Weibo account?**

No. The data is what Weibo shows a visitor.

**Can I search Weibo by keyword?**

Not in this version: Weibo asks for a login to search. The hot search list, trending posts, posts by link and profiles work without one.

**Is the text translated?**

No, Chinese text is kept as written, so nothing is lost. Run a translation step after if you need English.

**How fresh is the hot search list?**

Live at run time: Weibo updates it every minute or so.

**How fast is it?**

The hot search list takes about 20 seconds (mostly opening Weibo once); each post or profile about a second.

### Related Actors from Zaiq

- [bilibili-scraper](https://apify.com/zaiq/bilibili-scraper): Bilibili videos, comments and danmaku
- [google-trends-scraper](https://apify.com/zaiq/google-trends-scraper): what the rest of the world is searching for
- [google-trending-now-scraper](https://apify.com/zaiq/google-trending-now-scraper): Google's live trending searches by country
- [tiktok-transcript-scraper](https://apify.com/zaiq/tiktok-transcript-scraper): what TikTok videos say

### Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's **Issues** tab: we answer there, usually within a day.

***

Also found as: weibo scraper, weibo api, weibo hot search, 微博热搜, weibo trending, weibo comments scraper, weibo profile scraper, china social media scraper, chinese social listening.

# Actor input Schema

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

The 50 terms on Weibo's hot search list right now, with heat and category.

## `hotPosts` (type: `boolean`):

Weibo's trending posts feed.

## `maxHotPosts` (type: `integer`):

How many trending posts.

## `posts` (type: `array`):

Weibo post links (weibo.com/<uid>/<id>), mids or mblogids, one per line.

## `maxComments` (type: `integer`):

Comments of each post (given or trending), $0.003 each; 0 = none.

## `commentsOrder` (type: `string`):

Which comments come first.

## `users` (type: `array`):

Weibo user ids, profile links (weibo.com/u/<uid> or weibo.com/<name>) or screen names, one per line: their profile.

## Actor input object example

```json
{
  "hotSearch": true,
  "hotPosts": false,
  "maxHotPosts": 30,
  "maxComments": 0,
  "commentsOrder": "hot"
}
```

# Actor output Schema

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

Dataset: the results.

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

What each input returned, and notes.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("zaiq/weibo-scraper").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("zaiq/weibo-scraper").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 '{}' |
apify call zaiq/weibo-scraper --silent --output-dataset

```

## MCP server setup

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

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/KDpixRgPLvqi6KsXr/builds/AyzONQothUi9KboQ5/openapi.json
