# Weibo Scraper (`mikolabs/weibo`) Actor

Fast, reliable, and cost-effective Sina Weibo (新浪微博) Scraper and Weibo API. Extract public Weibo posts, creator profiles, engagement metrics, audience followers, and date-filtered hashtag searches without needing a Weibo account, login cookies, or complex browser setups.

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

## Pricing

from $12.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 — Extract Posts, User Profiles, Followers & Search

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-orange?logo=apify)](https://apify.com)
[![Weibo Data Extraction](https://img.shields.io/badge/Platform-Sina%20Weibo-red?logo=sinaweibo)](https://weibo.com)
[![Output Formats](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-blue)](#-export-formats--integrations)
[![Authentication](https://img.shields.io/badge/Auth-No%20Login%20Required-success)](#-frequently-asked-questions)

Fast, reliable, and cost-effective **Sina Weibo (新浪微博) Scraper** and **Weibo API alternative**. Extract public Weibo posts, creator profiles, engagement metrics, audience followers, and date-filtered hashtag searches without needing a Weibo account, login cookies, or complex browser setups.

***

### ⚡ What is Weibo Scraper?

**Sina Weibo** is China's premier microblogging platform with over 580 million monthly active users, serving as the digital epicenter for consumer discussions, viral topics, brand sentiment, and influencer (KOL) marketing.

This Actor acts as a turnkey **Weibo Data Extraction Engine**, turning unstructured Chinese social media data into clean, structured datasets (JSON, CSV, or Excel). Whether you are analyzing market sentiment, tracking competitors, or auditing influencer networks, this Actor handles anti-scraping safeguards, proxy rotation, and session management automatically.

#### Key Capabilities

- 🔍 **Keyword & Hashtag Search**: Search posts by query or topic tag (`#话题#`) with customizable start and end dates.
- 📝 **Full Post Details**: Capture complete post texts (including extended long texts), timestamps, like/comment/repost counts, geographic publication tags, high-resolution images, and videos.
- 👤 **User Profiles & KOL Analytics**: Extract follower counts, following counts, verification badges, biographical details, and profile avatars.
- 👥 **Audience & Fan Lists**: Collect follower profiles to map community reach and audit audience authenticity.
- ➡️ **Following Lists**: Discover who an account follows to map industry networks, competitor ties, and creator circles.
- 🛡️ **Zero Login Required**: Collects public data via automated guest session handshakes without personal credentials or phone verifications.
- 🔢 **Lossless 16-Digit ID Support**: Automatically preserves Weibo's 16-digit numeric IDs (`mid` / `uid`) as text strings to prevent scientific notation corruption in spreadsheets.

***

### 💡 Why Scrape Weibo? (Use Cases)

#### 1. Influencer & KOL Marketing

Find and audit Key Opinion Leaders (KOLs) and creators in China. Evaluate real engagement metrics (likes, reposts, comments) versus follower count to uncover authentic influence and avoid fraudulent profiles.

#### 2. Brand Reputation & Sentiment Analysis

Monitor real-time consumer feedback, brand mentions, and PR crises across mainland China. Track public reaction to new product launches, press releases, or marketing campaigns.

#### 3. Market Research & Consumer Trends

Identify trending hashtags, consumer pain points, and rising lifestyle trends. Filter discussions by custom date ranges to measure the velocity and lifecycle of social discussions.

#### 4. Competitor Intelligence

Analyze competitor social media campaigns, user reactions, promotion cadence, and customer complaints in the Chinese market.

#### 5. Academic & Financial Research

Feed social sentiment datasets into quantitative financial models, predictive trading strategies, or academic NLP research on Chinese social media discourse.

***

### 📖 How to Scrape Weibo (Step-by-Step Guide)

You can extract Weibo data in minutes without any coding experience:

1. **Create an Apify Account**: Sign up for a free account on [Apify](https://console.apify.com/sign-up) (includes **$5 free usage credits** every month).
2. **Select Scraping Mode**: Choose one of the 5 modes:
   - `searchWeibo` (Search posts by keyword or hashtag)
   - `weiboDetail` (Extract a specific post by ID)
   - `userDetail` (Look up a creator profile by user ID)
   - `userFans` (Extract followers of an account)
   - `userFollowers` (Extract accounts followed by a user)
3. **Configure Your Input**: Enter your target keyword, hashtag, date range, or numeric ID.
4. **Click "Start"**: The Actor launches on Apify’s serverless cloud with residential proxy rotation.
5. **Download Your Data**: Export your clean dataset in **Excel**, **CSV**, **JSON**, or connect directly to Google Sheets, Webhooks, or the Apify API.

***

### 💰 Pricing & Cost Comparison

#### How much does it cost to scrape Weibo?

This Actor offers **transparent, flat-rate pricing**:

- **$12 Flat Pricing**: Only **$12 flat** for full access. No surprise metered bills, no price spikes when scaling, and no escalating fees as your request volume grows.
- **Why Flat Pricing Wins**: Most other Weibo and social media scrapers charge per 1,000 requests (often $10 to $30+ per 1,000 requests). Once you scrape past 1,000 requests, competitor bills rapidly multiply to $50–$150+. With our $12 flat pricing, your costs remain completely predictable whether you run 1,000 or 50,000 requests.
- **Try Before You Commit**: Test runs are supported using Apify’s **$5 free credits** so you can inspect output schema quality before scaling up.

#### Cost & Feature Comparison

| Feature / Metric | This Weibo Scraper | Other Weibo / Social Actors | Enterprise SaaS Platforms |
| :--- | :--- | :--- | :--- |
| **Pricing Model** | **$12 Flat** (Predictable flat rate) | Metered per 1,000 requests ($10–$30/1k) | $99 – $299 / month + setup fees |
| **Cost for 10,000 Requests** | **$12** | $50 – $150+ (charges grow with volume) | $150+ |
| **Charges Over 1,000 Requests** | **❌ None (Flat $12 rate)** | ⚠️ Metered surcharge on every extra 1,000 requests | ⚠️ Tier upgrade penalties |
| **Free Trial Available** | **✅ Yes (via Apify credits)** | ❌ Often no free trial | ⚠️ Requires sales demo call |
| **Account / Login Required** | **❌ No credentials or cookies needed** | ⚠️ Often requires personal login | ⚠️ Requires company credentials |
| **Anti-Bot & Proxy Rotation** | **✅ Built-in Residential Proxies** | ⚠️ Extra surcharge for residential proxies | ⚠️ Extra proxy add-on bills |
| **Lossless 16-Digit IDs** | **✅ Preserved (No Excel rounding)** | ⚠️ Often truncated as floats | ⚠️ Varies |
| **Cloud Scheduling & API** | **✅ Included (CRON, Webhooks, API)** | ⚠️ Often limited to manual runs | ⚠️ High API tier upgrade needed |
| **Visual Run Report** | **✅ Interactive HTML summary included** | ❌ Raw dataset only | ❌ None |

***

### ⚙️ How to Use: Input Parameters

Configure the scraper using the user-friendly form in Apify Console or provide JSON input:

| Parameter | Type | Required | Description | Example |
| :--- | :--- | :--- | :--- | :--- |
| `operation` | String | **Yes** | Scraping mode: `searchWeibo`, `weiboDetail`, `userDetail`, `userFans`, or `userFollowers`. | `"searchWeibo"` |
| `keyword` | String | For search | Query text, hashtag, or mobile search URL. Supports Chinese and English. | `"#新能源汽车#"` |
| `startDay` | String | Optional | Filter posts published on or after this date (`YYYY-MM-DD`). Defaults to 30 days ago. | `"2026-04-01"` |
| `endDay` | String | Optional | Filter posts published on or before this date (`YYYY-MM-DD`). Defaults to current date. | `"2026-05-01"` |
| `weiboId` | String | For post detail | 16-digit numeric post ID (`mid`). | `"5249718969175092"` |
| `userId` | String | For user modes | Numeric creator account ID (`uid`). | `"2760523085"` |
| `maxPages` | Number | Optional | Number of pages to paginate (1–50, default `5`). Each search page has ~10–15 posts; fan pages have ~20 profiles. | `5` |
| `proxyConfiguration` | Object | Optional | Proxy routing settings (defaults to Apify Residential Proxies). | `{"useApifyProxy": true}` |

***

### 📋 Input Examples

#### Example 1: Search Posts by Keyword with Date Range

Search recent Weibo posts regarding electric vehicles within a specific month:

```json
{
  "operation": "searchWeibo",
  "keyword": "新能源汽车",
  "startDay": "2026-04-01",
  "endDay": "2026-05-01",
  "maxPages": 3
}
```

#### Example 2: Retrieve Specific Post Details

Get full text, high-res images, and engagement numbers for an individual post:

```json
{
  "operation": "weiboDetail",
  "weiboId": "5249718969175092"
}
```

#### Example 3: Creator Profile & KOL Metrics

Extract biography, verified status, follower counts, and avatar for an influencer:

```json
{
  "operation": "userDetail",
  "userId": "2760523085"
}
```

#### Example 4: Audience & Fan Network Extraction

Extract public follower profiles for an account to evaluate audience demographics:

```json
{
  "operation": "userFans",
  "userId": "2760523085",
  "maxPages": 5
}
```

***

### 📊 Output Data Structure

The Actor produces clean, structured records ready for immediate spreadsheet analysis or pipeline ingestion.

#### Output Field Reference

| Field Name | Type | Description |
| :--- | :--- | :--- |
| `weiboId` | String | Unique 16-digit numeric post ID (`mid`) |
| `bid` | String | Alphanumeric short code (e.g. `QkRpSCuRm`) |
| `weiboPageUrl` | String | Direct URL to the post on Weibo |
| `text` | String | Clean text content of the post |
| `textLength` | Number | Character count of the post |
| `isLongText` | Boolean | `true` if the post contains expanded full text |
| `postedAt` | String | Publication date and time (`YYYY-MM-DD HH:mm:ss`) |
| `repostCount` | Number | Number of shares / retweets (转发) |
| `commentCount` | Number | Number of comments (评论) |
| `attitudeCount` | Number | Number of likes / reactions (点赞) |
| `regionName` | String | Author's geographic publication region (e.g. `北京`, `上海`, `海外`) |
| `source` | String | Publishing client or device (e.g. `iPhone 16 Pro`, `微博网页版`) |
| `topics` | Array | Topic hashtags extracted from post |
| `atUsers` | Array | User handles tagged with `@` |
| `picUrls` | Array | Direct HTTPS image links |
| `videoUrl` | String | Playable MP4 / media stream link (when available) |
| `userId` | String | Creator's unique numeric user ID (`uid`) |
| `screenName` | String | Creator's public display handle |
| `verified` | Boolean | `true` if officially verified |
| `verifiedReason` | String | Verified account description / credentials |
| `followersCount` | Number | Total followers (in profile rows) |
| `friendsCount` | Number | Total following count (in profile rows) |
| `statusesCount` | Number | Total published posts (in profile rows) |
| `avatarUrl` | String | High-resolution HTTPS avatar image |
| `userPageUrl` | String | Direct profile URL (`https://weibo.com/u/{userId}`) |

#### Sample Output Record (JSON)

```json
{
  "_operation": "searchWeibo",
  "_sourceKeyword": "新能源汽车",
  "weiboId": "5297759758582315",
  "bid": "QkRpSCuRm",
  "text": "全国新能源汽车保有量突破新纪录，智能座舱与高阶智驾逐渐成为标配...",
  "textLength": 76,
  "isLongText": false,
  "postedAt": "2026-05-12 14:22:10",
  "repostCount": 42,
  "commentCount": 89,
  "attitudeCount": 350,
  "regionName": "北京",
  "source": "iPhone 16 Pro",
  "topics": ["新能源汽车"],
  "atUsers": [],
  "picCount": 2,
  "picUrls": [
    "https://wx1.sinaimg.cn/large/006X04fFly1...jpg",
    "https://wx2.sinaimg.cn/large/006X04fFly1...jpg"
  ],
  "userId": "2008330545",
  "screenName": "TechInsights_CN",
  "verified": true,
  "verifiedReason": "知名数码博主",
  "weiboPageUrl": "https://m.weibo.cn/detail/5297759758582315",
  "userPageUrl": "https://weibo.com/u/2008330545",
  "status": "success"
}
```

***

### 🔗 Export Formats & Integrations

Your scraped Weibo data can be delivered anywhere you need it:

- **Direct Downloads**: Export your dataset anytime as **CSV**, **Excel (XLSX)**, **JSON**, **XML**, or **HTML Table**.
- **Cloud Storage & Databases**: Ingest directly into PostgreSQL, MySQL, BigQuery, Snowflake, or AWS S3.
- **No-Code Automations**: Connect runs to **Make (Integromat)**, **Zapier**, or **Google Sheets** to automatically trigger alerts or update spreadsheets whenever a new keyword appears.
- **REST API**: Trigger scraping runs programmatically and query datasets via standard HTTP endpoints using Apify API client libraries in Python, JavaScript/TypeScript, or cURL.

***

### ❓ Frequently Asked Questions (FAQ)

#### Is scraping Sina Weibo legal?

Yes, scraping public information that is freely accessible without logging in is widely recognized as legal for competitive intelligence, market research, and academic purposes. This Actor only scrapes publicly accessible posts and profiles. Always ensure compliance with relevant local data protection regulations (such as GDPR or PIPL) and do not scrape private, restricted, or copyrighted personal data.

#### Do I need a Weibo account or login cookies?

No! This Actor uses automated guest session generation. You do not need to register an account, supply login cookies, or solve Chinese mobile SMS verification codes.

#### How do I find a Weibo User ID (UID)?

Visit the creator's profile page on Weibo in any web browser:

- Mobile URL format: `https://m.weibo.cn/u/2760523085` — the numbers at the end are the `userId`.
- Desktop URL format: `https://weibo.com/u/2760523085` — the numeric path is the `userId`.
- You can also find user IDs in the `userId` field of any post search result.

#### How do I find a Weibo Post ID (`weiboId`)?

- On mobile (`m.weibo.cn/detail/5249718969175092`), the 16-digit number in the URL is the `weiboId`.
- On desktop, you can also copy the post URL and run a keyword search to locate the exact 16-digit ID in the resulting dataset.

#### Why do some User Fan lists return privacy notices?

Sina Weibo provides an account privacy setting that allows individual users to hide their followers or following lists from guest visitors. When an account has enabled this privacy restriction, the Actor records an informative notice item so your run completes gracefully without crashing.

#### How can I avoid Excel showing scientific notation for IDs?

Spreadsheet applications (like Microsoft Excel) often convert long numbers into scientific notation (e.g., `5.24972E+15`). This Actor formats all IDs as string values to preserve full precision. When importing CSV files into Excel, select the ID column and set the column data format to **Text**.

#### Can I schedule the scraper to run automatically?

Yes. Using Apify's built-in **Schedules** feature, you can set the Actor to run every hour, every day at midnight, or on any custom CRON schedule to track fresh posts continuously.

***

### 🛠️ Support & Custom Solutions

Need custom data extraction, high-frequency enterprise crawling, or dedicated connectors for other Chinese platforms (such as Xiaohongshu / RED, Douyin, Bilibili, or Zhihu)?

- Submit an issue or feedback through the **Apify Console**.
- For custom business requirements or enterprise scrapers, reach out directly via the Actor discussion page.

# Actor input Schema

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

Choose the data type to collect for this run. Each mode generates a dedicated, structured dataset:

• **Search Posts**: Explore posts by keyword, hashtag `#topic#`, or search URL with optional date filtering.
• **Post Details**: Retrieve full content, metrics, media, and author details for a specific post.
• **User Profile**: Extract creator metrics (followers, followings, status count), bio, verification, and avatar.
• **User Fans (Followers)**: Discover users following the target account (~20 per page).
• **Following List**: Inspect accounts that the target user follows (~20 per page).

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

Required when **Search Posts** mode is selected.

Enter any Chinese or English search term, hashtag, or mobile search URL:
• Query: `北京` (Beijing), `Tesla`, `新能源汽车`
• Hashtag topic: `#日本出现取消吃饭现象#`
• Mobile URL: `https://m.weibo.cn/search?containerid=...`

*Note: Ignored when running Post Details or User Profile modes.*

## `startDay` (type: `string`):

Optional filter for search results. Posts published before this date are excluded.

Format: `YYYY-MM-DD` (e.g. `2026-04-01`). Defaults to **30 days ago** if left empty.

## `endDay` (type: `string`):

Optional filter for search results. Posts published after this date are excluded.

Format: `YYYY-MM-DD` (e.g. `2026-05-15`). Defaults to **current day** if left empty.

## `weiboId` (type: `string`):

Required when **Post Details** mode is selected.

Enter the 16-digit numeric post ID (`mid`). You can locate it:
• At the end of a mobile URL: `https://m.weibo.cn/detail/5249718969175092`
• From the `weiboId` column of previous search runs

*Note: Ignored for Search and User modes.*

## `userId` (type: `string`):

Required when **User Profile**, **User Fans**, or **Following List** mode is selected.

Enter the account's numeric UID. You can find it:
• In the profile URL: `https://weibo.com/u/2760523085`
• In the `userId` field of any post, search, or fan result row

*Note: Some users enable privacy restrictions on their fan or following lists.*

## `maxPages` (type: `integer`):

Pagination limit for multi-record operations (Search Posts: ~14 items/page; Fans/Following: ~20 users/page).

Single-record operations (Post Details, User Profile) always fetch 1 item.

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

Proxy service used to route requests. **Residential proxies (RESIDENTIAL)** are preconfigured by default to prevent Sina Weibo IP blocking and geographical throttling.

## Actor input object example

```json
{
  "operation": "searchWeibo",
  "keyword": "北京",
  "weiboId": "5249718969175092",
  "userId": "2760523085",
  "maxPages": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

## `report` (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 = {
    "keyword": "北京",
    "weiboId": "5249718969175092",
    "userId": "2760523085"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mikolabs/weibo").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 = {
    "keyword": "北京",
    "weiboId": "5249718969175092",
    "userId": "2760523085",
}

# Run the Actor and wait for it to finish
run = client.actor("mikolabs/weibo").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 '{
  "keyword": "北京",
  "weiboId": "5249718969175092",
  "userId": "2760523085"
}' |
apify call mikolabs/weibo --silent --output-dataset

```

## MCP server setup

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

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/9uoO7Ecyi3IQla3jL/builds/6gbV8hQfYo0lYKiir/openapi.json
