Weibo Scraper — Posts, Users, Comments & Trends
Pricing
from $3.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
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 cookies | Uses the same anonymous visitor access a browser gets. Nothing to set up, no account to burn. |
| No China proxy needed | Runs 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 deep | Hot channels page on and on (1,000+ posts each), viral posts give ~500 comments plus up to 100 replies per comment. |
| Rich rows | Up to 72 columns: engagement, IP region, images, video URL + play count, topics, mentions, reposted post, and the author's profile. |
| Honest about limits | Weibo 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 loudly | A 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")
| Column | Meaning |
|---|---|
postId, mid, bid, url | IDs and the canonical https://weibo.com/{uid}/{bid} link |
createdAt | Publication time, ISO 8601 (UTC) |
text, textLength, isLongText | Plain text with emoji kept as [名称] and line breaks; fetchLongText expands truncated (全文) posts |
source | Client / device, when shown |
regionName | IP region shown under the post (发布于 …), e.g. 北京, 广东, 美国 |
repostsCount, commentsCount, likesCount | Engagement counts as numbers |
picsCount, picUrls | Number of images and full-size image URLs |
videoUrl, videoPlayCount, videoDuration, videoTitle, videoCover | Attached video (720p MP4 when available) and its view count |
topics, mentions | #topics# and @mentions found in the text |
isRetweet, retweetedPostId, retweetedText, retweetedUserId, retweetedUserName | The 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, sourceQuery | How 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
- Click Try for free / Start — the form is pre-filled with a small example (hot-search board + two hot channels + one profile).
- Pick your sources: hot channels, users, keywords, post URLs and/or the hot-search board.
- Set the depth (posts per channel, comments per post) and a total cap (
maxItems). - 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:
| Source | What a signed-out visitor gets | Measured |
|---|---|---|
| Hot channel | Pages on and on | 300 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 newest | 509–600 unique top-level comments on one viral post with commentsSort: "both" (600 = the cap we set) |
| Replies per comment | Up to 100 | 100 of 2,752 replies on a top comment |
| Hot-search board | 50 topics per snapshot | 50 |
| Trend posts | First page of each search tab per topic | 247 posts for 50 topics at maxPostsPerTrend: 5 |
| User profile | Profile + newest ~10 posts | 1 user row + 9–10 posts |
| Keyword search | First 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:
| Run | Rows | Time |
|---|---|---|
| Prefilled example (hot-search board + 2 channels + 1 profile) | 100 | 9–15 s (platform-reported run duration) |
4 hot channels × 300 + hot-search board, default settings (concurrency: 20) | 1,250 | 36–39 s |
Same input with concurrency: 5 | 1,250 | about 2 min (113–126 s) |
Same input with concurrency: 30 | 1,250 | 32 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
maxItemsis reached. concurrencyis 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.fetchLongTextadds 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
searchKeywordswithincludeCommentsandcommentsSort: "both"; filter comments byregionNamefor regional sentiment. - Trend tracking: schedule
includeTrending: trueevery 30–60 minutes and comparetrendRank/trendHotValueover 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 ApifyClientclient = 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}'
🔗 Related scrapers
- Bilibili Video Scraper — videos, views and engagement from Bilibili (哔哩哔哩).
- RedNote / Xiaohongshu Scraper — notes and creators from 小红书.
- Douban Movie Scraper — ratings and reviews from 豆瓣.
- Threads Scraper — posts and profiles from Meta Threads.
- Telegram Channel Scraper — public channel messages and views.
⚖️ Legal & trademark
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;
SUMMARYrecord with outcome and counts; runs that reach nothing fail loudly; missing users/posts end withNOT_FOUND.