# Weibo Scraper (微博 / Sina Weibo) (`bossless/weibo-scraper`) Actor

Scrape Weibo (微博) without your own login: the realtime hot-search board (微博热搜 trending topics) and public user profiles (followers, bio, verification). Add your own Weibo cookie to also pull keyword post search results and user post timelines. Pay per result.

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

## Pricing

from $3.00 / 1,000 post or profiles

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 (微博 / Sina Weibo)

**Weibo Scraper extracts public data from Weibo (微博 / Sina Weibo), China's largest microblogging platform, with no browser, no proxy setup and no Weibo account of your own.** Get the realtime **Weibo hot search (微博热搜)** trending topics with rank and hot value, and public **Weibo user profiles** with followers, posts count, bio and verification. Add your own Weibo cookie to also pull **keyword post search** results and **user post timelines**. Export clean JSON, CSV or Excel, or call it as a Weibo API.

Use it for China social listening, trend tracking, brand monitoring, KOL / influencer research, news monitoring, and AI/LLM pipelines that need Chinese social data.

- 🔥 **Weibo hot search / trending board (微博热搜)** — ~50 realtime trending topics, with rank and hot value.
- 👤 **Weibo user profiles** — followers, following, post count, bio, verification status, location.
- 📝 **Weibo post search & user timelines** — keyword post results and a user's recent posts, unlocked when you paste **your own** Weibo cookie.

### What data can you scrape from Weibo?

| Feature | Needs a cookie? | Output dataset |
|---|---|---|
| Hot-search / trending board | No | `trending` |
| Public user profile | No | default |
| Keyword post search (beta) | **Yes** (your own) | default |
| User post timeline (beta) | **Yes** (your own) | default |

The **guest features work with no login at all.** The two cookie features exist because Weibo serves post search and timelines only to logged-in sessions. You paste the cookie from *your own* browser session — the actor never logs in for you and never uses shared accounts.

> **Beta:** the two cookie features are new. If post search or timelines return nothing with a fresh cookie, please open an issue on the actor page and it will be fixed quickly. Trending and profiles are stable.

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

Pay per result — no monthly fee, no proxy to configure.

| Event | Price (FREE/BRONZE) | Lower on paid plans |
|---|---|---|
| Post or profile | **$0.004** / result | down to $0.003 |
| Hot-search item | **$0.001** / item | down to $0.0006 |
| Actor start | $0.00005 / run | — |
| AI tags (optional) | **$0.002** / tagged item | down to $0.0015 |

You are charged only for results actually saved. A full hot-search board (~50 topics) costs about $0.05; 1,000 posts cost about $4.

### AI tags: sentiment, topics and an English summary (optional)

Turn on **AI tags** (`aiEnrichment`) and every post and hot-search topic gets an `ai` field: sentiment (positive, neutral, negative or mixed) with a score from -1 to 1, topic labels, named entities, and a one-sentence English summary. It's useful for monitoring, research and dashboards when your team doesn't read Chinese. It's off by default and costs nothing unless enabled. Free-plan runs include a 3-item AI trial; the rest of the results are saved without AI fields.

Real output (a hot-search topic, 14 October 2026):

```json
{
 "type": "trending",
 "rank": 2,
 "keyword": "老人凌晨下地干活被气枪击中身亡",
 "hotValue": 250768,
 "label": "热",
 "ai": {
  "sentiment": "negative",
  "sentimentScore": -1,
  "topics": [
   "Crime",
   "Tragedy"
  ],
  "entities": [],
  "summaryEn": "An elderly person was fatally shot by an air gun while working in the fields early in the morning."
 }
}
```

### How fast is it?

A run that fetches the full hot-search board plus one user profile finishes in about 30 seconds on the default 256 MB memory.

### How to scrape Weibo

1. Click **Try for free** and keep the example input: it fetches the hot-search board and one public profile.
2. Add more profile URLs or UIDs to `userUrls`.
3. For post search or timelines, paste your own `weiboCookie` (see below) and fill `searchQueries` or turn on `includeUserPosts`.
4. Download results as JSON, CSV or Excel, or read them through the API.

#### Input example

```json
{
  "includeTrending": true,
  "userUrls": ["https://weibo.com/u/1749127163"],
  "includeProfile": true,
  "includeUserPosts": false,
  "searchQueries": [],
  "weiboCookie": ""
}
```

| Field | Meaning |
|---|---|
| `includeTrending` | Fetch the realtime hot-search board. |
| `userUrls` | Profile URLs (`https://weibo.com/u/<uid>`) or numeric UIDs. |
| `includeProfile` | Save each user's profile (guest). |
| `includeUserPosts` | Also scrape each user's recent posts (needs `weiboCookie`). |
| `searchQueries` | Keywords to search posts for (needs `weiboCookie`). |
| `maxSearchPages` / `maxTimelinePages` | Depth per keyword / per user. |
| `weiboCookie` | Your own logged-in cookie (optional, secret). |

### Output examples

A post:

```json
{
  "type": "post", "postId": "5012...", "url": "https://weibo.com/1749127163/Ab...",
  "text": "…", "publishedAt": "2026-10-08T04:00:00+00:00",
  "reposts": 120, "comments": 340, "likes": 5600, "picCount": 2,
  "authorId": "1749127163", "authorName": "雷军", "origin": "search:小米"
}
```

A profile:

```json
{
  "type": "user", "userId": "1749127163", "name": "雷军",
  "followers": 27337088, "following": 1647, "postsCount": 22143,
  "verified": true, "verifiedReason": "小米创办人…", "location": "北京 海淀区"
}
```

A trending item:

```json
{ "type": "trending", "rank": 1, "keyword": "…", "hotValue": 1537781, "label": "热",
  "url": "https://s.weibo.com/weibo?q=…" }
```

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

This actor is available over the Apify MCP server, so assistants that support MCP can call it as a tool:

```
https://mcp.apify.com?tools=bossless/weibo-scraper
```

Ask your agent to "get the current Weibo hot search" or "scrape the Weibo profile at <url>" and it will run this actor and read back the results.

### Use the Weibo API from code

```bash
curl -X POST "https://api.apify.com/v2/acts/bossless~weibo-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"includeTrending": true}'
```

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("bossless/weibo-scraper").call(run_input={"includeTrending": True})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

The `trending` dataset holds the hot-search items; the default dataset holds posts and profiles.

### How to get your Weibo cookie (for post search / timelines)

1. Log in to `weibo.com` in your browser.
2. Open DevTools → Network, reload, click any `weibo.com` request.
3. Copy the full `Cookie:` request header and paste it into `weiboCookie`.

Your cookie is stored as secret input. Keep in mind Weibo rate-limits heavy use of a single account.

### FAQ

**Do I need a proxy?** No. A China residential proxy is built in.

**Is a cookie required?** Only for post search and user timelines. Trending and profiles need nothing.

**Why might post search return nothing?** You either left `weiboCookie` empty (it's then skipped with a warning) or the cookie expired — refresh it.

**Can I schedule it to track Weibo trends over time?** Yes. Use an Apify schedule (for example hourly) with `includeTrending` on, and each run saves a timestamped snapshot of the hot-search board.

**Is this legal?** It collects publicly visible data and, for the cookie features, data your own account can already see. You are responsible for complying with Weibo's terms and applicable law.

**Is this an official Weibo product?** No. This is an independent tool and is not affiliated with or endorsed by Weibo or Sina.

### Ready-made Weibo tasks

One-click presets for common jobs. Open one, change the input if you like, and run it:

- [Weibo Hot Search (微博热搜) Sentiment in English](https://apify.com/bossless/weibo-scraper/examples/weibo-hot-search-sentiment): every trend with AI sentiment, topics and an English summary.
- [Weibo Hot Search Tracker (微博热搜)](https://apify.com/bossless/weibo-scraper/examples/weibo-hot-search-tracker): the realtime hot search board, ready to schedule.
- [Weibo User Profile Scraper](https://apify.com/bossless/weibo-scraper/examples/weibo-user-profiles): followers, bio, verification and location.

### More China data scrapers

- [Bilibili Scraper (B站 / 哔哩哔哩)](https://apify.com/bossless/bilibili-scraper) — videos, danmaku, comments, trending and creators.
- [Zhihu Scraper (知乎)](https://apify.com/bossless/zhihu-scraper) — Zhihu hot list (知乎热榜), hot searches, column articles with full text, answers and search.
- [Chinese Video Transcriber](https://apify.com/bossless/chinese-video-transcriber) — Bilibili videos to text, English subtitles and SRT with AI.
- [China Hot Search in English](https://apify.com/bossless/china-hot-search) — Weibo, Douyin, Baidu, Zhihu and Bilibili trending topics with English summaries.

***

#### 微博数据采集器（微博爬虫 / 微博热搜 API）

无需登录即可抓取微博热搜榜和公开用户资料（粉丝数、简介、认证、地区）。粘贴你自己的微博 Cookie 后，还可抓取关键词微博搜索结果和用户微博时间线。结果可导出为 JSON、CSV 或 Excel，按条计费。

# Actor input Schema

## `includeTrending` (type: `boolean`):

Fetch the current Weibo realtime hot-search board (微博热搜): ~50 trending topics with rank and hot value. Works without a cookie.

## `userUrls` (type: `array`):

Weibo users to scrape, as profile URLs (https://weibo.com/u/1749127163) or numeric UIDs. Profiles are fetched without a cookie.

## `includeProfile` (type: `boolean`):

For each user URL, save the public profile (followers, following, posts count, bio, verification, location). Works without a cookie.

## `includeUserPosts` (type: `boolean`):

For each user URL, also scrape their recent posts. Requires a logged-in 'weiboCookie'; skipped with a warning if none is supplied.

## `searchQueries` (type: `array`):

Keywords to search Weibo posts for. Requires a logged-in 'weiboCookie'; skipped with a warning if none is supplied.

## `maxSearchPages` (type: `integer`):

How many pages of post-search results to fetch per keyword (about 10 posts per page).

## `maxTimelinePages` (type: `integer`):

How many pages of a user's post timeline to fetch (about 10-20 posts per page).

## `weiboCookie` (type: `string`):

Paste the Cookie header from your own logged-in weibo.com browser session to unlock post search and user timelines. Leave empty to use only the guest features (trending + profiles). You supply and own this cookie; it is stored as secret input.

## `aiEnrichment` (type: `boolean`):

Adds an `ai` field to each post and hot-search topic: sentiment and score, topic labels, named entities and a one-sentence English summary. Charged once per tagged item. Free-plan runs include a 3-item AI trial.

## Actor input object example

```json
{
  "includeTrending": true,
  "userUrls": [
    "https://weibo.com/u/1749127163"
  ],
  "includeProfile": true,
  "includeUserPosts": false,
  "searchQueries": [],
  "maxSearchPages": 3,
  "maxTimelinePages": 2,
  "aiEnrichment": false
}
```

# Actor output Schema

## `postsAndProfiles` (type: `string`):

No description

## `trending` (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 = {
    "userUrls": [
        "https://weibo.com/u/1749127163"
    ],
    "searchQueries": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("bossless/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 = {
    "userUrls": ["https://weibo.com/u/1749127163"],
    "searchQueries": [],
}

# Run the Actor and wait for it to finish
run = client.actor("bossless/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 '{
  "userUrls": [
    "https://weibo.com/u/1749127163"
  ],
  "searchQueries": []
}' |
apify call bossless/weibo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,bossless/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/TGfSoBlJ0kTihW4MB/builds/NKFB2NLLCoR49rhqM/openapi.json
