# Weibo Scraper - Hot Search, Posts, Comments & Profiles 微博 (`kalilfagundes.w/weibo-scraper`) Actor

\[Limited Launch Offer $1.5/1K] Weibo hot search, trending posts, comments and user profiles without login or cookies: 微博热搜 board, hot feed, keyword and #hashtag# search, post comments + replies.

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

## Pricing

from $1.28 / 1,000 posts

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, Posts, Comments & Profiles (微博)

Scrape **Weibo** (新浪微博), China's biggest public social network, without login, cookies or an API key. Get the
**hot search board (微博热搜)** with heat scores, the trending feed, posts for any keyword or #hashtag#, user profiles with
their latest posts, and any post with its **comments and replies** - all in one run. Export to JSON, CSV or Excel, or
call it as an API.

### What you get

- **Posts**: full text (long posts expanded), time, author (id, name, verification, followers), likes, comments,
  reposts, region it was posted from, device, images, video, hashtag topics, original post for reposts, ad flag.
- **Comments**: text, likes, reply count, time, commenter IP region, author, and replies linked to their comment.
- **Hot search**: rank, topic, heat, category, label (热 / 新 / 沸 / 爆), time it entered the board, search link.
- **Profiles**: followers, following, posts, verification, bio, location, IP region, registration date, school,
  company, sunshine credit and the influence labels Weibo shows (influence index, readers, interactions).

### Why this scraper

- **No cookies needed** - not even for user timelines, which other Weibo scrapers ask you to log in for.
- **Everything in one run**: hot search + hot feed + keywords + users + post links together, no "operation" per run.
- **Deep comments**: pages through the comments of a post (most popular first) and their replies.
- **Low price** per row (see Pricing); no browser, fast runs.

### Use cases

- Social listening and brand monitoring in China; crisis and PR tracking.
- Daily trend tracking from the hot search board (schedule it every hour).
- KOL / influencer research: followers, verification, influence labels, latest posts and engagement.
- Comment datasets for sentiment analysis and AI training.

### Input example

```json
{
  "hotSearch": true,
  "maxHotFeedPosts": 50,
  "searchQueries": ["Tesla", "#人工智能#"],
  "users": ["https://weibo.com/u/1669879400"],
  "postUrls": ["https://weibo.com/1669879400/RkxApEnWy"],
  "maxCommentsPerPost": 100,
  "maxItems": 2000
}
```

### Output example

```json
[
  {
    "type": "post",
    "id": "5348956699625162",
    "mblogid": "RkxApEnWy",
    "url": "https://weibo.com/1669879400/RkxApEnWy",
    "text": "#迪奥二零二七夏季女装秀# 以时装为载体，呈现了一场关于经典艺术与浪漫诗意的时尚美学。很幸运能在现场沉浸式欣赏，感谢@DIOR迪奥 邀请。 ​​​",
    "createdAt": "2026-09-30T13:15:19Z",
    "authorId": "1669879400",
    "authorName": "Dear-迪丽热巴",
    "authorVerified": true,
    "authorVerifiedReason": null,
    "authorFollowers": null,
    "authorAvatarUrl": "https://tvax1.sinaimg.cn/crop.0.0.1080.1080.1024/63885668ly8geyrcrw0zjj20u00u0mz6.jpg?KID=imgbed,tva&Expires=1791521276&ssig=%2BojHGvz%2BZF",
    "repostsCount": 1000000,
    "commentsCount": 1000000,
    "likesCount": 14353371,
    "region": "法国",
    "device": null,
    "isLongText": false,
    "images": [
      "https://wx3.sinaimg.cn/large/001P0DUIgy1ihm06574scj642z53du1302.jpg"
    ],
    "videoUrl": null,
    "videoCoverUrl": null,
    "topics": [
      "迪奥二零二七夏季女装秀"
    ],
    "isRepost": false,
    "repostOfId": null,
    "repostOfText": null,
    "repostOfAuthor": null,
    "isAd": true,
    "rank": null,
    "source": "post",
    "input": "5348956699625162",
    "scrapedAt": "2026-10-09T01:47:56Z"
  },
  {
    "type": "comment",
    "commentId": "5348956962032799",
    "rootCommentId": "5348956831485333",
    "isReply": true,
    "text": "捞捞[给你小心心]",
    "likesCount": 22354,
    "repliesCount": null,
    "createdAt": "2026-09-30T13:16:21Z",
    "ipLocation": "浙江",
    "floor": 0,
    "authorId": "6734081324",
    "authorName": "草莓椰糕",
    "authorVerified": true,
    "authorVerifiedReason": "娱乐博主 超话粉丝钻咖（迪丽热巴超话）",
    "authorFollowers": 1394,
    "authorAvatarUrl": "https://tvax3.sinaimg.cn/crop.0.0.471.471.1024/007lJwaUly8ihetn6d79mj30d30d3wey.jpg?KID=imgbed,tva&Expires=1791521278&ssig=pc6Z%2F2P5OG",
    "postId": "5348956699625162",
    "postUrl": "https://weibo.com/1669879400/RkxApEnWy",
    "source": "comments",
    "input": "5348956699625162",
    "scrapedAt": "2026-10-09T01:47:58Z"
  },
  {
    "type": "hot-search",
    "rank": 1,
    "word": "新郎婚礼当天去医院看病后离世",
    "heat": 2398369,
    "category": "民生新闻",
    "label": "热",
    "onboardAt": "2026-10-08T23:23:19Z",
    "url": "https://s.weibo.com/weibo?q=%23%E6%96%B0%E9%83%8E%E5%A9%9A%E7%A4%BC%E5%BD%93%E5%A4%A9%E5%8E%BB%E5%8C%BB%E9%99%A2%E7%9C%8B%E7%97%85%E5%90%8E%E7%A6%BB%E4%B8%96%23",
    "source": "hot-search",
    "input": "hot-search",
    "scrapedAt": "2026-10-09T01:45:54Z"
  },
  {
    "type": "profile",
    "id": "1669879400",
    "name": "Dear-迪丽热巴",
    "url": "https://weibo.com/u/1669879400",
    "description": "一只喜欢默默表演的小透明。工作联系jaywalk@jaywalk.com.cn 🍒",
    "gender": "female",
    "location": "上海",
    "ipLocation": null,
    "followersCount": 82550717,
    "followingCount": 294,
    "postsCount": 1936,
    "verified": true,
    "verifiedReason": "嘉行传媒签约演员　",
    "verifiedType": 0,
    "memberRank": 9,
    "avatarUrl": "https://tvax1.sinaimg.cn/crop.0.0.1080.1080.1024/63885668ly8geyrcrw0zjj20u00u0mz6.jpg?KID=imgbed,tva&Expires=1791521387&ssig=jJ3FudmiCI",
    "registeredAt": "2010-07-02 13:19:58",
    "sunshineCredit": "阳光信用极好",
    "birthday": "双子座",
    "education": "上海戏剧学院",
    "company": "嘉行传媒",
    "labels": [
      "演员影响力指数 5043万",
      "V指数 文娱 93.44分",
      "昨日阅读人数100万+",
      "本月互动人数46万",
      "近30天视频播放量3355.5万",
      "超话 钻石2级",
      "星光公益项目代言人"
    ],
    "source": "profile",
    "input": "迪丽热巴",
    "scrapedAt": "2026-10-09T01:49:48Z"
  }
]
```

Every row has `type` (`post`, `comment`, `profile` or `hot-search`), `source`, the `input` that found it and
`scrapedAt`. Dates are ISO 8601 in UTC.

### Run it on a schedule and connect it to your tools

**Schedule:** in Apify Console open *Schedules → Create*, pick this actor and your input, and set it to run
every Monday at 07:00 (your time zone) for a fresh dataset on a fixed day. Each run returns the full, current result set as a new dataset.

**Integrations** (Actor → *Integrations* tab, no code):

- **Google Sheets** — append every run's rows to a sheet.
- **Make, Zapier, n8n** — start the actor from a scenario/zap/workflow and use the rows in the next steps.
- **Webhook** — get a POST to your endpoint when a run succeeds, then download the dataset.
- **Slack / email** — notify your team when a scheduled run finishes.

**AI agents (MCP)** — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP
server `https://mcp.apify.com?actors=kalilfagundes.w/weibo-scraper` (sign in with your Apify account) and ask for the data in
plain language. The agent fills the input from the input schema and reads the dataset back.

**API** — call it from your code (`pip install apify-client` / `npm i apify-client`):

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kalilfagundes.w/weibo-scraper").call(run_input={
    "hotSearch": True,
    "maxHotFeedPosts": 25,
    "users": [
        "https://weibo.com/u/1669879400"
    ],
    "maxPostsPerUser": 20,
    "searchQueries": [
        "Tesla",
        "#人工智能#"
    ],
    "maxItems": 300
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kalilfagundes.w/weibo-scraper').call({
  "hotSearch": true,
  "maxHotFeedPosts": 25,
  "users": [
    "https://weibo.com/u/1669879400"
  ],
  "maxPostsPerUser": 20,
  "searchQueries": [
    "Tesla",
    "#人工智能#"
  ],
  "maxItems": 300
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### Pricing

Pay only for the rows you get (launch offer, lower on higher Apify plans):

| Row | Price |
|---|---|
| Post | $1.50 per 1,000 |
| Comment | $0.50 per 1,000 |
| Hot search row | $1 per 1,000 (the 50-topic board = $0.05) |
| User profile | $2 per 1,000 |
| Run start | $0.002 |

Example: 1,000 posts with 20 comments each = $1.50 + $10 = $11.50. `maxItems` and the per-input limits cap every run.

### Limits and FAQ

- **Search and user timelines without login**: Weibo shows guests the first page of each search tab (All, Latest,
  Popular - about 30 different posts per keyword) and the latest 10-20 posts of a user. Use more keywords or hashtags
  for more posts. Comments, the hot feed and the hot search board page through normally.
- Deleted, private or region-restricted posts are reported in the run's OUTPUT summary and skipped.
- Requests start without a proxy and switch to a fresh proxy IP when Weibo throttles a session.
- Only public data is collected. No login, cookies or CAPTCHA solving.

Questions or a missing field? Open an issue on the Issues tab - feedback is answered quickly.

### Related actors

- [Douyin Scraper 抖音 - Video, Comments, Profile & Hot Search](https://apify.com/kalilfagundes.w/douyin-scraper)
- [Bilibili Scraper & API - Videos, Comments, Danmaku 哔哩哔哩](https://apify.com/kalilfagundes.w/bilibili-scraper)
- [Meta Threads Scraper - Posts, Replies, Profiles & Hashtags](https://apify.com/kalilfagundes.w/threads-scraper)

# Actor input Schema

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

Posts matching each keyword (人工智能, "Tesla"). Start with # for a hashtag topic (#人工智能#). Without login Weibo shows the first page of each search type.

## `searchTypes` (type: `array`):

Which Weibo search tabs to read for every keyword (results are merged, no duplicates).

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

User IDs (1669879400), profile links (https://weibo.com/u/1669879400) or exact screen names. Returns a profile row and the latest posts.

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

Links like https://weibo.com/1669879400/RkxApEnWy or https://m.weibo.cn/detail/5348956699625162, or post ids. Returns the post (and its comments if enabled).

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

Today's hot search list: rank, topic, heat, category and label (hot/new/boom).

## `maxHotFeedPosts` (type: `integer`):

Posts from Weibo's trending feed (热门微博). 0 = skip.

## `maxPostsPerUser` (type: `integer`):

Latest posts per user (Weibo shows guests about the latest 10-20). 0 = profile only.

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

Comments for every post found, most popular first, with paging. 0 = no comments.

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

Also save replies to each comment (counted in the comment limit).

## `includeUserProfile` (type: `boolean`):

One row per user: followers, following, posts, verification, IP region, bio, registration date.

## `expandLongText` (type: `boolean`):

Fetch the full text of posts Weibo cuts with "全文" (one small extra request).

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

Stop after this many rows in the whole run. 0 = no limit.

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

Used when Weibo throttles a session: the session restarts on a new proxy IP.

## Actor input object example

```json
{
  "searchQueries": [
    "人工智能"
  ],
  "searchTypes": [
    "all",
    "realtime",
    "hot"
  ],
  "hotSearch": false,
  "maxHotFeedPosts": 0,
  "maxPostsPerUser": 20,
  "maxCommentsPerPost": 20,
  "includeReplies": true,
  "includeUserProfile": true,
  "expandLongText": true,
  "maxItems": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

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

OUTPUT record: per input, rows saved and errors.

# 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 = {
    "searchQueries": [
        "人工智能"
    ],
    "maxCommentsPerPost": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kalilfagundes.w/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 = {
    "searchQueries": ["人工智能"],
    "maxCommentsPerPost": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("kalilfagundes.w/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 '{
  "searchQueries": [
    "人工智能"
  ],
  "maxCommentsPerPost": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call kalilfagundes.w/weibo-scraper --silent --output-dataset

```

## MCP server setup

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