Weibo Scraper – Hot Search, Posts, Comments & Profiles
Pricing
from $4.00 / 1,000 posts
Weibo Scraper – Hot Search, Posts, Comments & Profiles
Extract Weibo hot search (微博热搜), posts, comments, replies, user profiles and keyword search results as JSON or CSV. No login, cookies or browser needed. A cheap Weibo API alternative for China trend monitoring, brand listening and KOL research. From $1 per 1,000 rows.
Pricing
from $4.00 / 1,000 posts
Rating
0.0
(0)
Developer
Phantom Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 minutes ago
Last modified
Categories
Share
Weibo Scraper — Hot Search, Posts, Comments & Profiles (No Login)
Weibo scraper and Weibo API alternative for Chinese social media data. Export the live Weibo hot search list (微博热搜), user profiles and their posts, any post by URL, comments and replies, keyword / hashtag search and trending posts from Sina Weibo (新浪微博) — no Weibo account, no cookies to paste, no browser. Clean, flat JSON you can download as CSV/Excel or call from your code.
- ✅ Hot search ranking: ~50 topics + pinned topic with rank, heat, label (新/热/沸/爆), category and time on the list — optionally with the top posts of each topic
- ✅ Profiles: followers, following, post count, verification, bio, location, registration date, school/company, total likes/comments/reposts
- ✅ User posts: newest posts + full history of photo/video posts back to the first one
- ✅ Posts by URL with comments (hot or newest first) and replies
- ✅ Keyword & #hashtag# search (general, hot and real-time tabs combined)
- ✅ Full text of long posts (全文), pictures in full size, video MP4 links, hashtags, mentions, region (IP location), reposted post
- ✅ Date filters (
2026-10-01,7 days,24 hours) - ✅ From $1 per 1,000 rows, no start fee — 8× to 35× cheaper than the most-used Weibo scraper ($35 per 1,000)
What can you do with this Weibo scraper?
| Use case | How |
|---|---|
| China trend monitoring | Schedule the hot search every hour and get rank, heat and category of every trending topic; push it to Slack, Sheets or your BI tool. |
| Brand & competitor monitoring in China | Search your brand, products or #hashtags# and track what Weibo users say; download comments with likes and region. |
| KOL / influencer research | Export profiles (followers, verification, total interactions, labels) and their recent posts with likes, comments and reposts. |
| Market research & sentiment analysis | Feed post and comment text into sentiment, topic or LLM pipelines (RAG, summarisation, translation). |
| Journalism, OSINT & academia | Archive what accounts like 人民日报 publish, with timestamps (UTC + China time), media links and engagement. |
| Social listening dashboards | Combine hot search + keyword search + comments into one dataset with a type column. |
Quick start (under 1 minute)
- Click Try for free. The pre-filled input reads the live hot search list and searches the keyword
华为(10 posts). - Add profiles, post URLs or more keywords when you need them, and cap the cost with Max posts and Max comments fields.
- Click Start. The default run takes well under a minute. Download JSON, CSV or Excel, or call it through the Apify API.
Input
Fill in any combination — everything runs in one go.
| Field | What it does |
|---|---|
includeHotSearch | Scrape the live hot search ranking (微博热搜). |
hotSearchPostsPerTopic | Also get the top N posts of every hot topic (0 = off). |
profiles | User ids (1669879400), links (https://weibo.com/u/1669879400, https://m.weibo.cn/u/..., https://weibo.com/rmrb) or screen names (@人民日报). |
maxPostsPerProfile | Newest posts per profile (default 20). 0 = only the profile row. |
includeProfileInfo | One profile row per user (default on). |
postUrls | Post links (https://weibo.com/<uid>/<id>, https://m.weibo.cn/status/<id>, https://m.weibo.cn/detail/<mid>) or ids. |
searchKeywords | Words, brands or #hashtags# to search. |
searchSort | all (general + hot + real-time + more, deduplicated), general, hot or realtime. |
maxPostsPerSearch | Posts per keyword (default 30). |
maxTrendingPosts | Posts from Weibo's public trending feed (热门微博). |
maxCommentsPerPost | Comments per post from postUrls (default 20). |
commentsForAllPosts | Also get comments for posts from profiles, search and hot search. |
commentSort | hot (most liked first) or time (newest first). |
includeReplies / maxRepliesPerComment | Also get replies to each comment. |
dateFrom / dateTo | 2026-10-01 (China time), ISO date-time or relative (7 days, 24 hours). |
fetchFullText | Download the full text of truncated long posts (default on). |
proxyConfiguration | Apify Proxy (default). If Weibo rate-limits you, use residential proxies, ideally CN or HK. |
If you leave everything empty, you get the hot search list.
Example: hourly hot search monitor with the top 3 posts of each topic
{"includeHotSearch": true,"hotSearchPostsPerTopic": 3}
Example: brand monitoring — search + comments
{"searchKeywords": ["小米汽车", "#华为Mate80#"],"searchSort": "all","maxPostsPerSearch": 80,"commentsForAllPosts": true,"maxCommentsPerPost": 50,"dateFrom": "7 days"}
Example: KOL profiles with their last month of posts
{"profiles": ["@人民日报", "https://weibo.com/u/1669879400"],"maxPostsPerProfile": 500,"dateFrom": "30 days"}
Example: all comments and replies of one post
{"postUrls": ["https://weibo.com/1669879400/RoDbmCVmy"],"maxCommentsPerPost": 5000,"commentSort": "hot","includeReplies": true,"maxRepliesPerComment": 20}
Output
Every row has a type: hot_search, profile, post, comment or error (error rows are free). Use the Posts, Comments, Hot search and Profiles views in the dataset tab, or filter by type in your code. Real samples (shortened):
{"type": "hot_search","rank": 1,"word": "武汉警方通报网约车被围堵事件","query": "#武汉警方通报网约车被围堵事件#","heat": 2890091,"label": "新","category": "民生新闻","is_pinned": false,"is_ad": false,"on_list_since": "2026-11-02T14:13:22Z","url": "https://s.weibo.com/weibo?q=%23...%23","captured_at": "2026-11-02T14:29:41Z"}
{"type": "post","id": "5358704929276970","bid": "RoDbmCVmy","url": "https://weibo.com/1669879400/RoDbmCVmy","created_at": "2026-10-27T10:51:18Z","created_at_china": "2026-10-27T18:51:18+08:00","text": "选择困难所以都发一下🤣","text_complete": true,"author_id": "1669879400","author_name": "Dear-迪丽热巴","user": {"id": "1669879400", "screen_name": "Dear-迪丽热巴", "verified": true, "avatar_url": "https://tvax1.sinaimg.cn/...", "...": "..."},"reposts_count": 1000000,"comments_count": 1000000,"likes_count": 5708775,"counts_capped": true,"region": "上海","pics": ["https://wx1.sinaimg.cn/large/001P0DUIgy1iih3u5chkqj63b04eob2d02.jpg", "..."],"video": null,"links": [],"hashtags": [],"mentions": [],"is_pinned": false,"is_repost": false,"reposted_post": null,"input_type": "post","input": "https://weibo.com/1669879400/RoDbmCVmy"}
{"type": "comment","id": "5358705521721951","post_id": "5358704929276970","root_comment_id": "5358705521721951","is_reply": false,"created_at_china": "2026-10-27T18:53:39+08:00","text": "每一张都绝美[期待][期待] http://t.cn/AXjKCYtz","likes_count": 40336,"replies_count": 4416,"region": "上海","author_name": "护舒宝","user": {"id": "1787569845", "verified": true, "verified_reason": "护舒宝官方微博", "followers_count": 620057, "...": "..."}}
{"type": "profile","id": "1669879400","screen_name": "Dear-迪丽热巴","followers_count": 82583288,"following_count": 294,"posts_count": 1941,"verified": true,"verified_reason": "嘉行传媒签约演员","location": "上海","registered_at": "2010-07-02T13:19:58+08:00","company": "嘉行传媒","school": "上海戏剧学院","total_interactions": 6255714721,"labels": ["V指数 文娱 87.28分", "近30天视频播放量324.7万", "..."]}
Post fields: id, bid, url, created_at (UTC), created_at_china, text, is_long_text, text_complete, author_id, author_name, user (id, screen name, verified, verification reason, followers, avatar), reposts_count, comments_count, likes_count, counts_capped, region, source (client app), pics (full-size), video (MP4 URL, page URL, duration, cover, plays), links, hashtags, mentions, is_pinned, edited, is_repost, reposted_post, input_type, input, keyword, search_tab, hot_rank, scraped_at.
Comment fields: id, post_id, post_url, root_comment_id, is_reply, reply_to, created_at, created_at_china, text, likes_count, replies_count, floor_number, region, liked_by_author, pics, author_id, author_name, user.
Pricing
Pay per event — you only pay for rows you get, no start fee:
| Event | Price | Per 1,000 |
|---|---|---|
| Post | $0.004 | $4 |
| Comment or reply | $0.002 | $2 |
| Profile | $0.004 | $4 |
| Hot search topic | $0.001 | $1 |
| Error rows | free | — |
Examples: 1,000 posts = $4 · a post with 1,000 comments ≈ $2 · a daily hot search snapshot for a month ≈ $1.56. The most-used Weibo scraper on Apify charges $35 per 1,000 items. Set Max cost per run in the run options to cap any run — the scraper stops cleanly at your limit.
What works without login (and what does not)
This scraper only uses what Weibo shows to logged-out visitors, so you never risk an account. Measured on 2 Nov 2026:
| Data | Without login |
|---|---|
| Hot search ranking | ✅ full list (~50 topics + pinned) |
| Profile info | ✅ |
| Post by URL / id | ✅ |
| Comments | ✅ deep pagination (hundreds or thousands per post) |
| Replies to comments | ✅ |
| User posts | ✅ the 10 newest posts of any kind + every post with photos or video back to the first one. Older text-only posts and reposts need login. |
| Keyword search | ⚠️ first page of each tab only: about 30-80 unique posts per keyword with searchSort: all. Deeper search pages need login. |
| Repost lists, followers/following lists | ❌ need login — not offered |
FAQ
Do I need a Weibo account or cookies? No. The scraper gets the same anonymous visitor cookies a browser receives when it opens weibo.com, and reads Weibo's public JSON endpoints (weibo.com/ajax and m.weibo.cn). No browser, so runs are fast and cheap (256 MB).
Why is reposts_count exactly 1000000 with counts_capped: true? Weibo displays "100万+" for very large counters and does not reveal the exact number to visitors. Treat it as "1,000,000 or more".
Why do picture links fail in my browser? Weibo's image CDN (sinaimg.cn) checks the referrer. Download them with the header Referer: https://weibo.com/. Video links contain an expiry time; download them soon after the run.
Which dates and time zones? created_at is UTC; created_at_china is Beijing time (UTC+8). Date filters without a time zone are read as China time.
Can I get more than ~80 posts for a keyword? Not without login. Run the same keywords on a schedule with searchSort: realtime and dateFrom: "24 hours" to build a growing archive — duplicates inside a run are never charged twice.
Is it legal? It only reads information that is publicly visible on Weibo without logging in and does not bypass captchas or paywalls. Weibo's terms restrict automated access; you are responsible for how you use the data (e.g. GDPR/PIPL when processing personal data).
Is this an official Weibo API? No. It is an independent tool and a no-code alternative to the Weibo API for public data.
Limits
- Works only with what Weibo shows to logged-out visitors. Keyword search returns the first page of each tab (about 30-80 unique posts per keyword).
- User timelines return the 10 newest posts plus every post with photos or video; older text-only posts and reposts need a login and are not offered.
- Repost lists and follower/following lists need login and are not available.
- Picture links need the header
Referer: https://weibo.com/and video links expire, so download media soon after the run.
Use it from code (API)
Every Apify Actor is also an API. Replace <YOUR_API_TOKEN> with the token from your Apify account (Settings, API & Integrations).
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('phantom-x64/weibo-scraper').call({"includeHotSearch": true,"searchKeywords": ["华为"],"maxPostsPerSearch": 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('<YOUR_API_TOKEN>')run = client.actor('phantom-x64/weibo-scraper').call(run_input={"includeHotSearch": True,"searchKeywords": ["华为"],"maxPostsPerSearch": 20})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
You can also start it from Make, Zapier, n8n or Google Sheets with the Apify integrations, schedule it, or call it as a tool from an AI agent through the Apify MCP server.
Support and feedback
Found a bug, need a new field or another source? Open an issue in the Issues tab of this Actor page. Reports with a run link are fixed fastest. If it saves you time, a short review on the Store page helps other people find it.