Weibo Scraper - Search, Accounts, Comments & Hot List avatar

Weibo Scraper - Search, Accounts, Comments & Hot List

Pricing

from $1.79 / 1,000 posts

Go to Apify Store
Weibo Scraper - Search, Accounts, Comments & Hot List

Weibo Scraper - Search, Accounts, Comments & Hot List

Search Weibo (微博), read an account's latest posts and profile, pull comments, or take the hot lists and the trending feed. One row per post, comment, profile or hot topic: text, author, followers, likes, reposts, pictures and place. A search gives the 50 to 90 posts Weibo shows without signing in.

Pricing

from $1.79 / 1,000 posts

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Search Weibo, read an account's latest posts, pull the comments under a post, or take the real-time hot search list: one row per post, comment or hot topic, with the text, the author and their follower count, likes, comments, reposts, pictures, video links and the place Weibo says it was posted from.

Weibo shows people who aren't signed in one page of results per search tab and an account's latest few dozen posts, and this actor doesn't sign in. So a search brings back 50 to 90 posts and an account about 30, however many exist. Comments don't have that limit: one test run took 2,000 from a single post in under two minutes.

InputSearch terms, accounts (id, profile link or screen name), post links, keywords to find accounts or topics, terms for search suggestions, or the switches for the hot lists and the trending feed
OutputOne row per post, comment, hot topic, topic or account: text, author, follower count, likes, comments, reposts, pictures, video link, place, time. Search suggestions go to one record in the run's key-value store
CeilingAbout 50 to 90 posts per search and about 30 per account, which is what Weibo shows without signing in; about 20 accounts per keyword; up to 10 topics per topic search; 100 trending posts; 2,000 comments per post; 100 entries in each list per run
Speed10 to 20 seconds a search, 5 to 11 seconds an account, about 1,100 comments a minute
Account neededNone
Price$1.85 per 1,000 posts, $4.60 per 1,000 comments, $4.60 per 1,000 hot topics on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 2,700 posts

🔍 What Weibo Scraper does

Each job runs only when you fill in its field, and one run can do all of them.

JobWhat comes back
SearchPosts from Weibo's five result tabs (top, latest, hot, video, pictures) for each term. A post found on two tabs, or by two of your terms, comes back once and is charged once. Until 17 October 2026 a post two terms found came back under each term.
AccountsAn account's latest posts, newest first: its own, reposts it made included. Turn on the profile row to get the account itself as well.
PostsThe post behind each link, then its comments, newest first or in Weibo's hot order, with their replies if you want them.
Find accountsAbout 20 accounts per keyword, as profile rows.
Topic searchUp to 10 Weibo topics (#话题#) per term, with their read and discussion counts. A topic two of your terms find comes back once.
Search suggestionsWhat Weibo suggests under its search box for each term, usually 40 to 50, as one SUGGESTIONS record in the run's key-value store. Not charged.
Trending postsThe posts Weibo shows as trending when the run reads them.
Hot listsThe real-time hot search list (about 50 topics with Weibo's heat figure and the pinned topic), and the entertainment and society lists if you pick them.

Weibo cuts long posts short in its lists, so the whole text is fetched for each one. Every row is checked against what you asked before it goes in. A search post has to be a result of that search, an account's post has to be that account's, a comment has to belong to that post. Anything else is left out and not charged.

📋 What data you get from each Weibo post

What you getField
The post's id, short id and linkid, bid, url
When it was posted, in UTCcreatedAt
The whole text, and whether it is wholetext, textIsComplete
The author, their verified label and follower countauthorId, authorName, authorUrl, authorVerified, authorVerifiedReason, authorFollowers, authorFollowersText
Likes, comments and repostslikes, comments, reposts, countsRounded
Topics, @mentions and outside links in the texttopics, mentions, links
Pictures, and how many the post hasimages, imageCount
Video link, cover, length and playsvideoUrl, videoCoverUrl, videoDurationSeconds, videoPlays
The post it repostsisRepost, repostOf
The place Weibo prints on it, and the line beside its timepostedFrom, sourceLabel
Pinned, and how many times it was editedisPinned, editCount
Which job, search or account it came fromsource, searchTerm, searchTab, accountInput
Views, when Weibo sends them (it does for a post you link)readsCount
A comment: its post, text, likes, replies, author and placepostId, postUrl, text, likes, replies, parentCommentId, replyToName, authorName, authorFollowers, authorLocation, postedFrom
A hot topic: rank, words, heat, category, label, time on the list, which listrank, topic, heat, category, label, isPinned, enteredListAt, searchUrl, minutesOnList, list
A hot topic against your last run (with a saved state name)rankChange, isNew, isRising, peakRank
A topic from topic search: name, reads, discussions, what it is about, picture, links, place in the resultstopic, readCount, discussionCount, countsRounded, description, imageUrl, topicUrl, searchUrl, topicId, searchTerm, position
An account: name, link, followers, following, posts, bio as written, verified label and its reason, place, avatarname, url, customAddress, followers, followersText, following, posts, countsRounded, bio, verified, verifiedReason, place, avatarUrl
The mood of a post or comment, a word-list estimate (when asked)sentiment
What Weibo sent for the row, as it came (when asked)raw

▶️ How to scrape Weibo

  1. Open Weibo Scraper and click Try for free.
  2. Type words into Search terms, accounts into Accounts, post links into Posts for comments, keywords into Find accounts by keyword, or tick Hot search list or Trending posts. Any mix works.
  3. Lower Posts per search, Posts per account or Comments per post while you're testing.
  4. Click Start.
  5. Download the rows as JSON, CSV or Excel, or read them through the Apify API.

Start it with every field empty to see the row shape first: one labelled sample post, not charged.

💰 How much does it cost to scrape Weibo?

$1.85 per 1,000 posts, $4.60 per 1,000 comments and $4.60 per 1,000 hot topics on the Free plan. Paid plans pay a little less on all three. A reply counts as a comment, and a profile row counts as a post. A topic from topic search is charged like a hot topic. On the free plan, the $5 Apify gives you each month covers about 2,700 posts, or about 1,050 comments.

You pay for rows that come back. The sample row and every note row are free, and so are posts the checks or your filters left out, rows an earlier run already returned, repeats, and the promoted slot in the hot list. A post two of your search terms find is charged once. The mood tag and Weibo's original data cost nothing extra. If you set a maximum charge for the run, it stops before the first row it couldn't pay for.

📥 What you give it

{
"searchTerms": ["咖啡", "华为 手机"],
"users": ["1749127163", "https://weibo.com/rmrb"],
"postUrls": ["https://weibo.com/2803301701/RkyFjzhSX"],
"maxCommentsPerPost": 200,
"hotList": true
}
FieldDefaultWhat it is
searchTermsnone, the box starts at 咖啡Words to search for, one per line, in any language. Up to 100.
maxPostsPerSearch50The most posts from one search, 1 to 100. Weibo rarely has more than 90 to show.
matchAllWordstrueKeeps only posts whose text, reposted post or topic card holds every word you searched, split on spaces. Off returns everything Weibo's search does.
usersnoneAccount ids, profile links (weibo.com/u/..., weibo.com/n/<name>, weibo.com/<custom address>, m.weibo.cn/u/...) or screen names. Up to 100.
maxPostsPerUser30The most posts from one account, newest first, 1 to 50.
includeProfilesfalseAlso returns one profile row per account. Each one is charged like a post.
accountSearchTermsnoneKeywords to find accounts by, up to 100. About 20 accounts each, as profile rows charged like posts.
maxAccountsPerSearch20The most accounts from one keyword, 1 to 20.
topicSearchTermsnoneWords to find Weibo topics by, up to 100. Up to 10 topics each. A topic from topic search is charged like a hot topic.
suggestionTermsnoneWords to get Weibo's search suggestions for, up to 100. They go to the SUGGESTIONS record, not the dataset, and are not charged. A term Weibo didn't answer is left out of the record and named in the status message.
trendingPostsfalseReturns the posts Weibo shows as trending, charged as posts.
maxTrendingPosts50The most trending posts, 1 to 100.
postUrlsnonePost links (weibo.com/<account id>/<post id>, m.weibo.cn/detail/<id>) or post ids. Up to 100. Each post also comes back as a post row.
maxCommentsPerPost100The most comments from one post, 1 to 2,000. Replies come on top.
commentsOrdernewestnewest goes through every comment Weibo lists. hot follows Weibo's ranking, which ends near 300.
includeRepliesfalseAlso returns the replies under each comment.
maxRepliesPerComment20The most replies under one comment, 1 to 100.
includeCommentsfalseAlso returns the comments under every post your searches and accounts return.
maxCommentsPerFoundPost20The most comments for each of those posts, 1 to 500.
hotListfalseReturns the real-time hot search list.
hotListCategoriesnoneentertainment, society or both: about 50 topics each, charged as hot topics.
postedAfternoneKeeps posts from searches, accounts and the trending feed posted after this: a day (2026-10-01, midnight UTC), a time with its zone (2026-10-01T08:00:00+08:00) or a span back from now (3 days, 12 hours). Anything else stops the run before it fetches. It doesn't touch posts you link.
postedBeforenoneThe same, for posts posted before this.
originalsOnlyfalseLeaves out reposts.
verifiedOnlyfalseKeeps posts whose author has Weibo's verified label.
hasPicturesfalseKeeps posts with at least one picture.
hasVideofalseKeeps posts with a video.
hasLinkfalseKeeps posts that link outside Weibo.
onlyNewSinceLastRunfalseLeaves out posts and comments an earlier run with the same stateName returned. Needs stateName.
stateNamenoneA name such as coffee-daily. The run keeps what it returned, and the hot lists it read, in a key-value store on your account named weibo-scraper-<name>. It holds the last 50,000 ids.
fullTexttrueFetches the whole text of posts Weibo cuts short. Off is quicker and leaves textIsComplete false on those rows.
includeSentimentfalseAdds sentiment (positive, neutral or negative) to posts and comments, from a Chinese word list.
includeRawfalseAdds raw, what Weibo sent for the row. Rows get much bigger.

Two entries naming one account, an id and a screen name say, are read once. A setting outside its range stops the run before anything is fetched. An entry that isn't a Weibo link or id is skipped with a note, and the rest go ahead.

📤 What you get back

A real post from a search for 华为 手机 on 3 October 2026:

{
"recordType": "post",
"id": "5350042053381127",
"bid": "RkZOZebAj",
"url": "https://weibo.com/1278131290/RkZOZebAj",
"createdAt": "2026-10-03T13:08:07.000Z",
"text": "刚刷到一家华为门店在Mate90首销日卖了231台手机[哆啦A梦吃惊][哆啦A梦吃惊]",
"textIsComplete": true,
"authorId": "1278131290",
"authorName": "搞机大师兄",
"authorUrl": "https://weibo.com/u/1278131290",
"authorVerified": true,
"authorVerifiedReason": "数码博主",
"authorFollowers": 448000,
"authorFollowersText": "44.8万",
"reposts": 0,
"comments": 27,
"likes": 55,
"countsRounded": false,
"topics": [],
"mentions": [],
"links": [],
"images": ["https://wx3.sinaimg.cn/mw2000/4c2ebc5aly1ihpgye4uzlj210o274h0k.jpg"],
"imageCount": 1,
"videoUrl": null,
"videoCoverUrl": null,
"videoDurationSeconds": null,
"videoPlays": null,
"isRepost": false,
"repostOf": null,
"isPinned": false,
"postedFrom": "山东",
"sourceLabel": "数码博主",
"editCount": 0,
"source": "search",
"searchTerm": "华为 手机",
"searchTab": "top",
"accountInput": null,
"scrapedAt": "2026-10-03T15:08:27.798Z"
}

A comment and a hot topic from the same afternoon:

{
"recordType": "comment",
"id": "5350030405013535",
"postId": "5348998178410235",
"postUrl": "https://weibo.com/2803301701/RkyFjzhSX",
"parentCommentId": null,
"replyToName": null,
"createdAt": "2026-10-03T12:21:50.000Z",
"text": "祝祖国繁荣昌盛,国泰民安!",
"likes": 1,
"replies": 0,
"authorId": "7911007775",
"authorName": "无尽夏-Cecily",
"authorUrl": "https://weibo.com/u/7911007775",
"authorVerified": true,
"authorFollowers": 2753,
"authorLocation": "北京",
"postedFrom": "江苏",
"imageUrl": null,
"commentsOrder": "newest",
"postInput": "https://weibo.com/2803301701/RkyFjzhSX",
"scrapedAt": "2026-10-03T15:11:40.918Z"
}
{
"recordType": "hotTopic",
"rank": 1,
"topic": "爬珠峰的人都堵了",
"heat": 1686010,
"category": "幽默",
"label": "热",
"isPinned": false,
"enteredListAt": "2026-10-03T12:48:21.000Z",
"searchUrl": "https://s.weibo.com/weibo?q=%23%E7%88%AC%E7%8F%A0%E5%B3%B0%E7%9A%84%E4%BA%BA%E9%83%BD%E5%A0%B5%E4%BA%86%23",
"postUrl": null,
"listReadAt": "2026-10-03T15:07:58.138Z",
"scrapedAt": "2026-10-03T15:07:58.138Z"
}

A profile row from 17 October 2026, avatar link left out:

{
"recordType": "profile",
"id": "2803301701",
"name": "人民日报",
"url": "https://weibo.com/u/2803301701",
"customAddress": "rmrb",
"followers": 158090965,
"followersText": "1.58亿",
"following": 3096,
"posts": 154316,
"countsRounded": false,
"bio": "人民日报法人微博。参与、沟通、记录时代。",
"verified": true,
"verifiedReason": "《人民日报》法人微博",
"place": "北京",
"source": "account",
"accountInput": "2803301701",
"searchTerm": null,
"scrapedAt": "2026-10-17T04:49:59.375Z"
}

Topic search and suggestions for 咖啡, links cut:

{
"recordType": "topic",
"topic": "首批回村过年人带火咖啡外卖",
"readCount": 7861000,
"discussionCount": 3290,
"countsRounded": true,
"description": "安徽宣城,泾县丁溪乡一家由牛棚改成的咖啡店已经贴上龙年窗花,店里围满了顾客,外卖订单响个不停。",
"topicId": "1022:2315220f3880d6f9899f99e583dea5fe22d4e6",
"searchTerm": "咖啡",
"position": 10,
"scrapedAt": "2026-10-17T07:08:24.324Z"
}
{
"咖啡": ["咖啡好喝", "咖啡图片", "咖啡文案", "咖啡遇上香草", "咖啡色布丁帽"]
}
FieldHow to read it
authorFollowersWeibo rounds big accounts in its lists, so 448,000 here was "44.8万". authorFollowersText is the figure as Weibo printed it. On a post you link and on trending posts both are null: Weibo doesn't send them there.
sourcesearch, account, post (a post you linked), trending or, on a profile, accountSearch.
followersExact on an account you named; rounded like "19.3万" on accounts found by keyword, where countsRounded is true and place is null.
avatarUrlThe link Weibo signs stops working a few hours after the row was read.
minutesOnListMinutes from enteredListAt to when the run read the list. null where Weibo gives no start time, as on the category lists.
rankChange, isNew, isRising, peakRankAgainst the last run with the same stateName: places climbed (negative when it fell), new on the list, climbing, and its best rank since it joined the list in your runs. null on the first run of a name.
sentimentA word-list estimate. It misses sarcasm and slang it doesn't know.
countsRoundedtrue when Weibo gave a post's likes, comments or reposts rounded, such as "100万+".
postedFromThe province or country Weibo prints on a post or comment for where it was sent from. null when it prints none.
authorLocationThe place a commenter wrote on their own profile, which can differ from postedFrom.
sourceLabelThe line Weibo prints beside the time: the app or phone on an account's posts, the author's label in search results.
imageCountHow many pictures the post has. images holds the ones Weibo lists, nine at most.
videoUrlStops working an hour after the row was read. Picture links don't expire that way.
searchTabThe result tab a post was first found on: top, latest, hot, video or pictures.
rank, heatA topic's place on the list and Weibo's heat figure. The pinned topic above the list has neither.
readCount, discussionCountA topic's reads and discussions as Weibo prints them, "31.9亿阅读" being 3,190,000,000. countsRounded is true when either was rounded. position is its place in Weibo's results for that term.

🧾 Reading the output

RowHow to spot itCharged
A postrecordType: "post"yes, as a post
A comment or a replyrecordType: "comment"; a reply has parentCommentIdyes, as a comment
A hot topicrecordType: "hotTopic"yes, as a hot topic
A topic from topic searchrecordType: "topic"yes, as a hot topic
An accountrecordType: "profile"yes, as a post
Search suggestionsnot a row: the SUGGESTIONS record in the run's key-value store, each term with its listno
The sample rowrecordType: "sample", _sample: trueno
A noterecordType: "diagnostic", _diagnostic: true, an errorCodeno
errorCodeWhat happened
NO_RESULTSWeibo has no posts, accounts or topics for that search.
NO_MATCHESWeibo found posts, but none hold every word of the search.
WITHHELDWeibo doesn't show results for that search.
USER_NOT_FOUNDNo account matches that id, link or name.
USER_UNAVAILABLEWeibo says the account can't be viewed, usually because it was suspended.
NO_POSTSThe account shows no posts to people who aren't signed in.
POST_NOT_FOUNDThe post doesn't exist or was deleted.
POST_HIDDENOnly some readers can see the post, so its comments can't be read.
NO_COMMENTSThe post has no comments, or Weibo lists none.
PARTIALWeibo stopped answering partway. What came before is in the dataset.
NOT_ANSWEREDWeibo didn't answer for that entry this time. Run it again later.
NOT_REACHEDThe run stopped first, at your maximum charge or its time limit.
BAD_INPUTAn entry or a setting that can't be used.
MAX_CHARGE_TOO_LOWYour maximum charge doesn't cover one row, so nothing was fetched.
SETUPSkipped because of a problem on our side.
STATE_UNAVAILABLEThe saved state couldn't be opened, so nothing was fetched. Run it again.

To keep only the data, filter on recordType being post, comment, hotTopic, topic or profile. RUN_REPORT in the run's key-value store lists every entry with its status and how many rows it gave.

💡 What people use it for

  • Hearing what Chinese buyers say about a brand. Schedule a daily search for its name with Only rows not returned before on, and each day brings only new posts.
  • Following newspapers, officials or creators without the app: their latest posts with likes and comments, newest first.
  • Reading the reaction under one post, a launch or a public apology, 2,000 comments deep.
  • Watching what trends. Read the hot list every hour under one saved state name, and each topic carries its rank change and best rank.

From a trending topic to what people say about it, in three runs:

  1. Tick Hot search list and pick topics from the topic column.
  2. Put them into Search terms and sort the posts on comments.
  3. Put the url of the posts you want into Posts for comments.

🚧 What it does not do

  • No full history. An account gives its latest 30 or so posts and a search 50 to 90, because that's what Weibo shows without signing in: the next pages ask you to sign in. It doesn't sign in.
  • No date range that reaches back. Weibo's own advanced search asks you to sign in. Posted after and Posted before only narrow the posts a search or account brings.
  • No follower lists, no lists of who liked or reposted.
  • Nothing behind sign-in. Posts limited to friends or fans stay hidden.
  • Weibo's hot order ends near 300 comments. Newest first goes through all of them.
  • About 100 replies per comment at most, as many as Weibo lists.
  • It is not an official Weibo tool. Dami's Studio is independent and is not affiliated with or endorsed by Weibo, or by any other company named on this page.

🧭 Which Chinese social media scraper do you need?

If you wantUse
Weibo posts, comments and the hot search listThis one
Douyin's trending topicsDouyin Hot Search Scraper
Xiaohongshu (RedNote) notesRedNote Scraper
Xiaohongshu (RedNote) profilesRedNote Profile Scraper
Bilibili videos, rankings and commentsBilibili Scraper

❓ Questions people ask

Do I need a Weibo account to scrape Weibo?

No. It reads what Weibo shows anyone who isn't signed in, and needs no login or API key from you.

Why do I get fewer posts than I see in the Weibo app?

The app is signed in and keeps loading as you scroll. Someone who isn't signed in gets one page per search tab and an account's latest few dozen posts. Open m.weibo.cn in a private browser window: what you see there is what this actor can read. Counts keep moving too, so compare against scrapedAt.

How do I get only new Weibo posts each day?

Give the run a Saved state name, turn on Only rows not returned before, and schedule it. Posts and comments an earlier run returned are left out and not charged.

Why are some follower counts round numbers?

Weibo writes big accounts as 44.8万 or 1.6亿 in its lists. authorFollowers turns that into a number with the same rounding, and authorFollowersText keeps Weibo's own text.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/weibo-scraper. Either way it runs on your Apify account at the same price.

It reads public posts, public comments and the public hot list. Names and comments are still personal data under laws such as GDPR and China's PIPL, and Weibo has its own terms of use, so have a reason and read them. Apify's write-up on scraping and the law is a starting point; we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page and send the run ID with the entries you used. The status message and RUN_REPORT say which entry fell short.