Weibo Scraper 微博 - Posts, Comments, Profiles & Hot Search avatar

Weibo Scraper 微博 - Posts, Comments, Profiles & Hot Search

Pricing

from $10.50 / 1,000 weibo item delivereds

Go to Apify Store
Weibo Scraper 微博 - Posts, Comments, Profiles & Hot Search

Weibo Scraper 微博 - Posts, Comments, Profiles & Hot Search

Scrape Weibo (微博) without login: paste any post, profile, search or topic link and run, or search keywords. Hashtags, the live hot search board and Black Cat (黑猫投诉) complaints. Likes, comments, reposts, media, region, author, ad filter, lexicon sentiment, only-new mode. Error rows are free.

Pricing

from $10.50 / 1,000 weibo item delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

10 hours ago

Last modified

Share

Weibo Scraper

Weibo Scraper turns public Weibo (微博) content into JSON, CSV or Excel without a login. Paste any Weibo link (post, profile, search page, #topic# page or the hot search board) and run, or search keywords. It also reads the live hot search board (热搜), the hot timeline, accounts and topics that match a keyword, and Black Cat (黑猫投诉) consumer complaints by company. Each post comes with full text, likes, comments, reposts, media links, publishing region, hashtags, an isPromoted flag for paid placements and the author's public profile. Optional: public comments and replies (up to 1,000 per post), lexicon sentiment, and an only-new mode for scheduled monitoring.

What it fixes

  • One keyword, one tab. Weibo splits search across tabs and serves logged out visitors one page per tab. This Actor reads eleven tabs per keyword and deduplicates them: about 120 to 135 distinct posts per keyword instead of about 11 on the first tab.
  • Re-paying for the same posts on a schedule. With compareWithPreviousRun, a daily brand run delivers and charges only posts no earlier run delivered.
  • Ads mixed into engagement data. Every post carries isPromoted, read from Weibo's own 广告 label; adFilter drops or isolates them before charging.
  • Picking a mode. Links pasted in startUrls are each read in the right mode, mixed in one list.

At a glance

  • Price: US$ 4.00 per 1,000 items until 2026-10-10, then US$ 15.00 per 1,000 (US$ 10.50 on Gold and above). No start fee.
  • Login, cookies, API key: none
  • Simplest input: paste Weibo links in startUrls, or leave the input empty (searches 小米, 30 posts)
  • Error rows (deleted post, missing profile, empty search, blocked page): free, with an errorCode

Switching from another Weibo actor? Your existing input works

Field names used by other Weibo Actors are read as they are:

Their fieldRead here as
operation (searchWeibo, weiboDetail, userDetail, user_profile, post_details, post_comments, hot_search, hot_timeline, hot_search_delta, user_posts, complaints)mode
keyword, searchAliasessearchQuery, searchQueries
weiboId, postIds / userIdpostUrls / userIds
startDay, endDay, searchDateFrom, searchDateTopublishedAfter, publishedBefore
maxResults, maxPages (20 items per page), maxCommentsmaxItems, maxCommentsPerPost
fetchFullText, sentimentAnalysis, deltaMode, deltaStateKey, complaintCompanyIdsincludeLongText, sentiment, compareWithPreviousRun, snapshotName, complaintCompanies

A cookieString is ignored, since nothing here needs a login. Fan and follower lists are not offered; asking for them returns one free row with errorCode: "NOT_OFFERED".

Input examples

{ "startUrls": ["https://weibo.com/u/2803301701", "https://s.weibo.com/top/summary"] }

Scheduled brand monitoring, only new posts, with sentiment:

{
"searchQueries": ["特斯拉", "Tesla"],
"maxItems": 200,
"compareWithPreviousRun": true,
"snapshotName": "tesla-daily",
"sentiment": true
}

Full comment thread of one post, with replies:

{ "mode": "posts", "postUrls": ["https://m.weibo.cn/detail/5346411605394884"],
"includeComments": true, "maxCommentsPerPost": 300, "includeReplies": true, "maxRepliesPerComment": 5 }

Other modes: { "mode": "hot" } for the hot search board, { "mode": "profiles", "searchQuery": "小米" } for matching accounts, { "mode": "topics", "searchQuery": "小米" } for matching topics, { "mode": "hot_posts", "hotCategory": ["科技"] } for a hot timeline channel, { "mode": "complaints", "complaintCompanies": ["小米", "京东"] } for Black Cat.

Output example

A real post row from a cloud run of 2026-09-16 (input { "searchQuery": "小米" }), trimmed:

{
"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系列"],
"videoDuration": 8,
"isPromoted": false,
"authorId": "1892653244",
"authorName": "卢伟冰",
"authorVerified": true,
"authorFollowersCount": 3752000,
"source": "search:小米",
"errorCode": null,
"scrapedAt": "2026-09-16T01:17:41.069454+00:00"
}

A hot search topic row from the same day:

{ "type": "topic", "topic": "隐翅虫被女生用手掐着玩", "rank": 2, "heat": 1237211,
"board": "实时热点,每分钟更新一次", "source": "hot" }

Main output fields

One flat row per item; type says what it is (post, topic, profile, comment, complaint) and fields that do not apply are null.

FieldMeaning
id, bid, urlNumeric id, short id and m.weibo.cn link
text, isLongTextFull plain text (long posts already opened)
createdAtPublish time, ISO 8601 UTC
likeCount, commentCount, repostCountEngagement counts
region, hashtags, pictures, videoUrlPublishing region, topics, image links, MP4 link
isRepost, repostOfWhether it quotes another post, and that original
authorName, authorVerified, authorFollowersCount, authorPostCountAuthor's public profile (万 and 亿 converted to integers)
isPromoted, promotionLabelPaid placement flag and Weibo's label
topic, rank, heat, discussionCount, readCountOn topic rows
postId, parentCommentId, commenterNameOn comment rows (display name only)
sentiment, sentimentScore, sentimentTermsWith sentiment: true
trend, previousRank, rankChange, heatChangeWith compareWithPreviousRun
complaintTitle, complaintAppeal, complaintStatus, complaintAmountCny, companyNameOn Black Cat complaint rows
source, errorCode, scrapedAtWhere the row came from, error code, collection time

Pricing

One charge per row with content: a post, topic, profile, comment, reply or complaint. Error rows are free and duplicates are removed before charging. Until 2026-10-10: US$ 4.00 per 1,000 (Bronze 3.80, Silver 3.60, Gold and above 3.40). From 2026-10-10: US$ 15.00 per 1,000 (Bronze 13.50, Silver 12.00, Gold and above 10.50). The default 30 item run costs US$ 0.12 before the change and US$ 0.45 after. There is no compute bill on top.

Limitations

  • Weibo serves one page per list to a logged out visitor. Search, profile, topic and comment lists answer page 2 with a login redirect. The Actor compensates by width (eleven tabs per keyword), so expect about 120 to 135 posts per keyword, 25 to 40 per topic, 10 to 12 per profile and 60 to 85 hot topics. Comments above 20 per post come from weibo.com, which does page through. For more volume, use more keywords or schedule runs and accumulate.
  • Date filters filter, they do not dig. publishedAfter and publishedBefore drop posts outside the window; Weibo does not serve older posts to a logged out visitor.
  • Sentiment is a word list, not a language model. It handles negation, intensifiers, emoticons and common slang but misses sarcasm. On 20 posts it agreed with a human reading on 15.
  • Some content is hidden from logged out visitors (follower-only, age gated), and the Actor does not use an account to reach it.
  • Black Cat is read by company, since its keyword search and detail pages need a login. Complainant nicknames are left out.
  • Media links expire because Weibo signs them; download files within a few hours.
  • No follower or fan lists, and commenters are display name only.

Error codes (never charged)

errorCodeMeaning
POST_NOT_FOUNDPost deleted, hidden or never existed
PROFILE_NOT_FOUNDNo profile matches that uid, link or name
INVALID_POST_ID, INVALID_DATE, INVALID_INPUT, INVALID_CATEGORYA value in the input could not be read; the message says which
NO_RESULTSNothing public matches the keyword, hashtag or profile
COMPANY_NOT_FOUNDNo Black Cat company matches that name
BLOCKEDWeibo served the login page on every retry for that request
NO_DATA, ITEM_UNREADABLE, UNEXPECTEDOne tab, item or request could not be read; the rest of the run still delivers

FAQ

Do I need a Weibo account or cookies? No. The Actor takes the same anonymous visitor session a browser gets when it opens m.weibo.cn logged out.

How do I get only new posts every day? Set compareWithPreviousRun: true and a snapshotName, then schedule the run. Seen ids are kept in a key-value store in your own Apify account; delete it to start over.

Can I search in English? Yes. Tesla or Xiaomi return the posts Weibo indexes for them, mostly Chinese text with the Latin term inside. Search both names for full coverage.

Can I use it from an AI agent or n8n? Yes, through the Apify MCP server (https://mcp.apify.com) or the Apify app in n8n, Make and Zapier. The output is flat with a type column.

Is it legal? It collects only what Weibo shows any logged out visitor, never private messages or restricted content. How you use the data is your responsibility under Weibo's terms and the privacy laws that apply to you.

What if Weibo changes its API? The run fails with a message naming the route that changed instead of finishing with an empty dataset. Open an issue on the Actor page.

Changelog

  • 2026-10-08: startUrls (paste any Weibo link), profile_only mode, adFilter, and input field names from other Weibo Actors accepted.
  • 2026-10-05: up to 1,000 comments per post and replies under each comment (includeReplies).
  • 2026-10-01: sentiment, isPromoted, and compareWithPreviousRun in search and hashtag mode.