Weibo Profile Scraper - Posts, Followers & Stats
Pricing
from $1.00 / 1,000 scraped posts
Weibo Profile Scraper - Posts, Followers & Stats
Scrape Weibo (微博) user posts and profiles without login: newest 100 posts plus older media posts, with full text, likes, comments, reposts, images, MP4 video and the author's followers and bio.
Pricing
from $1.00 / 1,000 scraped posts
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape the posts of any Weibo (微博) user, together with the user's profile: followers, following, bio, verification and lifetime likes, comments and reposts. Give user IDs, profile links or screen names, and get each user's recent posts with full text, publish time, likes, comments, reposts, images, video, #topics# and IP region (发布于).
No Weibo account, login or cookies are needed. Download the data as JSON, CSV or Excel, run the Actor from the API on a schedule, or ask an AI assistant such as Claude or ChatGPT to get Weibo posts for you.
What does Weibo Profile Scraper do?
It opens each Weibo profile that you give it and saves one row for each post. Every row also carries the full profile of the user who posted it, so one table gives you both the content and the account behind it.
For each post you get:
- Post: ID, short ID, link and publish time
- Full text: Weibo cuts long posts with a "全文" (full text) link. This Actor always gets the complete text
- Engagement: the counts of likes, comments and reposts
- Images: links to the large-size images
- Video: the link to the MP4 file, the cover image and the length in seconds
- Topics: the
#hashtag#topics of the post - IP region: the province or country that Weibo shows on the post (发布于, for example
上海or法国) - Source: the app or phone that Weibo shows, for example
微博视频号oriPhone客户端 - Repost source: for a repost, the ID, link and text of the original post, and its author
For each user (in the author field of every row) you get:
- Identity: user ID, screen name, profile link, custom link (for example
weibo.com/rmrb) and avatar - Audience: followers, following and the number of posts
- Trust: the verified flag, verification type and reason (for example
《人民日报》法人微博) and the Sunshine Credit level (阳光信用) - Details: bio, gender, location, registration date, and birthday and company when the user makes them public
- Lifetime engagement: the total likes, comments and reposts on all of the user's posts
Because it runs on the Apify platform, you also get API access, scheduling, integrations and run monitoring.
How many posts can you get?
Weibo shows people who are not logged in only part of a profile. The Actor collects all of that part:
- the newest 100 posts of any kind: text, pictures, video, articles and reposts
- the newest 100 original posts, picture posts, video posts and article posts, which often reach further back in time
The Actor merges these posts, removes duplicates and saves them newest first. A busy account gives up to about 300 posts. Max posts per user keeps only the newest posts (default 100). Set it to 0 to get all of them.
How far back the posts go depends on how often the user posts. For 人民日报, which posts many times each day, the newest 100 posts cover about 3 days, and the picture, video and article posts reach back about a month. For a celebrity who posts a few times each week, the posts can reach back several years.
Tip: to build a longer history of an account, run the Actor on a schedule, for example every day, and keep the new posts of each run.
Why scrape Weibo profiles and posts?
Weibo is one of China's largest social networks. Brands, celebrities, media and government accounts publish there first.
- Influencer (KOL) marketing: check a key opinion leader's followers, verification and the engagement of their recent posts before you pay for a campaign.
- Brand and competitor monitoring: follow what official brand accounts post, and compare their likes, comments and reposts.
- Media and news research: collect the recent posts of news and government accounts, with their topics and full text.
- Social listening and trend research: see which
#topics#a set of accounts posts about, and how their audience reacts. - AI and NLP datasets: build dated, attributed collections of Chinese social media text with engagement numbers and author data.
How to scrape Weibo user posts in Apify Console
- Open a Weibo profile in your browser or the Weibo app and copy its link, or copy the user's screen name.
- Paste one or more users into Users.
- Optional: set Max posts per user.
- Click Start and wait for the run to finish.
- Open the Output tab to see the posts, or export them as JSON, CSV, Excel, XML or HTML.
Input
| Field | What it does | Example |
|---|---|---|
| Users | Weibo user IDs, profile links or screen names | ["2803301701", "https://weibo.com/rmrb"] |
| Max posts per user | The most posts to save for each user, newest first. Default 100. 0 saves all that Weibo shows (up to about 300) | 20 |
These forms of a user all work, and you can mix them in one list:
- Numeric user IDs:
2803301701 - Desktop profile links:
https://weibo.com/u/2803301701,https://weibo.com/2803301701and custom links such ashttps://weibo.com/rmrb - Mobile profile links:
https://m.weibo.cn/u/2803301701andhttps://m.weibo.cn/profile/2803301701 - Screen names:
人民日报or@人民日报 - The share text that you copy from the Weibo app, for example
人民日报 https://weibo.com/u/2803301701 分享自微博
Each user is collected one time, even when two entries in the list point to the same user.
Example: the newest 20 posts of one user
{"userIds": ["2803301701"],"maxResults": 20}
Example: all visible posts of users in different forms
{"userIds": ["https://weibo.com/rmrb","https://m.weibo.cn/u/1642634100","Dear-迪丽热巴"],"maxResults": 0}
Output
You get one row for each post. Here is a row from a real run:
{"id": "5352127419648809","mblogid": "RlS4tEu5X","url": "https://weibo.com/2803301701/RlS4tEu5X","text": "【#今年国庆假期8.26亿人次国内出游#】#国庆7天8.26亿人次出游# 经文化和旅游部数据中心测算,国庆节假期7天,全国国内出游8.26亿人次,国内出游总花费7383.75亿元,按可比口径(日均)同比2025年分别增长6.3%、4.3%。(人民日报记者 耿磊)","createdAt": "2026-10-09T15:14:37+08:00","author": {"id": "2803301701","name": "人民日报","url": "https://weibo.com/u/2803301701","customUrl": "https://weibo.com/rmrb","description": "人民日报法人微博。参与、沟通、记录时代。","followersCount": 158043484,"followingCount": 3096,"postsCount": 154054,"verified": true,"verifiedType": 3,"verifiedReason": "《人民日报》法人微博","gender": "male","location": "北京","registeredAt": "2012-07-22T02:28:35+08:00","birthday": "1948-06-15 双子座","company": "人民日报社","creditLevel": "阳光信用极好","totalLikes": 2529032761,"totalComments": 276694208,"totalReposts": 1184671945,"avatarUrl": "https://tvax4.sinaimg.cn/crop.0.0.1018.1018.1024/0033ImPzly8h8vgemh8kxj60sa0sadgw02.jpg?KID=imgbed,tva&Expires=1791559886&ssig=%2BDfRANk4vp"},"repostsCount": 114,"commentsCount": 110,"likesCount": 312,"images": ["https://wx1.sinaimg.cn/mw2000/0033ImPzly1ihw4flr6esj60ob0obgr902.jpg"],"videoUrl": null,"videoCoverUrl": null,"videoDurationSeconds": null,"topics": ["今年国庆假期8.26亿人次国内出游", "国庆7天8.26亿人次出游"],"location": null,"source": "微博网页版","isLongText": false,"repostOf": null,"scrapedAt": "2026-10-09T12:31:39+00:00"}
The Output tab has two tables:
- Posts: the time, author, text, reposts, comments, likes, topics, video, IP region and post link
- Author profiles: the avatar, name, user ID, followers, following, posts, verification, location, registration date and profile link
You can download the dataset in various formats such as JSON, HTML, CSV or Excel.
Post fields
| Field | Description |
|---|---|
id | Numeric post ID |
mblogid | Short post ID, as in the post link |
url | Link to the post |
text | The full post text, also for long posts. Weibo emoji show as [name], for example [心], and links show as their link text, for example 网页链接 |
createdAt | Publish time, ISO 8601, China time (UTC+8) |
author | The profile of the user who posted, with the fields in the next table |
repostsCount | Reposts (转发) |
commentsCount | Comments (评论) |
likesCount | Likes (赞) |
images | Links to the large-size images. Empty when the post has no images |
videoUrl | Link to the MP4 file, or null |
videoCoverUrl | The video's cover image, or null |
videoDurationSeconds | The video's length in seconds, or null |
topics | The #hashtag# topics, without the # marks |
location | The IP region that Weibo shows on the post (发布于): a Chinese province or a country. null when Weibo shows none |
source | The app or phone that Weibo shows, or null |
isLongText | true when Weibo shortens the post in the feed. The text field always has the full text |
repostOf | For a repost: the original post's id, url, text, authorId and authorName. null for an original post |
scrapedAt | When your run collected the row (UTC) |
Author fields
| Field | Description |
|---|---|
author.id | Numeric user ID |
author.name | Screen name |
author.url | Profile link |
author.customUrl | Custom profile link, for example https://weibo.com/rmrb, or null |
author.description | Bio, or null |
author.followersCount | Followers (粉丝) |
author.followingCount | Accounts the user follows (关注) |
author.postsCount | Posts published |
author.verified | true for a verified account |
author.verifiedType | Weibo's verification type code |
author.verifiedReason | What Weibo verified the account as, or null |
author.gender | male or female, as the user set it |
author.location | The location in the user's profile, or null |
author.registeredAt | When the account was made, China time (UTC+8) |
author.birthday | Birthday or star sign, when public |
author.company | Company, when public |
author.creditLevel | Weibo's Sunshine Credit level (阳光信用) |
author.totalLikes | Likes on all of the user's posts |
author.totalComments | Comments on all of the user's posts |
author.totalReposts | Reposts of all of the user's posts |
author.avatarUrl | Avatar image |
How to use Weibo Profile Scraper
In Apify Console
- Open the Actor, fill in the Input tab and click Start.
- Watch the run's progress in the log, then open the Output tab.
- Click Save as a new task to run the same setup again with one click. On the task, add a Schedule to collect the new posts of the same accounts every day or week.
With the Apify API (HTTP)
Run the Actor and get its results in one request. Replace YOUR_API_TOKEN with your token from Settings → API & Integrations in Apify Console.
curl -X POST "https://api.apify.com/v2/acts/hgservices~weibo-profile-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"userIds": ["2803301701"], "maxResults": 20}'
Add &format=csv or &format=xlsx to the URL to get CSV or Excel instead of JSON. A synchronous request waits up to 5 minutes. For many users or "maxResults": 0, start the run with POST /v2/acts/hgservices~weibo-profile-scraper/runs, and then read the items of the run's default dataset when it finishes.
With the JavaScript client
Install the client with npm install apify-client, then run:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('hgservices/weibo-profile-scraper').call({userIds: ['2803301701', 'https://weibo.com/u/1642634100'],maxResults: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const post of items) {console.log(post.author.name, post.author.followersCount, post.createdAt, post.likesCount, post.text);}
With the Python client
Install the client with pip install apify-client (version 3.0 or later), then run:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("hgservices/weibo-profile-scraper").call(run_input={"userIds": ["2803301701", "https://weibo.com/u/1642634100"],"maxResults": 20,})if run is None:raise RuntimeError("The run was not found.")for post in client.dataset(run.default_dataset_id).iterate_items():print(post["author"]["name"], post["createdAt"], post["likesCount"], post["commentsCount"], post["text"])for image in post["images"]:print(" image:", image)
With Claude, ChatGPT and other AI assistants (MCP)
Connect your AI assistant to the Apify MCP server. The assistant can then run this Actor for you and answer from the results. To give the assistant this Actor as a tool, use this server URL:
https://mcp.apify.com?tools=hgservices/weibo-profile-scraper
- Claude (claude.ai or Claude Desktop): open Settings → Connectors, click Add custom connector and paste the URL.
- Claude Code: run
claude mcp add --transport http apify "https://mcp.apify.com?tools=hgservices/weibo-profile-scraper". - Apify CLI: run
apify mcp install claude-code --tools hgservices/weibo-profile-scraper(also works forcursor,vscodeandcodex). - ChatGPT: in Settings → Apps & Connectors, turn on developer mode, create a connector and paste the URL.
- Cursor, VS Code and other MCP clients: add the URL as a remote (HTTP) MCP server.
Sign in with your Apify account when asked. Then ask in plain language, for example:
- "Get the newest 20 Weibo posts of 人民日报 and summarize them in English."
- "Compare the followers and the average likes of the last 30 posts of these three Weibo accounts."
- "Which #topics did https://weibo.com/rmrb post about this week?"
With integrations
Send the results to Google Sheets, Slack, email, Zapier, Make, n8n, Airbyte or any webhook from the Actor's Integrations tab. For example, collect the new posts of a list of KOLs every morning and add them to a Google Sheet.
Tips
- Paste any form of a user. IDs, desktop and mobile profile links, custom links, screen names and app share text all work.
- Use the real account name. Many celebrity screen names, such as
迪丽热巴, belong to banned copy accounts. The real accounts often have a prefix, such asDear-迪丽热巴. A profile link or user ID is always exact. - Get only what you need. Set Max posts per user to
20for a quick check of recent activity, or to0for all visible posts. - Download videos soon. Weibo signs each video and avatar link, and video links expire about one hour after the run. Save the files soon after the run.
- Get the comments too. Give the post links from the
urlfield to Weibo Comments Scraper to get the comments and replies of each post.
Limits
- Only the posts that Weibo shows to visitors. Older text-only posts are visible only to logged-in users. This Actor never logs in, so it gets the posts described in How many posts can you get?
- Some users hide older posts. A user can choose to show only recent posts, for example the last six months, to everyone. Then the Actor gets fewer posts.
- Comment and repost counts stop at 1,000,000. Weibo shows these counts as "100万+" when they are higher, and the Actor saves
1000000. Like counts are always exact. - Reposts show the start of long originals. For a repost of a long post,
repostOf.textcan end with "...". Give therepostOf.urllink to Weibo Post Scraper to get its full text. - The IP region is what Weibo shows. It is the region of the poster's IP address, not a verified home address. Weibo does not show it for all posts.
- Unknown, banned and hidden users are skipped. So are users who show no posts. The log names each user that was skipped and tells you why.
Related Actors
- Weibo Post Scraper gets posts by link, with full text and stats.
- Weibo Comments Scraper gets the comments and replies of posts.
- Weibo Video Scraper gets the full video history of a user.
- Weibo Hot Search Scraper gets the 微博热搜 trending topics.
FAQ, disclaimers and support
Do I need a Weibo account or cookies? No. The Actor reads only what Weibo shows to any visitor. It never logs in, so your account is never at risk.
Do I need a proxy? No. You do not need to set up a proxy.
Can I get all the posts a user ever made? No. Weibo shows the full post history only to logged-in users. The Actor gets the newest posts and the newest original, picture, video and article posts, up to about 300 for each user. For a user's full video history, use Weibo Video Scraper.
Why are the profile fields repeated on every row? So that each row is complete on its own. You can filter, sort or chart the posts by follower count or verification without joining two tables. The Author profiles table in the Output tab shows the profile fields only.
Why does the feed show a shorter text than the Actor?
Weibo cuts long posts in the feed and shows a "全文" (full text) link. The Actor always saves the full text. The isLongText field tells you which posts Weibo cut.
Is it legal to scrape Weibo profiles and posts? The Actor collects only data that is publicly available. Profiles and posts can contain personal data, which is protected by laws such as the GDPR and China's PIPL. You are responsible for using the data in line with Weibo's terms of service and these laws. Scrape only what you have a legitimate reason to use.
I found a problem or need a feature. Open an issue on the Issues tab, and we will look into it. Custom solutions for Weibo and other Chinese websites are available on request.