# Weibo Scraper - Comment Threads, Hot Search Ranks & User Stats (`tenfoldfleet/weibo-scraper`) Actor

Get the comments and reply threads of any public Weibo (微博) post, with likes, IP location, floor and commenter, plus post details, user profile stats and the live hot search (热搜) ranking. No login, API-style JSON. $20 per 1,000 comments; deleted posts, unknown users and other errors are free.

- **URL**: https://apify.com/tenfoldfleet/weibo-scraper.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** Social media, Agents, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 comments

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

### What does Weibo Scraper do?

**Weibo Scraper** turns public Sina Weibo (微博) pages into clean JSON rows, like a small **Weibo API** you can call without an account. Give it post links and it returns the **comment threads** under each post; add user ids for **profile stats**; tick one box for the live **hot search ranking (热搜榜)**.

*Not affiliated with Weibo or Sina. This is an independent tool that reads only what a logged-out visitor can see.*

In one run you can collect:

- **Weibo comments** on any public post: text, likes, reply count, floor number, the commenter's **IP location** (shown by Weibo as 来自 北京, 来自 广东...) and the commenter's name, follower count and verification.
- **Reply threads** under each comment (optional), with who replied to whom.
- **Post details**: full text (long posts included), time, reposts, comments, likes, pictures, video link and view count, region (发布于), topics and author.
- **User profile stats**: followers, following, number of posts, verification and reason, bio, location, account creation date and lifetime likes, comments and reposts.
- The **Weibo hot search list**: rank, topic, heat score, label (新, 热, 沸, 爆), category and a search link, plus the pinned topic. Ads are left out.
- The **popular feed (热门)**: posts Weibo is pushing to everyone right now. Paid ad posts in the feed are skipped and never charged.

No login, no cookies from you and no browser. The Actor uses the same anonymous visitor access every logged-out browser gets.

### Why use it?

- **PR and reputation work in China**: read what people say under a brand's, a celebrity's or a competitor's post, sorted by likes, with the province each comment came from.
- **Campaign tracking**: re-run the same post links daily and watch reposts, likes and comment counts grow.
- **Trend spotting**: snapshot the hot search board every hour and see which topics climb, which carry 爆 or 沸, and in which category.
- **KOL checks**: compare follower counts, posting volume and lifetime engagement of several accounts in one table.
- **Sentiment and NLP datasets**: plain-text comments with time, likes and region, ready for a model or a spreadsheet.
- **AI agents**: every row is flat, typed JSON that an LLM can read directly.

### What data can it extract?

| Row type | Main fields |
|---|---|
| Comment (`type: "comment"`) | postId, postUrl, commentId, text, createdAt, likes, replyCount, ipLocation, floorNumber, isReply, replyToUser, imageUrl, user {uid, screenName, verified, followers, location, gender} |
| Post (`type: "post"`) | mid, mblogid, url, text, createdAt, reposts, comments, likes, pics, videoUrl, videoViews, region, topics, user |
| Profile (`type: "profile"`) | uid, screenName, followers, following, posts, verified, verifiedReason, description, location, gender, createdAt, totalLikes, totalComments, totalReposts, avatarUrl |
| Hot search (`type: "hotSearch"`) | rank, word, heat, label, category, isTopic, url, onBoardAt, scrapedAt |
| Error (`type: "error"`) | input, inputType, error (free, never charged) |

### How to scrape Weibo comments

1. Open the Actor and paste one or more **post URLs** (for example `https://weibo.com/2731935637/RnoUCzlB3`).
2. Set **Max comments per post** (up to 300) and switch on **Include replies** if you want the threads.
3. Optionally add **Weibo users** for profile rows and tick **Hot search board** or **Popular feed**.
4. Click **Start**. Comments appear in the dataset as they arrive; download them as JSON, CSV or Excel.

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

Pay only for results, no subscription:

| Result | Price | Per 1,000 |
|---|---|---|
| Comment or reply | $0.02 | $20 |
| Post (from a link or the popular feed) | $0.03 | $30 |
| Profile | $0.03 | $30 |
| Hot search topic | $0.008 | $8 (a full board of about 50 topics is about $0.40) |

Plus $0.00005 per run start. Deleted or hidden posts, posts with no public comments, unknown or invalid user ids, bad links and blocked requests are written as **free error rows**. Example: 100 comments from each of 5 posts, with post details, costs 5 x $0.03 + 500 x $0.02 = **$10.15**.

**Free Apify plan:** up to 50 results per run, so you can try every feature before paying.

### Input

```json
{
    "postUrls": ["https://weibo.com/2731935637/RnoUCzlB3"],
    "maxCommentsPerPost": 100,
    "includeReplies": false,
    "includePostDetails": true,
    "userIds": ["1195230310", "https://weibo.com/rmrb"],
    "hotSearch": true,
    "popularFeed": false
}
```

Post links can be `weibo.com/<uid>/<postId>`, `m.weibo.cn/detail/<id>`, a bare 9-character post code or the 16-digit numeric id. Users can be numeric ids (6 to 10 digits), `weibo.com/u/<uid>` links, custom profile links like `weibo.com/rmrb`, or `@screen name`.

### Output

Each result is one row in the dataset. You can download it as JSON, CSV, Excel, XML or HTML, or read it through the Apify API. A comment row:

```json
{
    "type": "comment",
    "postId": "5357292828495799",
    "postUrl": "https://weibo.com/1886903325/Ro2rMzE91",
    "commentId": "5357295032339601",
    "isReply": false,
    "text": "后面她出现的画面都好高级啊，美的我直尖叫！！！",
    "createdAt": "2026-10-23T13:28:52.000Z",
    "likes": 660,
    "replyCount": 5,
    "ipLocation": "广东",
    "floorNumber": 139,
    "user": { "uid": "5099166255", "screenName": "我要养一只狗-", "verified": false, "followers": 172, "location": "广东 广州", "gender": "f" }
}
```

A hot search row:

```json
{ "type": "hotSearch", "rank": 2, "word": "李昌钰发妻离世后与蒋霞萍频繁通信", "heat": 813663, "label": null, "category": "民生新闻", "isTopic": true, "url": "https://s.weibo.com/weibo?q=%23...%23", "scrapedAt": "2026-10-23T14:45:17.131Z" }
```

Times are ISO 8601 in UTC (Weibo shows Beijing time, UTC+8).

### Tips

- **300 comments per post is Weibo's own limit** for anyone who is not logged in: after about 300 top-level comments the list simply ends. Replies come on top of that limit when **Include replies** is on.
- Comments come in Weibo's default order (most liked first), so the first 100 are usually the ones that shaped the discussion.
- The same post given twice (link, code and numeric id) is scraped and charged once.
- Video and picture links from Weibo are signed and expire (videos after about an hour); download them soon after the run.
- For hourly hot search tracking, create a task with only **Hot search board** ticked and schedule it in Apify.

### What it does not do (login required on Weibo)

Weibo shows these only to logged-in accounts, so this Actor does not offer them: **keyword search** of posts (s.weibo.com sends visitors to the sign-in page), **a user's full post timeline**, **repost lists**, **follower and following lists**, and **comments beyond the first ~300** per post. We never ask for your cookies or account.

### Use it with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through Apify's MCP server: add `https://mcp.apify.com?tools=tenfoldfleet/weibo-scraper` as a remote MCP server and sign in with your Apify account. The agent fills in the input, runs the Actor and reads the results itself; you pay the same per-result price as a normal run.

### FAQ

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

No. The Actor uses the anonymous visitor access that Weibo gives every logged-out browser. You never share an account or cookie.

#### Why did I get fewer than 300 comments?

Either the post has fewer public comments, some were hidden or folded by Weibo, or the post's comments are limited to followers. If a post shows no public comments at all, you get a free error row explaining that.

#### Can I get comments in Chinese?

Yes. Text comes back exactly as written, in Chinese (or any other language), with emoji codes like \[捂嘴哭] kept as text.

#### What is ipLocation?

Weibo prints the province or country a comment was sent from (来自 广东). The Actor returns just the place name, for example `广东` or `美国`.

#### Why did an input return an error row?

The post may be deleted (Weibo error 20101) or private, the user id may not exist, the link may not be a Weibo post, or Weibo may have refused every retry. Error rows are free.

#### Can I call it through an API?

Yes. Run it through the Apify API, the Apify MCP server, or any Apify integration (Make, Zapier, n8n, Google Sheets), and read the results as JSON.

### Disclaimer

This Actor collects only publicly available data that Weibo shows to logged-out visitors. Comments and profiles contain public usernames, user ids and IP regions; process them in line with GDPR, China's PIPL and other data-protection laws, and use the data only for legitimate purposes such as research, monitoring and analysis. Weibo is a trademark of its owner; this Actor is not affiliated with or endorsed by Weibo Corporation or Sina.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [ALDI Australia Scraper - AU Products, Unit Prices & Catalogue](https://apify.com/tenfoldfleet/aldi-australia-scraper) | product |
| [Alibaba Image Search - Reverse Lookup of Suppliers by Photo](https://apify.com/tenfoldfleet/alibaba-image-search) | matched product |
| [Alibaba Products Scraper: Wholesale Suppliers, MOQ, Price Tiers](https://apify.com/tenfoldfleet/alibaba-products-scraper) | product |
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [Applicant Tracking Jobs Scraper - Greenhouse, Lever & 6 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Facebook Ads Library Scraper for Marketers](https://apify.com/tenfoldfleet/facebook-ads-library-scraper) | ad |
| [Facebook Page Contact Finder - Business Leads from Page Links](https://apify.com/tenfoldfleet/facebook-page-contact-finder) | page with contact details |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google AI Overviews Checker - Citations & Domain Tracker](https://apify.com/tenfoldfleet/google-ai-overviews-checker) | keyword checked |
| [Google Flights Scraper - All Fares per Route & Date (API)](https://apify.com/tenfoldfleet/google-flights-scraper) | route search |
| [Google Hotels Scraper - Nightly Prices, Stars & Booking Sites](https://apify.com/tenfoldfleet/google-hotels-scraper) | hotel |
| [Google for Jobs Scraper - Openings by City, Pay & Job Board](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google Maps Extractor - Business Leads, Phones & Websites](https://apify.com/tenfoldfleet/google-maps-extractor) | place |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Travel Hotel Rate Tracker - OTA Prices for Every Night](https://apify.com/tenfoldfleet/google-travel-hotel-rate-tracker) | offer |
| [Search Trends by Region & Time - Google Trends Data Scraper](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Instagram Reels Search - Keyword to Top Reels, Plays & Creators](https://apify.com/tenfoldfleet/instagram-reels-search) | reel |
| [Instagram Reels Transcript - Speech to Text for Public Reels](https://apify.com/tenfoldfleet/instagram-reels-transcript) | reel transcript |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Likee Scraper - Creators by Country, Video Views & Likes](https://apify.com/tenfoldfleet/likee-scraper) | video |
| [LinkedIn Ads Library Scraper - Competitor Ad Copy & Targeting](https://apify.com/tenfoldfleet/linkedin-ad-library-scraper) | ad |
| [Reddit Brand Monitoring - Keyword Alerts for Posts & Comments](https://apify.com/tenfoldfleet/reddit-brand-monitoring) | mention |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Jobs Scraper - Salaries & Hiring Across 8 APAC Job Boards](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Agent - AI Keyword Research & Competitor Reports](https://apify.com/tenfoldfleet/seo-agent) | research report |
| [SEO Crawler - Technical SEO Audit Tool & On-Page Checker](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Website Built With Checker - Find Any Site's CMS & Tech Stack](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [Threads Search - Keyword & Profile Posts Scraper (No Login)](https://apify.com/tenfoldfleet/threads-search) | post |
| [TikTok Transcripts - Captions or Speech to Text for Any Video](https://apify.com/tenfoldfleet/tiktok-transcripts) | video transcript |
| [HTML to Text & URL to Markdown - LLM Ready Web Content](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [WeChat Official Account Articles - Keyword Search to Markdown](https://apify.com/tenfoldfleet/wechat-official-account-articles) | article found |
| [Woolworths Product Scraper - AU Shelf Prices, Specials & GTINs](https://apify.com/tenfoldfleet/woolworths-product-scraper) | product |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Channel Email Scraper - Creator Contact Extractor](https://apify.com/tenfoldfleet/youtube-channel-email-scraper) | channel with email |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

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

Weibo posts to scrape: links like https://weibo.com/<uid>/<postId>, m.weibo.cn/detail/<id> links, or a bare post id (9-character code such as RnoUCzlB3, or the 16-digit numeric id). Each post gives one post row (if 'Post details' is on) plus its comments.

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

Top-level comments to collect per post, most-liked first. Weibo itself stops listing comments after about 300 per post for anyone not logged in, so 300 is the maximum. Set 0 for post details only.

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

Also collect the replies under each comment (the thread). Each reply is one comment result and is charged like a comment.

## `maxRepliesPerComment` (type: `integer`):

Upper limit of replies per comment when 'Include replies' is on. Replies come in pages of 20.

## `includePostDetails` (type: `boolean`):

Return one row per post with its text, time, repost/comment/like counts, pictures, video link, region and author. Turn off if you only want the comments.

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

Profiles to look up: numeric user ids (6 to 10 digits), links like https://weibo.com/u/<uid>, custom profile links like https://weibo.com/rmrb, or @screen name. One profile row each with followers, following, post count, verification and bio.

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

Snapshot of the Weibo hot search list: about 50 ranked topics with heat score, label (新, 热, 沸, 爆...), category and search link. Ads are skipped and never charged.

## `popularFeed` (type: `boolean`):

Posts from Weibo's public popular (热门) feed, with full counts and author. Paid ad posts are skipped and never charged.

## `maxFeedPosts` (type: `integer`):

How many popular feed posts to collect when 'Popular feed' is on.

## `maxConcurrency` (type: `integer`):

How many posts or profiles to work on in parallel.

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

Default: Apify datacenter proxy, with an automatic residential fallback if Weibo blocks a datacenter IP. You don't need to change this.

## Actor input object example

```json
{
  "postUrls": [
    "https://weibo.com/2731935637/RnoUCzlB3"
  ],
  "maxCommentsPerPost": 100,
  "includeReplies": false,
  "maxRepliesPerComment": 20,
  "includePostDetails": true,
  "userIds": [
    "1195230310"
  ],
  "hotSearch": false,
  "popularFeed": false,
  "maxFeedPosts": 50,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `comments` (type: `string`):

No description

## `posts` (type: `string`):

No description

## `profiles` (type: `string`):

No description

## `hotSearch` (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 = {
    "postUrls": [
        "https://weibo.com/2731935637/RnoUCzlB3"
    ],
    "userIds": [
        "1195230310"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/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 = {
    "postUrls": ["https://weibo.com/2731935637/RnoUCzlB3"],
    "userIds": ["1195230310"],
}

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/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 '{
  "postUrls": [
    "https://weibo.com/2731935637/RnoUCzlB3"
  ],
  "userIds": [
    "1195230310"
  ]
}' |
apify call tenfoldfleet/weibo-scraper --silent --output-dataset

```

## MCP server setup

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