To get Weibo posts and user data programmatically, use Scavio's Weibo API. POST /api/v1/weibo/hot-search returns the live trending board, /search/advanced finds posts on any keyword, /post returns one post with its repost, comment and like counts, /post/comments its comment thread, and /user/info and /user/posts any public account's profile and timeline. Every call costs 1 credit, about $0.002 on the Growth plan billed yearly, and none needs a Weibo account.
Weibo's own Open Platform API works for the user who authorized your app, and its timeline endpoint returns at most their latest 5 posts, so it is the wrong tool for reading other accounts, comments or trends. Every response below was captured on October 27, 2026; Chinese text is shown as returned, with an English gloss.
Step 1: Read the hot-search board
curl -s https://api.scavio.dev/api/v1/weibo/hot-search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'The board came back with 52 entries in 1.3 seconds. The first two, as captured:
{
"trending": [
{ "word": "外交部回应姆巴佩涉华不当言论", "note": "外交部回应姆巴佩涉华不当言论", "hot": 10511404, "rank": 0, "category": null, "label": "爆" },
{ "word": "大唐辟珠记编剧", "note": "大唐辟珠记编剧", "hot": 1973463, "rank": 1, "category": null, "label": "新" }
]
}The top entry reads "Foreign Ministry responds to Mbappé's remarks about China", with a hot value of 10,511,404 and the label 爆 ("explosive"). rank counts from 0, and a few inserted entries, such as one labelled 上新 ("new launch"), share the rank of the row above, so use the array order as the board position. 10 of the 52 entries were about Mbappé that day; the best Weibo APIs charts them. For a category on every row, call /rankings/social, /rankings/entertainment or /rankings/life, which return 50 entries each.
Step 2: Search posts on the topic
curl -s https://api.scavio.dev/api/v1/weibo/search/advanced \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "姆巴佩", "search_type": "hot"}'This returned 10 posts. The first, trimmed to the fields you will use (tracking parameters removed from URLs):
{
"id": "5358643302369086",
"text": "【央视已经全面叫停涉及姆巴佩的赛事和广告播出】...",
"created_at": "今天14:46",
"post_url": "https://weibo.com/5044281310/RoBzY9Wj4",
"source": "微博网页版",
"weibo_type": "original",
"user": { "name": "澎湃新闻", "url": "https://weibo.com/5044281310" },
"media": { "images": ["https://wx2.sinaimg.cn/large/005vnhZYgy1iigwqzi9yzj60xc0irn1a02.jpg"], "videos": [] }
}That is The Paper (澎湃新闻) reporting that CCTV has halted all Mbappé matches and ads. Search rows give you the id, author, time, device and media but no usable engagement counts, so keep the ids you care about for step 3. /search/realtime returns the newest posts instead (8 posts, the latest 3 seconds old, in our test), and /search/topics returns hashtags with their reads: #姆巴佩# had 2,420,000,000 reads and 876,000 discussions.
Step 3: Get the post with its counts
curl -s https://api.scavio.dev/api/v1/weibo/post \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": "5358643302369086"}'{
"id": "5358643302369086",
"mid": "5358643302369086",
"mblogid": "RoBzY9Wj4",
"created_at": "Tue Oct 27 14:46:25 +0800 2026",
"source": "微博网页版",
"reposts_count": 290,
"comments_count": 374,
"attitudes_count": 2358,
"pic_num": 1,
"video": null,
"is_long_text": false
}attitudes_count is likes. The full response adds the text, every image with its size, a video block (title, cover, MP4 URL and duration) when there is one, and the author. Passing the short id from the URL, {"id": "RoBzY9Wj4"}, returns the same post.
Step 4: Read the comments
curl -s https://api.scavio.dev/api/v1/weibo/post/comments \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": "5358643302369086"}'The first page held 19 of the post's 374 comments, with a max_id cursor for the next page. The most-liked, trimmed:
{
"id": "5358643491114131",
"text": "直接把西甲的转播停了",
"created_at": "Tue Oct 27 14:47:10 +0800 2026",
"like_count": 218,
"reply_count": 21,
"floor_number": 2,
"user": { "uid": "6734924766", "nickname": "E_d_w_a_r_d", "followers_count": 190, "verified": false, "gender": "m" }
}The text reads "Just stop broadcasting La Liga altogether". Its 21 replies come from /post/sub-comments with the comment id, and /post/likes and /post/reposts list who liked and reposted the post.
Step 5: Profile the author
curl -s https://api.scavio.dev/api/v1/weibo/user/info \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"uid": "5044281310"}'{
"user": {
"uid": "5044281310",
"nickname": "澎湃新闻",
"description": "有内涵的时政新媒体",
"followers_count": 32732059,
"following_count": 661,
"statuses_count": 193610,
"verified": true,
"verified_reason": "澎湃新闻官方微博",
"gender": "m",
"location": "上海 静安区",
"profile_url": "/u/5044281310"
}
}The verification reason reads "The Paper's official Weibo". You can pass a custom handle as custom instead of uid.
Step 6: Walk the timeline
curl -s https://api.scavio.dev/api/v1/weibo/user/posts \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"uid": "5044281310", "page": 2}'Each page holds up to 20 posts in the same shape as step 3, counts included. On the first page, the Mbappé post's 2,359 likes were more than three times the 742 likes of the other 19 posts combined. Pages run back about 100 deep, which for The Paper reached September 9, 2026. For anything older, /user/search-posts takes starttime and endtime as Unix seconds and returns that window's posts; how to scrape an entire Weibo account uses it to reach 2016.
All 30 endpoints
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/weibo/hot-search | The live board: term, hot value, rank, label | 1 |
/api/v1/weibo/hot-search/index | The top entries in board order | 1 |
/api/v1/weibo/rankings/social, /entertainment, /life | 50-entry ranking boards with categories | 1 each |
/api/v1/weibo/rankings/hot-timeline | Trending posts over an hour or a day | 1 |
/api/v1/weibo/search/advanced | Posts by keyword with type, media and time filters | 1 |
/api/v1/weibo/search/realtime | Newest posts for a keyword | 1 |
/api/v1/weibo/search/topics | Hashtags with reads and discussions | 1 |
/api/v1/weibo/search/users, /videos, /pics | Users, videos and image posts for a keyword | 1 each |
/api/v1/weibo/search/similar, /ai | Related terms; AI-assisted search | 1 each |
/api/v1/weibo/post | One post with counts, images, video and author | 1 |
/api/v1/weibo/post/comments | Top-level comments with likes, replies and commenter | 1 |
/api/v1/weibo/post/sub-comments | Replies under a comment | 1 |
/api/v1/weibo/post/likes, /reposts | Who liked and who reposted a post | 1 each |
/api/v1/weibo/user/info, /info-detail | Profile by uid or handle | 1 each |
/api/v1/weibo/user/posts, /original-posts | A user's timeline, all or originals only | 1 each |
/api/v1/weibo/user/search-posts | One user's posts by keyword or time window | 1 |
/api/v1/weibo/user/fans, /following | Followers and followed accounts | 1 each |
/api/v1/weibo/user/videos, /video-collections, /video-collection | A user's videos and collections | 1 each |
/api/v1/weibo/user/recommend-timeline | The recommended home timeline | 1 |
For a side-by-side of every option, see the best Weibo APIs for posts and user data.
Getting started
- Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
- Copy your API key from the dashboard.
- Send a POST with an empty body to
/api/v1/weibo/hot-searchwith your key in theAuthorizationheader.
Try the Weibo API free in the playground first, or call it from Claude and other agents through the MCP server.
Reference: Weibo API overview · hot search · advanced search · post · comments · user info · user posts
Frequently asked questions
How do I get a Weibo post id from a URL?
A Weibo post URL ends in a short base-62 id, such as RoBzY9Wj4 in weibo.com/5044281310/RoBzY9Wj4. Scavio's /api/v1/weibo/post accepts that value as id and returns the numeric id (5358643302369086) alongside it, so you do not have to convert between the two formats yourself.
Can I get a Weibo user's followers through an API?
Yes, for public accounts. Scavio's /api/v1/weibo/user/fans returns 20 followers a page with uid, nickname, description, counts and verification, plus the total and a next_cursor. /user/following returns the accounts a user follows in the same shape.
What time zone are Weibo timestamps in?
Post and comment timestamps carry Beijing time, for example "Tue Oct 27 14:46:25 +0800 2026". Search results use Weibo's relative labels such as 今天14:46 (today 14:46) or 41分钟前 (41 minutes ago), so take the exact time from the post endpoint.
How much does Weibo data cost with Scavio?
Every Weibo endpoint costs 1 credit: about $0.002 on the Growth plan billed yearly and $0.0043 on the $30 monthly Project plan. New accounts get 50 free credits with no card, enough to run every step in this guide several times.