# Weibo Scraper — Comments, Trends & KOL Profiles (`haketa/weibo-scraper`) Actor

Extract public Weibo comments, commenter leads, real-time hot trends and creator profiles. Export post engagement, comment text, author IDs, verification, follower counts, locations and profile links for China social listening, KOL discovery, audience research and brand monitoring.

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

## Pricing

from $3.50 / 1,000 results

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Scraper — Comments, Trends & KOL Profiles

![Weibo](https://img.shields.io/badge/Weibo-social_intelligence-E6162D)
![Data](https://img.shields.io/badge/data-comments_%7C_trends_%7C_KOLs-2563EB)
![Export](https://img.shields.io/badge/export-JSON_%7C_CSV_%7C_Excel-16A34A)
![No code](https://img.shields.io/badge/setup-no_code-7C3AED)

Collect public Weibo conversations and creator data without manually copying Chinese social-media pages. Export clean comments, audience signals, hot-search rankings, post engagement, and public KOL profiles to JSON, CSV, Excel, or your existing Apify workflow.

> **Turn public Weibo conversations into actionable audience data.** Collect comment text and the public profile signals behind each voice—not just an unstructured wall of replies.

### ✨ What you can collect

| Dataset              | Best for                                        | Key fields                                                                     |
| -------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------ |
| 💬 **Post comments** | Sentiment, audience research, consumer feedback | Comment text, likes, replies, location, commenter ID, name, profile, followers |
| 🔥 **Hot trends**    | Real-time China trend monitoring                | Rank, topic, heat value, label, category, search URL                           |
| 👤 **User profiles** | KOL discovery and creator enrichment            | Bio, verification, followers, following, posts, location, avatar               |
| 📣 **Post details**  | Campaign and content-performance analysis       | Text, media URLs, topics, likes, comments, reposts, author data                |

The default input is ready to run and returns up to 50 public comment rows in well under five minutes.

### 💎 Why users choose this Actor

- **Audience data, not only text:** comment rows include public commenter profile and reach signals whenever Weibo returns them.
- **High-volume friendly:** add multiple post links and set one result limit for a deduplicated dataset.
- **Fast and inexpensive:** pure HTTP collection, no browser startup, and a 512 MB default memory allocation.
- **No developer key:** public data collection does not require a Weibo developer application.
- **Automation ready:** use schedules, webhooks, REST API, Python, JavaScript, Make, Zapier, n8n, or MCP.

### 🚀 Get results in 3 steps

1. Choose **comments**, **trends**, **profiles**, or **post details**.
2. Paste public Weibo links and choose the result limit.
3. Click **Start**, then download the Dataset as JSON, CSV, or Excel.

> 💡 **Try it instantly:** the prefilled example is ready to run and requests 50 public comment rows—no setup or developer key required.

#### 💬 Collect comments from several posts

```json
{
    "operation": "postComments",
    "startUrls": [
        { "url": "https://m.weibo.cn/detail/5285773987283226" },
        { "url": "https://weibo.com/1699432410/Rbmxfkfpt" }
    ],
    "maxItems": 500,
    "commentSort": "hot",
    "includeReplies": true
}
```

#### 🔥 Get the current hot-search board

```json
{
    "operation": "hotTrends",
    "maxItems": 50
}
```

#### 👤 Enrich public creator profiles

```json
{
    "operation": "userProfiles",
    "userIds": ["1699432410", "2803301701"],
    "maxItems": 10
}
```

### 🎯 Popular use cases

#### ❤️ Brand and product sentiment

Collect public replies to campaign, launch, review, or crisis posts. Feed the original Chinese text and engagement counts into your preferred sentiment or topic-classification pipeline.

#### 👥 Commenter and audience research

Turn public conversation threads into a structured audience dataset. Compare commenter locations, verified status, follower reach, posting activity, and engagement without opening each profile manually.

#### ⭐ KOL and creator discovery

Start with creators found in comments or trend discussions, then enrich their public profiles. Use follower counts, verification reasons, bios, and locations to shortlist relevant accounts.

#### 📈 China trend monitoring

Schedule the hot-trends mode hourly or daily. Store rank and heat-value snapshots in a warehouse or spreadsheet to identify topics gaining visibility.

#### 🥊 Campaign and competitor analysis

Extract public post details and comments for your brand and competitors. Compare likes, reposts, comment volume, topics, media, and audience reactions in one normalized format.

#### 🔬 Academic and market research

Build reproducible datasets of public discussion with stable IDs, timestamps, source URLs, and collection timestamps for downstream analysis.

### 📦 Clean, analysis-ready output

Every result is stored as a flat Dataset row. Missing public values are omitted instead of being replaced with misleading placeholders.

#### 💬 Comment and audience row

```json
{
    "recordType": "comment",
    "commentId": "5327109888149771",
    "postId": "5327082374825799",
    "text": "就是，弹就完了[加油]",
    "createdAt": "2026-08-01T06:23:53.000Z",
    "likesCount": 12,
    "location": "来自浙江",
    "authorId": "3899688796",
    "authorName": "做人真烦1977",
    "authorProfileUrl": "https://weibo.com/u/3899688796",
    "authorFollowersCount": 428,
    "scrapedAt": "2026-08-01T09:45:00.000Z"
}
```

#### 🔥 Hot-trend row

```json
{
    "recordType": "hot-trend",
    "rank": 1,
    "title": "花儿与少年8",
    "hotValue": 1071206,
    "category": "综艺",
    "label": "新",
    "isNew": true,
    "url": "https://s.weibo.com/weibo?q=花儿与少年8"
}
```

#### 👤 KOL profile row

```json
{
    "recordType": "user-profile",
    "userId": "1699432410",
    "userName": "新华社",
    "verified": true,
    "verifiedReason": "新华社法人微博",
    "followersCount": 100000000,
    "location": "北京",
    "profileUrl": "https://weibo.com/u/1699432410"
}
```

### 🔌 Connect it to your workflow

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"operation":"hotTrends","maxItems":50}'
```

Every successful run writes flat, analysis-ready rows to the default Apify Dataset. Dataset items can be read through the Apify API or exported as JSON, JSONL, CSV, Excel, XML, RSS, and HTML.

### ⚙️ Simple input guide

| Field                | Purpose                                            | Default              |
| -------------------- | -------------------------------------------------- | -------------------- |
| `operation`          | Select comments, trends, profiles, or post details | `postComments`       |
| `startUrls`          | Public post or profile links                       | Ready-to-run example |
| `postIds`            | Numeric post IDs for automated workflows           | Empty                |
| `userIds`            | Numeric user IDs for profile mode                  | Empty                |
| `maxItems`           | Maximum unique rows across the run                 | `500`                |
| `commentSort`        | Popular or latest comments                         | `hot`                |
| `includeReplies`     | Save visible reply previews                        | `true`               |
| `proxyConfiguration` | Apify connection configuration                     | Cost-efficient proxy |

### ⚡ Built for speed and cost control

- Pure HTTP collection avoids expensive browser startup.
- The Actor uses only 512 MB by default; cloud testing peaked near 68 MB.
- Results are deduplicated before reaching the Dataset.
- One limit controls the complete run across multiple source links.
- The 150-result cloud test completed in 2 minutes 39 seconds for approximately $0.0074 in platform resources.

### ℹ️ Good to know

- Only publicly accessible Weibo data is collected.
- Deleted, restricted, private, or region-limited content cannot be returned.
- Public comment pagination and profile fields depend on what Weibo exposes for each post or account.
- Trend mode is a real-time snapshot; use Apify Schedules to build historical series.
- Result availability can change as conversations are moderated or older content is archived.

### ❓ Frequently asked questions

#### Do I need a Weibo developer key?

No. The Actor works with publicly accessible Weibo data and does not require an official developer application.

#### Can I use mobile and desktop URLs?

Yes. Paste public `m.weibo.cn` detail links or regular `weibo.com` post and profile links. Numeric post and user IDs are also supported.

#### Can I collect replies as separate rows?

Yes. Keep **Include visible replies** enabled. Reply rows include their parent comment ID so conversations remain traceable.

#### Why do some posts return fewer comments than requested?

The result limit is a maximum. Deleted, moderated, restricted, or unavailable comments cannot be returned, and public pagination depth differs by post.

#### Are images and videos downloaded?

No. Public media URLs are exported when available, which keeps the run faster and less expensive.

### ✅ Legal and responsible use

Use this Actor only for lawful purposes and respect applicable privacy, intellectual-property, platform, and data-protection requirements. Do not use the output for harassment, spam, sensitive-person profiling, or decisions that materially affect individuals.

Weibo and Sina Weibo are trademarks of their respective owners. This independent Actor is not affiliated with, endorsed by, or sponsored by Weibo.

### 🛟 Support

If a public URL produces unexpected output, open an Actor issue and include the run ID, selected operation, and a public example URL. Never include account passwords or private authentication cookies.

# Actor input Schema

## `operation` (type: `string`):

Choose comments for high-volume audience data, trends for real-time rankings, profiles for KOL enrichment, or post details for engagement data.

## `startUrls` (type: `array`):

Paste one or more public Weibo post, mobile detail or user profile URLs. Used by comments, post details and user profiles.

## `postIds` (type: `array`):

Optional numeric Weibo post IDs (mid). Useful for API and automated workflows.

## `userIds` (type: `array`):

Numeric Weibo user IDs for profile extraction.

## `maxItems` (type: `integer`):

Maximum unique dataset rows. Use 50 for a quick test or 500–2,000 for broader audience research.

## `commentSort` (type: `string`):

Popular prioritizes highly engaged comments; latest is useful for recent monitoring.

## `includeReplies` (type: `boolean`):

Save publicly returned reply previews as individual rows for a denser conversation dataset.

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

The cost-efficient Apify connection is preconfigured. Most users should leave this unchanged.

## Actor input object example

```json
{
  "operation": "postComments",
  "startUrls": [
    {
      "url": "https://m.weibo.cn/detail/5285773987283226"
    }
  ],
  "postIds": [],
  "userIds": [],
  "maxItems": 50,
  "commentSort": "hot",
  "includeReplies": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "operation": "postComments",
    "startUrls": [
        {
            "url": "https://m.weibo.cn/detail/5285773987283226"
        }
    ],
    "postIds": [],
    "userIds": [],
    "maxItems": 50,
    "commentSort": "hot",
    "includeReplies": true,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/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 = {
    "operation": "postComments",
    "startUrls": [{ "url": "https://m.weibo.cn/detail/5285773987283226" }],
    "postIds": [],
    "userIds": [],
    "maxItems": 50,
    "commentSort": "hot",
    "includeReplies": True,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/weibo-scraper").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 '{
  "operation": "postComments",
  "startUrls": [
    {
      "url": "https://m.weibo.cn/detail/5285773987283226"
    }
  ],
  "postIds": [],
  "userIds": [],
  "maxItems": 50,
  "commentSort": "hot",
  "includeReplies": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/weibo-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/7gqgBsaYuYWNguPyD/builds/1EAdmZklJbKhFmEds/openapi.json
