# Weibo Scraper - Posts, Profiles, Hashtags & Hot Search (`scrapewise/weibo-scraper`) Actor

Scrape Weibo (微博) without login: keyword search, a profile's public posts, post URLs, hashtags and topics, and the live hot search board. Likes, comments, reposts, pictures, video links, region, hashtags and the author's public profile. US$ 4 per 1,000 items; error rows are free.

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

## Pricing

from $3.40 / 1,000 weibo item delivereds

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?

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

Weibo Scraper turns **public Weibo (微博) content** into clean JSON, CSV or Excel. Search any keyword, pull the public posts of a profile, open single post URLs, follow a hashtag or topic, and read the live hot search board (热搜). Every post comes with full text, likes, comments, reposts, pictures, video link, publishing region, hashtags and the public profile of its author. It is built for brand teams, China market researchers, trend analysts, newsrooms and AI agents.

**US$ 4.00 per 1,000 items. No monthly fee, no start fee, no login, no cookies. Error rows are free.**

### At a glance

| | This Actor | zhorex/weibo-scraper (most used, 30 days) | sian.agency/weibo-scraper (second most used) |
|---|---|---|---|
| Price per 1,000 items, Free plan | **US$ 4.00** | US$ 35.00 | US$ 75.00 |
| Price per 1,000 items, Gold plan and above | **US$ 3.40** | US$ 35.00 (same on every plan) | US$ 75.00 (same on every plan) |
| Fee per run start | None | US$ 0.05 per 1,000 run starts, per GB of memory | None |
| Deleted posts, missing profiles, empty searches | Free rows with an `errorCode` | Not stated on its page | Not stated on its page |
| Users in the last 30 days | 1 (published 2026-09-16) | 123 | 92 |
| Store rating | No reviews yet | 1.0 (1 review) | No reviews yet |
| Public run success, last 30 days | No public runs yet; 14 of our 14 cloud test runs succeeded | 99.6% (2,561 of 2,570) | 100.0% (23,805 runs) |

Competitor figures were read from the public Apify API (`api.apify.com/v2/store?search=weibo`) on **2026-09-15** and change every day. Success is counted the honest way, `SUCCEEDED / (SUCCEEDED + FAILED + TIMED-OUT)`. Of the 54 Weibo Actors measured that day, only those two have real traction.

### One real row

Minimal input:

```json
{ "searchQuery": "小米", "maxItems": 30 }
```

A real post row from a cloud run of 2026-09-16, trimmed to the fields most people use (the full row is under "Output" below):

```json
{
  "type": "post",
  "id": "5343350941032693",
  "bid": "RibKS4kEl",
  "url": "https://m.weibo.cn/detail/5343350941032693",
  "text": "全新小米18 Pro系列\n全新百变背屏\n明日敬请期待\n#小米18Pro系列# 卢伟冰的微博视频",
  "createdAt": "2026-09-15T02:00:02+00:00",
  "likeCount": 2120,
  "commentCount": 466,
  "repostCount": 108,
  "region": "北京",
  "hashtags": ["小米18Pro系列"],
  "videoUrl": "https://f.video.weibocdn.com/o0/Z6wjKOc8lx08ANFA7FtS010412000m6N0E010.mp4?label=mp4_hd...",
  "videoDuration": 8,
  "isRepost": false,
  "authorId": "1892653244",
  "authorName": "卢伟冰",
  "authorUrl": "https://m.weibo.cn/u/1892653244",
  "authorVerified": true,
  "authorVerifiedReason": "小米集团合伙人、总裁，手机部总裁，小米品牌总经理",
  "authorFollowersCount": 3752000,
  "authorPostCount": 16970,
  "source": "search:小米",
  "errorCode": null,
  "scrapedAt": "2026-09-16T01:17:41.069454+00:00"
}
```

### What you can do with it

- **Monitor a brand or a product launch in China.** Schedule a daily run on your brand name in Chinese and in Latin script and read every public post, who wrote it, how many followers they have and how fast it grows in likes, comments and reposts.
- **Track the hot search board.** Run `hot` mode every fifteen minutes and you have a time series of the topics trending in China, with rank and heat score. It is the cheapest signal of what the Chinese internet is paying attention to.
- **Do China market research without an office in China.** Search a product category, a competitor or a policy term and export hundreds of real opinions with region, date and engagement, ready for translation and sentiment analysis.
- **Vet a creator or a KOL, and follow a topic.** Pull a profile's public posts with followers, badge and per post engagement to compute a real engagement rate, and read the public timeline of any `#topic#` page to watch a recall, a launch or a news story unfold hour by hour.

### Why this Weibo Scraper

- **Nine times cheaper than the most used Weibo Actor.** US$ 4 per 1,000 items against US$ 35, with a ladder down to US$ 3.40 on Gold. A 10,000 post study costs US$ 40 here and US$ 350 there.
- **Five modes, one flat output.** Search, profile, post URL, hashtag and hot search return the same columns with a `type` field, so one integration covers every job.
- **Four search tabs merged per keyword.** Weibo splits search across tabs (all, real time, hot and mixed). Most scrapers read one. This one reads four and deduplicates, taking a keyword from 11 posts to about 40 to 60 distinct posts in our tests.
- **Full text of long posts, reposts kept whole, author profile on every row.** Truncated posts are opened at no extra charge, a repost carries `repostOf` with the original, and followers, post count, bio and verification badge come attached to each post so you can filter by audience size without a second pass.
- **No login, no cookies, no account of yours.** The Actor takes an anonymous visitor session the same way any browser does when it opens m.weibo.cn logged out, and reads only what Weibo serves to that visitor.
- **Free error rows, and cheap because it is plain HTTP.** Deleted posts, missing profiles and blocked pages come back with a stable `errorCode` and cost nothing. In 14 cloud test runs the platform cost was 0.74% of the price charged.

### Input

Every field is optional. With an empty input the Actor searches `小米` (Xiaomi) and returns 30 posts, which is what Apify's daily health check runs.

| Field | Type | What it does |
|---|---|---|
| `mode` | select, default `search` | `search`, `user`, `posts`, `hashtag` or `hot`. Fill another field and the Actor uses it, so API and agent calls never fail on the mode. |
| `searchQuery`, `searchQueries` | string, list | Keywords for `search` mode, Chinese or Latin. Each returns up to `maxItems` posts; duplicates across keywords are removed and never charged twice. |
| `hashtags` | list of strings | For `hashtag` mode: topic names with or without the `#` marks. |
| `userIds` | list of strings | For `user` mode: numeric uid, profile URL or display name. |
| `postUrls` | list of strings | For `posts` mode: post URLs, numeric ids or short bids. |
| `publishedAfter`, `publishedBefore` | string, `YYYY-MM-DD` | Drop posts outside the window; `publishedBefore` is inclusive. |
| `includeComments`, `maxCommentsPerPost` | boolean (false), integer (20) | Adds the public comments of each post as `type: "comment"` rows. Weibo serves up to 20 without login. |
| `includeProfile` | boolean, default true | In `user` mode, adds one `type: "profile"` row per profile. |
| `includeLongText` | boolean, default true | Opens truncated long posts to bring the full text. No extra charge. |
| `maxItems` | integer, default 30 | Maximum items per keyword, hashtag or profile; run total for `posts` and `hot`. |
| `proxyConfiguration` | proxy | Apify datacenter proxy by default. Blocked requests are retried on a new IP with a new visitor session. |

What each kind of input returns:

| You give | You get |
|---|---|
| `searchQuery: "小米"` | Posts from four Weibo search tabs for that keyword, merged and deduplicated |
| `hashtags: ["小米18"]` | Posts from the public `#小米18#` topic timeline |
| `userIds: ["1771925961"]`, `["小米公司"]` or `["https://m.weibo.cn/u/1771925961"]` | The profile row plus the public posts of that account; a display name is resolved through Weibo's public profile search |
| `postUrls: ["https://m.weibo.cn/detail/5343350941032693"]` or `["RibKS4kEl"]` | That one post with full stats, from the URL, the numeric id or the short bid |
| `mode: "hot"` | The live hot search board with rank, topic and heat score |

#### Example: monitor a brand in Chinese and in Latin script

```json
{
  "mode": "search",
  "searchQueries": ["小米", "Xiaomi"],
  "maxItems": 50,
  "publishedAfter": "2026-09-10"
}
```

#### Example: the hot search board, and a creator's posts with public comments

```json
{ "mode": "hot", "maxItems": 60 }
{ "mode": "user", "userIds": ["小米公司"], "maxItems": 20, "includeComments": true }
```

### Output

One flat row per item. The `type` field says what the row is: `post`, `topic`, `profile` or `comment`, and fields that do not apply are `null`. A hot search topic row from a real run of 2026-09-16 (URL shortened here):

```json
{
  "type": "topic",
  "topic": "隐翅虫被女生用手掐着玩",
  "text": "隐翅虫被女生用手掐着玩",
  "rank": 2,
  "heat": 1237211,
  "board": "实时热点，每分钟更新一次",
  "url": "https://m.weibo.cn/search?containerid=100103type%3D1%26t%3D10%26q%3D%23...%23",
  "source": "hot",
  "scrapedAt": "2026-09-16T01:17:45.156258+00:00"
}
```

A public profile row, and a public comment row (display name only, no id, link or picture of the person who commented):

```json
{ "type": "profile", "id": "1771925961", "url": "https://m.weibo.cn/u/1771925961",
  "authorName": "小米公司", "authorVerified": true, "authorVerifiedReason": "小米科技有限责任公司",
  "authorFollowersCount": 13932000, "authorFollowingCount": 998, "authorPostCount": 25343,
  "text": "让全球每个人都能享受科技带来的美好生活。", "source": "user:小米公司" }

{ "type": "comment", "id": "5343188631684163", "postId": "5343083248227060",
  "url": "https://m.weibo.cn/detail/5343083248227060", "text": "初心呢",
  "createdAt": "2026-09-14T15:15:04+00:00", "likeCount": 43, "commentCount": 3,
  "region": "广东", "commenterName": "喜得龙888", "source": "comments:5343083248227060" }
```

#### Fields

| Field | Type | Meaning |
|---|---|---|
| `type` | string | `post`, `topic`, `profile` or `comment` |
| `id`, `bid` | string | Weibo numeric id, and the short base62 id used in `weibo.com/<uid>/<bid>` |
| `url` | string | Canonical `m.weibo.cn` link |
| `text`, `textHtml` | string | Plain text with line breaks kept, and the original HTML with topic and mention links |
| `isLongText` | boolean | Weibo truncated the post in the list; the full text is already in `text` |
| `createdAt`, `createdAtRaw` | string | Publish time in ISO 8601 UTC, and exactly what Weibo returned |
| `likeCount`, `commentCount`, `repostCount` | number | Likes, comments and reposts |
| `region`, `postedFrom` | string | Publishing region (北京) and the client or badge string Weibo prints under the post |
| `hashtags` | array | Topics found between `#` marks in the text |
| `pictureCount`, `pictures` | number, array | How many pictures, and direct links to their large versions |
| `videoUrl`, `videoDuration`, `videoTitle` | string, number, string | Direct MP4 link, length in seconds and title |
| `isRepost`, `repostOf` | boolean, object | Whether the post quotes another, and the original with `id`, `url`, `text`, `authorName`, `authorId`, counts and `createdAt` |
| `authorId`, `authorName`, `authorUrl` | string | Numeric uid, display name and public profile link of the author |
| `authorVerified`, `authorVerifiedReason` | boolean, string | V badge and what it says |
| `authorFollowersCount` | number | Followers, with `万` and `亿` already converted to integers |
| `authorFollowingCount`, `authorPostCount` | number | Accounts the author follows, and total public posts |
| `authorDescription`, `authorGender`, `authorAvatarUrl` | string | Bio, `male` or `female`, and profile picture |
| `topic`, `rank`, `heat`, `board` | string, number, number, string | On `topic` rows: the words, the position, the heat score and which board it came from |
| `postId`, `commenterName` | string | On `comment` rows: the post it belongs to, and the display name of who wrote it |
| `source` | string | Where the row came from, for example `search:小米` or `user:小米公司` |
| `error`, `errorCode` | string | Reason and stable machine readable code, only on error rows |
| `scrapedAt` | string | When the row was collected, ISO 8601 UTC |

#### Error codes (never charged)

| errorCode | Meaning |
|---|---|
| `POST_NOT_FOUND` | The post was deleted, hidden or never existed |
| `PROFILE_NOT_FOUND` | No Weibo profile matches that uid, URL or display name |
| `INVALID_POST_ID` | The line is not a Weibo post URL or id |
| `NO_RESULTS` | The keyword, hashtag or profile has no public posts |
| `BLOCKED` | Weibo served the login page on every retry for that request. Run again or switch the proxy group. |

### Pricing

**US$ 4.00 per 1,000 items delivered.** One charge is one row with real content, whatever the mode: a post, a repost, a hot search topic, a public profile or a public comment. Full text, pictures, video links and author stats are included; error rows are free and duplicates are removed before charging. The default 30 item run costs US$ 0.12, a 1,000 post brand study US$ 4.00, a 100,000 post dataset US$ 400.00. Store discounts by plan:

| Apify plan | Price per item | Per 1,000 items |
|---|---|---|
| Free | US$ 0.0040 | US$ 4.00 |
| Bronze | US$ 0.0038 | US$ 3.80 |
| Silver | US$ 0.0036 | US$ 3.60 |
| Gold and above | US$ 0.0034 | US$ 3.40 |

Measured on 2026-09-15, the most used Weibo Actor charges US$ 35 per 1,000 plus a start fee, the second charges US$ 75, and the only cheaper ones in the niche have fewer than 20 users per month and success rates of 85% to 92%. There is no Apify compute bill on top: the price per item is all inclusive.

### How to use

#### In the Apify Console

Pick a mode (or just type a keyword and leave the mode alone), set **Max items**, click **Start**, and download the results as JSON, CSV, Excel, XML or HTML. Hot search runs have their own **Hot search topics** view.

#### Through the API

Start a run and get the rows in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapewise~weibo-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "search", "searchQuery": "小米", "maxItems": 50}'
```

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("scrapewise/weibo-scraper").call(run_input={
    "mode": "hot",
    "maxItems": 60,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row["rank"], row["topic"], row["heat"])
```

Node.js:

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('scrapewise/weibo-scraper').call({ mode: 'user', userIds: ['小米公司'], maxItems: 20 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

#### With AI agents (MCP)

The Actor works as a tool in Claude, Cursor, VS Code and other MCP clients through the Apify MCP server (`https://mcp.apify.com`). Add `scrapewise/weibo-scraper` and ask things like "what is trending on Weibo right now" or "find Weibo posts about 小米18 from the last three days and summarise the complaints". The agent reads the input schema, runs the Actor and gets flat rows back.

#### Schedules and integrations

Run the same input every fifteen minutes for the hot search board, or once a day for a brand keyword: a day over day diff of `id` shows new posts and the change in `likeCount` shows growth. Results go to Google Sheets, Slack, Airtable, a webhook, n8n, Make or Zapier through Apify integrations.

### Limitations

- **Weibo serves only the first page to a logged out visitor.** This is the honest and important limit. Every list route (search, profile timeline, topic timeline, comments) returns page 1 and answers page 2 with a login redirect, on a fresh session and a rested IP alike. The Actor works around it by width: four search tabs per keyword, three per topic, merged and deduplicated. In practice one keyword gives about 40 to 60 distinct posts, one topic 25 to 40, one profile 10 to 12, one post up to 20 comments, the hot board 60 to 85 topics. For more, use several keywords, topics and profiles in one run, or schedule it often and accumulate.
- **`publishedAfter` and `publishedBefore` filter, they do not dig.** They drop posts outside the window from what Weibo returned; they cannot make Weibo serve older posts.
- **Comments are display name only, by design.** Text, date, likes and display name, never the commenter's user id, profile link or picture. No follower lists, fan lists or contact details of anyone.
- **Weibo hides some content from logged out visitors.** Posts restricted to followers, age gated content and some accounts do not appear, and the Actor will not use an account to reach them.
- **Video and picture links expire**, because Weibo signs its CDN links. Download the files within a few hours of the run.
- **Numbers are what Weibo shows publicly** at the moment of the run. Counts written as `万` and `亿` become integers, so `474.2万` is 4742000 and loses the digits Weibo itself rounds away. The content is mostly Chinese and the Actor does not translate.
- Something broke? Open an issue on the Actor page. Issues are answered within 12 hours.

### FAQ

**Do I need a Weibo account, cookies or an API key?**
No. The Actor takes an anonymous visitor session from Weibo's own public visitor endpoint, the same handshake a browser does when it opens m.weibo.cn logged out. You only need an Apify account.

**How many posts can I get for one keyword?**
About 40 to 60 distinct posts per run, because Weibo serves only the first page of each search tab to a logged out visitor and the Actor merges four tabs. For thousands, put many keywords and hashtags in one run, or schedule the same keyword several times a day; posts are deduplicated by id inside each run.

**Why is this so much cheaper than the other Weibo Actors?**
It is plain HTTP against Weibo's own public JSON routes, with no browser and no rendering. In 14 cloud test runs the platform cost was 0.74% of the price charged.

**Can I get the hot search board (热搜)?**
Yes, that is `hot` mode: the real time board and the rising board with rank, topic words, heat score and a link to the topic timeline, usually 60 to 85 topics, for about US$ 0.30.

**Can I search in English or other Latin script?**
Yes. Keywords like `Tesla` or `Xiaomi` return the posts Weibo indexes for them, mostly written in Chinese with the Latin term inside. For full brand coverage, search both names in the same run.

**Does it collect the people who write comments?**
Only their display name, and only when you turn `includeComments` on. Never their user id, profile link, picture, followers or any contact detail, and never follower or fan lists.

**Am I charged for errors, duplicates or empty searches?**
No. Rows with an `errorCode` are free, duplicates within a run are removed before charging, and a keyword with no public results costs nothing.

**What happens when Weibo blocks a request?**
Weibo answers a blocked request with HTTP 200 and a tiny body that redirects to the login page. The Actor treats that as a block, not as an empty result: it drops the session, takes a new IP, builds a new visitor session and retries up to six times, moving to residential IPs as a reserve after three blocked datacenter attempts. The run only fails if nothing at all could be delivered.

**Can I use it from n8n, Make, Zapier or an AI agent?**
Yes. Use the Apify app in those tools, or the Apify MCP server for agents. Every input field has a description, the output is flat with a `type` column, and error rows are free, which makes it cheap for an agent to explore with.

**Does it download videos and images?**
It returns direct links (`videoUrl`, `pictures`) and does not store the files. Fetch them soon after the run, because Weibo signs the links and they expire.

**Is scraping Weibo legal?**
The Actor collects only what Weibo shows publicly to any visitor without logging in, and no personal data of ordinary users beyond the public profile of the author who posted and the display name on a public comment. It never logs in and never touches private messages or restricted content. How you use the data is your responsibility; follow Weibo's terms and the privacy laws that apply to you, such as GDPR and LGPD.

**What if Weibo changes its API?**
The Actor fails loudly with a message that names the route and the field that changed, instead of finishing successfully with an empty dataset. Open an issue and it gets fixed.

### Changelog

- **2026-09-16, 0.1:** first release. Keyword search across four Weibo tabs, profile posts with the profile row, post details by URL, id or short bid, hashtag and topic timelines, the hot search board, optional public comments, full text of long posts, repost details, date filters, free error rows, US$ 4 per 1,000 with a discount ladder.

This Actor collects only public data and respects the site's terms.

### Em português

Raspa conteúdo público do Weibo (微博), a maior rede social chinesa, sem login e sem cookie: busca por palavra-chave, posts públicos de um perfil, post por URL ou id, hashtag ou tópico, e o quadro de buscas quentes (热搜) ao vivo. Cada post vem com texto completo, curtidas, comentários, reposts, fotos, link do vídeo, região, hashtags e o perfil público de quem publicou.

- **Monitorar marca na China:** execução diária com o nome da marca em chinês e em alfabeto latino, mostrando cada post público, quem escreveu e quantos seguidores tem.
- **Acompanhar tendência:** o modo `hot` devolve o quadro de buscas quentes com posição, tópico e nota de calor.
- **Pesquisa de mercado chinês:** busque uma categoria ou um concorrente e exporte centenas de opiniões reais com data, região e engajamento.

**Preço: US$ 4,00 por 1.000 itens no plano Free (US$ 3,40 no Gold), sem mensalidade e sem taxa por execução.** O líder da loja cobra US$ 35 por 1.000 pelos mesmos cinco modos. Linha com `errorCode` é gratuita. Limite honesto: o Weibo só entrega a primeira página de cada lista para visitante deslogado, então o volume vem de largura (várias palavras-chave, tópicos e perfis numa execução), não de profundidade.

Keywords: weibo scraper, sina weibo scraper, weibo api, weibo posts, weibo search, weibo hot search, weibo trending, weibo hashtag scraper, weibo profile scraper, weibo comments, chinese social media scraper, china social listening, china market research, 微博 scraper, 微博 数据, weibo data export, weibo monitoring, raspar weibo, dados do weibo

# Actor input Schema

## `mode` (type: `string`):

What to scrape. If you leave it on 'search' but fill another field, the Actor uses the field you filled, so API and MCP calls never fail on the mode.

## `searchQuery` (type: `string`):

Keyword for 'search' mode. Chinese (小米) and Latin keywords (Tesla) both work. The Actor queries four Weibo search tabs for the same keyword and merges the results.

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

Extra keywords for 'search' mode. Each keyword returns up to 'Max items' posts; duplicates across keywords are removed and never charged twice.

## `hashtags` (type: `array`):

For 'hashtag' mode: topic names with or without the # marks (小米18 or #小米18#). Each topic returns up to 'Max items' posts from its public topic timeline.

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

For 'user' mode: the numeric uid (1749127163), a profile URL (m.weibo.cn/u/1749127163 or weibo.com/u/1749127163) or the display name, which is resolved through Weibo's public profile search.

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

For 'posts' mode: m.weibo.cn/detail/<id> or weibo.com/<uid>/<bid> URLs, the numeric id, or the short bid (RibKS4kEl). Each line returns one post with full stats.

## `publishedAfter` (type: `string`):

YYYY-MM-DD. Drops posts published before this day. It filters what Weibo returns; it does not make Weibo serve older posts, because the deslogged API only serves the first page.

## `publishedBefore` (type: `string`):

YYYY-MM-DD, inclusive. Drops posts published after this day. Same caveat as 'Published after'.

## `includeComments` (type: `boolean`):

Adds the public comments Weibo shows on each post as extra rows with type 'comment'. Only the comment text, date, likes and the commenter's display name are returned, never their id, link or picture. Each comment counts as one delivered item.

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

How many public comments to take from each post when comments are on. Weibo serves up to 20 without login.

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

In 'user' mode, adds one row with type 'profile' per profile: followers, following, post count, bio, verification and avatar. Counts as one delivered item.

## `includeLongText` (type: `boolean`):

Weibo truncates long posts in lists. When on, every truncated post is opened once to bring the full text. No extra charge.

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

Maximum items per keyword, per hashtag or per profile; the run total for 'posts' and 'hot'. Weibo only serves the first page of every list without login, so one keyword returns about 40 to 60 distinct posts; use several keywords for more volume.

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

Apify datacenter proxy is the default and works for Weibo. Blocked requests are retried on a new IP with a new visitor session, and residential is used as a reserve after three blocked datacenter attempts.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "小米",
  "hashtags": [
    "小米18"
  ],
  "userIds": [
    "1749127163"
  ],
  "postUrls": [
    "https://m.weibo.cn/detail/5343350941032693"
  ],
  "includeComments": false,
  "maxCommentsPerPost": 20,
  "includeProfile": true,
  "includeLongText": true,
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `resultsCsv` (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 = {
    "mode": "search",
    "searchQuery": "小米",
    "hashtags": [
        "小米18"
    ],
    "userIds": [
        "1749127163"
    ],
    "postUrls": [
        "https://m.weibo.cn/detail/5343350941032693"
    ],
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapewise/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 = {
    "mode": "search",
    "searchQuery": "小米",
    "hashtags": ["小米18"],
    "userIds": ["1749127163"],
    "postUrls": ["https://m.weibo.cn/detail/5343350941032693"],
    "maxItems": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapewise/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 '{
  "mode": "search",
  "searchQuery": "小米",
  "hashtags": [
    "小米18"
  ],
  "userIds": [
    "1749127163"
  ],
  "postUrls": [
    "https://m.weibo.cn/detail/5343350941032693"
  ],
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapewise/weibo-scraper --silent --output-dataset

```

## MCP server setup

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