Weibo Scraper — Posts, Users, Comments & Trends avatar

Weibo Scraper — Posts, Users, Comments & Trends

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Weibo Scraper — Posts, Users, Comments & Trends

Weibo Scraper — Posts, Users, Comments & Trends

Scrape Sina Weibo (微博) without login: hot-channel posts, user profiles, keyword & #topic# search, the hot-search board, and comments with replies. Likes, reposts, IP region, video plays, follower counts, verification. Datacenter proxy, no cookies, JSON/CSV/Excel export.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Weibo Scraper — Posts, Users, Comments & Hot Search (微博)

Independent tool. This Actor is not affiliated with, endorsed by or sponsored by Sina Weibo (新浪微博) or Weibo Corporation. "Weibo" and "微博" are trademarks of their respective owners. The Actor only reads information Weibo shows to any signed-out visitor.

Weibo Scraper collects data from Sina Weibo (微博), China's largest public social network, without a Weibo account, without cookies and without a Chinese IP address. In one run you can combine:

  • 🔥 Hot channels (热门频道) — posts from Weibo's 55 hot feeds such as 热门 (Hot), 实时 (Real-time), 社会 (Society), 财经 (Finance), 科技 (Tech), 体育 (Sports), 明星 (Celebrities), 汽车 (Cars). This is the deepest source: 1,000+ unique posts per channel in a single run.
  • 💬 Comments and replies of any post — hottest and newest, each with the commenter's full profile and IP region (IP属地).
  • 📈 Hot-search board (热搜榜) — all 50 real-time trending topics with rank, heat value, label (热/新/沸/爆), category and the time each topic entered the board — optionally with the posts behind every topic.
  • 👤 User profiles — followers, following, posts, lifetime likes/comments/reposts, verification (blue/orange V) and its reason, company, school, account creation date, credit level and Weibo's own influence labels — plus each user's newest posts.
  • 🔎 Keyword and #topic# search — the Top (综合), Real-time (实时) and Hot (热门) tabs, de-duplicated.

Every row is clean JSON with ISO dates, real numbers (not "1.2万" strings) and stable IDs. Export to JSON, CSV, Excel, Google Sheets or straight into your pipeline with the Apify API.


✨ Why this Weibo scraper

No login, no cookiesUses the same anonymous visitor access a browser gets. Nothing to set up, no account to burn.
No China proxy neededRuns on Apify's ordinary datacenter proxy. Measured on 2026-10-10: 718 of 718 requests answered in the depth test, zero blocks.
Deep where Weibo is deepHot channels page on and on (1,000+ posts each), viral posts give ~500 comments plus up to 100 replies per comment.
Rich rowsUp to 72 columns: engagement, IP region, images, video URL + play count, topics, mentions, reposted post, and the author's profile.
Honest about limitsWeibo shows signed-out visitors only the first page of a profile timeline or a keyword search. The Actor says so in the log instead of quietly returning less.
Fails loudlyA run that could not reach Weibo fails with the reason. It never reports success with zero rows.

🎯 Use cases

  • China social listening & brand monitoring — track what Weibo users say about your brand, product launch or competitor, with sentiment-ready comment text and the commenter's region.
  • KOL & influencer research — compare followers, lifetime interactions, verification and influence labels of creators and brand accounts; find accounts with the user-search option.
  • Trend tracking — snapshot the 热搜 hot-search board every hour with a schedule and see what rises, how hot it gets and how long it stays.
  • Market & consumer research — read the 财经, 科技, 汽车, 美妆, 时尚 or 美食 channels to see which products and topics Chinese consumers engage with.
  • Academic & media research — build datasets of public discourse, IP-region distribution of comments, or repost behaviour around news events.
  • Content & PR teams — collect the comments under a campaign post (e.g. a celebrity endorsement) and measure reception.

📦 What data you get

Every row has a type column. Columns that do not apply to a row type are simply absent or null.

Post rows (type = "post")

ColumnMeaning
postId, mid, bid, urlIDs and the canonical https://weibo.com/{uid}/{bid} link
createdAtPublication time, ISO 8601 (UTC)
text, textLength, isLongTextPlain text with emoji kept as [名称] and line breaks; fetchLongText expands truncated (全文) posts
sourceClient / device, when shown
regionNameIP region shown under the post (发布于 …), e.g. 北京, 广东, 美国
repostsCount, commentsCount, likesCountEngagement counts as numbers
picsCount, picUrlsNumber of images and full-size image URLs
videoUrl, videoPlayCount, videoDuration, videoTitle, videoCoverAttached video (720p MP4 when available) and its view count
topics, mentions#topics# and @mentions found in the text
isRetweet, retweetedPostId, retweetedText, retweetedUserId, retweetedUserNameThe original post when this is a repost
user*Author: ID, name, URL, verification + type + reason, avatar, lifetime interactions, followers, following, post count, gender, location, bio. Hot-channel feeds carry a slim author object — enrichAuthors (on by default) fills the profile columns there with one cached lookup per unique author
sourceType, sourceQueryHow the row was found (hotChannel, user, search, trending, post) and the channel/user/keyword

Comment rows (type = "comment")

commentId, postId, postUrl, isReply, rootCommentId, replyToCommentId, replyToUserName, createdAt, text, likesCount, repliesCount, floorNumber, regionName (IP region, 来自 …), picsCount, topics, mentions, and the commenter's profile: userId, userScreenName, userFollowersCount, userFollowingCount, userPostsCount, userGender, userLocation, userDescription, userVerified, userVerifiedType, userVerifiedReason, userTotalInteractions, userAvatar.

User rows (type = "user")

All user* columns above plus userCreatedAt (account registration date), userCompany, userSchool, userBirthday, userCreditLevel (阳光信用), userLabels (e.g. "昨日阅读人数100万+", "V指数 文娱 93.44分"), userTotalLikes, userTotalComments, userTotalReposts, userDomain, userWebsite, userIsVip. Profiles requested under Users carry all of these; accounts found by user search carry the core columns (followers, posts, verification, bio).

Trend rows (type = "trend")

trendRank, trendWord, trendHotValue, trendLabel (热/新/沸/爆 when shown), trendCategory (e.g. 民生新闻, 综艺, 体育), trendOnboardedAt, trendIsNew, url.


🚀 How to scrape Weibo

  1. Click Try for free / Start — the form is pre-filled with a small example (hot-search board + two hot channels + one profile).
  2. Pick your sources: hot channels, users, keywords, post URLs and/or the hot-search board.
  3. Set the depth (posts per channel, comments per post) and a total cap (maxItems).
  4. Run, then open the Output tab or export the dataset as JSON, CSV or Excel. Five ready-made table views are included: Overview, Posts, Comments, Users and Hot search.

Input example 1 — hot channels at scale

{
"hotChannels": ["热门", "财经", "科技", "汽车", "体育"],
"maxPostsPerChannel": 1000,
"fetchLongText": true,
"enrichAuthors": true,
"maxItems": 5000,
"concurrency": 20
}

Input example 2 — brand monitoring with comments

{
"searchKeywords": ["华为", "小米汽车", "#iPhone 17#"],
"includeUserSearch": true,
"postUrls": ["https://weibo.com/1669879400/RlZog45UR"],
"includeComments": true,
"maxCommentsPerPost": 500,
"commentsSort": "both",
"includeReplies": true,
"maxRepliesPerComment": 20,
"maxItems": 10000
}

Input example 3 — hourly trend snapshot with the posts behind each topic

{
"includeTrending": true,
"includeTrendingPosts": true,
"maxPostsPerTrend": 15,
"users": ["1669879400", "https://weibo.com/u/2656274875", "@华为终端"],
"maxItems": 1500
}

📤 Output examples (real rows from a test run on 2026-10-10)

A post found via the post URL source:

{
"type": "post",
"postId": "5352408760976057",
"bid": "RlZog45UR",
"url": "https://weibo.com/1669879400/RlZog45UR",
"createdAt": "2026-10-10T01:52:34.000Z",
"text": "忙碌间隙,别忘了给自己留15分钟的松弛时间\n和@阿道夫 一起,焕新头皮好状态\n\n#阿道夫天然香洗发水#\n…",
"textLength": 276,
"source": "微博视频号",
"regionName": "北京",
"repostsCount": 566935,
"commentsCount": 379692,
"likesCount": 1204056,
"videoPlayCount": 13012650,
"videoDuration": 93,
"videoTitle": "阿道夫的微博视频",
"topics": ["阿道夫天然香洗发水", "迪丽热巴阿道夫品牌全球代言人", "阿道夫"],
"mentions": ["阿道夫"],
"isRetweet": false,
"userId": "1669879400",
"userScreenName": "Dear-迪丽热巴",
"userVerified": true,
"userVerifiedType": "personal",
"userTotalInteractions": 6199537840,
"sourceType": "post"
}

A comment on that post (the commenter's profile comes with it):

{
"type": "comment",
"commentId": "5352439375202658",
"postId": "5352408760976057",
"isReply": false,
"createdAt": "2026-10-10T03:54:13.000Z",
"text": "和代言人@Dear-迪丽热巴 一起焕新头皮好状态,以天然植萃养护头皮生态圈,借乌木雪松香舒展呼吸~ http://t.cn/AXlbo15N",
"likesCount": 25054,
"repliesCount": 2751,
"floorNumber": 32523,
"userScreenName": "阿道夫",
"userVerifiedType": "organization",
"userVerifiedReason": "广东阿道夫个人护理用品有限公司官方微博",
"userFollowersCount": 749103,
"userPostsCount": 7524,
"userLocation": "广东"
}

A trend row from the hot-search board:

{
"type": "trend",
"trendRank": 1,
"trendWord": "泰国警方回应大概率已被转至缅甸",
"trendHotValue": 480678,
"trendLabel": "热",
"trendCategory": "民生新闻",
"trendOnboardedAt": "2026-10-10T15:44:20.000Z",
"trendIsNew": false,
"url": "https://s.weibo.com/weibo?q=%23泰国警方回应大概率已被转至缅甸%23"
}

A user row (profile source) adds, for example: "userFollowersCount": 82551688, "userTotalLikes": 3252675664, "userCompany": "嘉行传媒", "userSchool": "上海戏剧学院", "userCreatedAt": "2010-07-02T05:19:58.000Z", "userCreditLevel": "阳光信用极好", "userLabels": ["演员影响力指数 5244万", "V指数 文娱 93.44分", "昨日阅读人数100万+"].


📊 How many results can I get?

Measured on the Apify platform on 2026-10-10:

SourceWhat a signed-out visitor getsMeasured
Hot channelPages on and on300 posts per channel in ~2–4 min; 1,000+ unique posts per channel in standalone tests (实时 1,200, 科技 1,080, 财经 1,079 after 60 pages, still yielding new posts)
Comments per post~300 hottest + ~300 newest509–600 unique top-level comments on one viral post with commentsSort: "both" (600 = the cap we set)
Replies per commentUp to 100100 of 2,752 replies on a top comment
Hot-search board50 topics per snapshot50
Trend postsFirst page of each search tab per topic247 posts for 50 topics at maxPostsPerTrend: 5
User profileProfile + newest ~10 posts1 user row + 9–10 posts
Keyword searchFirst page of Top / Real-time / Hot / #topic#~15–30 unique posts per keyword

Depth tests (Apify platform, 2026-10-10, 0 duplicates in every run, every request answered):

  • 5 hot channels + hot-search board + 20 comments per post → 4,000 rows (1,021 posts, 2,929 comments, 50 trends) in 132 s, 624/624 requests.
  • 8 hot channels × 300 + hot-search board + one viral post's comments, long-text expansion on → 2,049 rows in 280 s, 718/718 requests.
  • 4 hot channels × 250 with enrichAuthors + one viral post (both comment orders + replies) + keyword & user search → 1,897 rows in 396 s; all 1,000 feed posts carried the author's follower count.

For tens of thousands of rows, combine many channels (there are 55) with includeComments — 1,000 channel posts × up to ~500 comments each is a very large dataset — or schedule the Actor to run every hour.

Channels overlap (a viral post can appear in 热门 and 明星), and rows are de-duplicated across the whole run, so a channel listed later may contribute fewer posts than its cap.


⚡ Speed and cost

Measured on the Apify platform (2026-10-10, build with the faster transport), author enrichment on:

RunRowsTime
Prefilled example (hot-search board + 2 channels + 1 profile)1009–15 s (platform-reported run duration)
4 hot channels × 300 + hot-search board, default settings (concurrency: 20)1,25036–39 s
Same input with concurrency: 51,250about 2 min (113–126 s)
Same input with concurrency: 301,25032 s
  • Why it is fast: connections to Weibo are kept alive and reused (a fresh proxied connection per request was measured at ~1.8 s, a reused one at ~0.5 s); the visitor handshake is a single request; each hot channel pages on its own visitor while author profiles are looked up in parallel (cached, one lookup per author); rows are saved the moment they are complete and the run stops instantly when maxItems is reached.
  • concurrency is the number of requests in flight. 20 is the default and the measured sweet spot: 30 was only ~7 s faster on 1,250 rows but drew three times as many Weibo rate-limit answers (all retried automatically on a fresh identity).
  • Platform cost: the 1,250-row default run used $0.003–0.005 of compute and storage in total (well under 1 cent per 1,000 rows). Datacenter proxy only — no residential traffic.
  • enrichAuthors (on by default) adds one request per unique author; turn it off for the absolute fastest bulk export. fetchLongText adds one request per long post.

💡 Tips for best results

  • Volume: hot channels and comments are the deep sources. Keyword search and profile timelines are limited by Weibo to the first page for signed-out visitors — use many keywords or users, or channels, for volume.
  • Brand monitoring: combine searchKeywords with includeComments and commentsSort: "both"; filter comments by regionName for regional sentiment.
  • Trend tracking: schedule includeTrending: true every 30–60 minutes and compare trendRank / trendHotValue over time.
  • KOL research: give screen names or profile URLs under users; profile rows carry lifetime interactions and influence labels. For hot-channel posts, enrichAuthors (on by default) puts every author's followers, gender, location and bio on the post row.
  • Chinese text: all text is UTF-8. When opening CSV in Excel, use Data → From Text/CSV with UTF-8, or export as Excel (XLSX) directly.
  • Optional cookie (beta): if you have a Weibo account and need deeper profile timelines or search pages, paste the Cookie header of a signed-in m.weibo.cn session into weiboCookie (a secret field). This path has not yet been verified against a live signed-in account. Everything else works without it.

❓ FAQ

Do I need a Weibo account, login or cookies? No. Channels, comments, replies, the hot-search board, profiles and first-page search all work signed-out. The cookie field is optional and only extends profile timelines and search beyond the first page.

Do I need a Chinese IP address or residential proxy? No. The Actor runs on Apify's standard datacenter proxy. In the depth test every one of 718 requests was answered.

Why do I get only about 10 posts for a user? Weibo shows signed-out visitors only the newest page of a profile (and of each search tab). Page 2 onward requires signing in, for every visitor, on every proxy type — we measured it. The Actor logs a note when this applies. Use the optional cookie for deeper timelines, or use hot channels and comments for volume.

How many comments can I get per post? Weibo shows signed-out visitors about 300 comments per sort order. With commentsSort: "both" (default) the Actor collects the hottest and the newest sets — 509 to 600 unique comments on a viral post in our tests — plus up to 100 replies per comment with includeReplies.

What is the IP region (IP属地) field? Since 2022 Weibo prints the IP location under every post and comment ("发布于 广东", "来自 江苏"). The Actor puts it in regionName without the prefix — useful for regional analysis.

Are counts exact? Hot channels, comments and single posts return exact numbers. Some mobile endpoints report anything above one million reposts or comments as 1000000 ("100万+"). Follower counts written as "8255.2万" are converted to numbers.

Is the text in Chinese? Can I translate it? The text is exactly what was posted (mostly Simplified Chinese), stored as UTF-8. Pipe the dataset into any translation API or LLM after the run.

What happens if Weibo blocks a request? Each worker keeps its own visitor identity and IP; a refused one is replaced immediately with a fresh identity on a new IP. If Weibo refuses everything, the run fails with the reason instead of returning an empty "success".

What happens if a user or post does not exist? It is skipped with a clear log message ("User not found: …, Weibo says 用户不存在"). If every requested user/post is missing and nothing else was collected, the run fails with outcome NOT_FOUND so automations notice.

Can I schedule it? Yes — use Apify Schedules (e.g. hourly for the hot-search board, daily for brand keywords). Each run writes a SUMMARY record (outcome, counts per row type, request statistics) to the key-value store for monitoring.

Can I export to Excel, Google Sheets or a database? Yes. Export as JSON, CSV, XLSX, XML or HTML from the dataset, or connect Google Sheets, Make, Zapier, n8n, Airbyte, webhooks or the Apify API.

Is scraping Weibo legal? The Actor collects only publicly visible information that Weibo shows to anyone without an account, and does not bypass logins or paywalls. Posts and comments can contain personal data — you are responsible for using it lawfully (e.g. GDPR, PIPL) and in line with Weibo's terms.


🔌 Use the Weibo scraper via API

JavaScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('logiover/weibo-scraper').call({
hotChannels: ['财经', '科技'],
maxPostsPerChannel: 500,
includeTrending: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]);

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("logiover/weibo-scraper").call(run_input={
"postUrls": ["https://weibo.com/1669879400/RlZog45UR"],
"maxCommentsPerPost": 500,
"includeReplies": True,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["type"], row.get("text"))

cURL (run synchronously and get the rows)

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


This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Sina Weibo, Weibo Corporation or any of their subsidiaries. All trademarks mentioned are the property of their respective owners. The Actor reads only publicly available information that Weibo serves to signed-out visitors; it does not log in on your behalf (unless you choose to supply your own cookie), does not bypass paywalls and does not collect private messages. You are responsible for complying with applicable laws (including GDPR and China's PIPL) and Weibo's terms when using the data.


📝 Changelog

2026-10-10 — first release

  • Hot channels (55), comments + replies (hottest, newest or both), hot-search board with optional posts per topic, user profiles with Weibo's detailed profile data, keyword and #topic# search, optional long-text expansion and author-profile enrichment for feed posts.
  • Anonymous visitor identities per worker on datacenter IPs; refused identities are replaced instantly.
  • Global de-duplication across sources; SUMMARY record with outcome and counts; runs that reach nothing fail loudly; missing users/posts end with NOT_FOUND.