Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Weibo Scraper icon

Weibo Scraper

Scrape Weibo search results, account posts, comments and the hot search list. Text, author, likes, reposts, pictures and place in every row. No login.

15 runs on Apify $0.00185 per post ($1.85 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust searchTerms, maxPostsPerSearch, matchAllWords (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.00185 per post = $1.85 per 1,000

You are charged forWhenPrice
PostOne Weibo post returned in the dataset. Notes, the sample row and repeated posts are not charged.$0.00185
CommentOne Weibo comment or reply returned in the dataset. Notes and repeats are not charged.$0.0046
Hot topicOne topic from the Weibo hot list returned in the dataset. Notes are not charged.$0.0046

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-10-03, and they are what you are actually charged.

Inputs

FieldWhat it doesType
searchTermsWords to search Weibo for, one per line, in Chinese or any other language. Weibo shows people who aren't signed in the first page of each of its five result tabs (top, latest, hot, video, pictures), which usually comes to 50 to 90 different posts per search. Up to 100 searches a run.array
maxPostsPerSearchStop a search after this many posts. Weibo rarely has more than about 90 to show for one search, so a higher number returns what there is.integer
matchAllWordsWeibo's search also returns posts that match only part of a phrase, or match on a picture. On: a post is kept only when its text, the post it reposts or its topic card contains every word you searched (words are split on spaces, so 蔚来汽车 is one word and 蔚来 汽车 is two). Off: everything Weibo's search returns. Posts left out are never charged.boolean
usersAccounts to read, one per line: the numeric id (1749127163), a profile link (weibo.com/u/1749127163, weibo.com/n/雷军, weibo.com/rmrb, m.weibo.cn/u/1749127163) or the screen name, with or without @. Weibo shows people who aren't signed in an account's latest ten or so posts plus the latest of each kind (original, video, photo, article), usually 25 to 35 posts in all.array
maxPostsPerUserStop an account after this many posts, newest first.integer
postUrlsPosts whose comments you want, one per line: the post's link (weibo.com/2803301701/RkyFjzhSX, m.weibo.cn/detail/5348998178410235) or its id.array
maxCommentsPerPostStop a post after this many comments. Replies, when you ask for them, come on top of this.integer
commentsOrderNewest first goes through every comment Weibo lists, latest at the top. Hot follows Weibo's ranking, which ends after about 300 comments.string
includeRepliesAlso return the replies under each comment, as comment rows with parentCommentId set. Each reply is charged as a comment.boolean
maxRepliesPerCommentWeibo lists up to about 100 replies under one comment to people who aren't signed in.integer
hotListReturn Weibo's real-time hot search list: about 50 ranked topics with their heat figure and category, plus the pinned topic above them. The promoted slot in the list is left out.boolean
fullTextWeibo cuts long posts short in its lists. On: the whole text is fetched for each one. Off: those rows carry the shortened text, with textIsComplete set to false.boolean

What you get

A structured dataset — each result includes fields like:

recordTypecreatedAtauthorNametextlikescommentsrepostsurlauthorFollowerspostedFromsearchTermsearchTabaccountInputerrorCodemessagerepliesparentCommentIdreplyToNamepostUrlranktopicheatcategorylabelisPinnedenteredListAtsearchUrllistReadAt

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.

2 use cases

See all Developer & Research Tools →

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, or the hot search list switch
OutputOne row per post, comment or hot topic: text, author, follower count, likes, comments, reposts, pictures, video link, place, time
CeilingAbout 50 to 90 posts per search and about 30 per account, which is what Weibo shows without signing in; 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 from you
Price$1.85 per 1,000 posts, $4.60 per 1,000 comments, $4.60 per 1,000 hot topics, flat on every plan. The free plan's $5 a month covers about 2,700 posts

🔍 What Weibo Scraper does

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

  • Search. Each term is looked up across Weibo's five result tabs (top, latest, hot, video, pictures), and a post found on two tabs is kept once.
  • Accounts. An account's latest posts, newest first. Only its own, reposts it made included.
  • Comments. The comments under a post, newest first or in Weibo's hot order, with their replies if you want them.
  • Hot search list. The ranked list as it stands when the run reads it: about 50 topics with Weibo's heat figure.

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 search or account it came fromsource, searchTerm, searchTab, accountInput
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 listrank, topic, heat, category, label, isPinned, enteredListAt, searchUrl

▶️ 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, or tick Hot search list. 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. Flat on every Apify plan, no volume tiers. A reply counts as a comment. 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 left out, repeats, and the promoted slot in the hot list. 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.
postUrlsnonePost links (weibo.com/<account id>/<post id>, m.weibo.cn/detail/<id>) or post ids. Up to 100.
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.
hotListfalseReturns the real-time hot search list.
fullTexttrueFetches the whole text of posts Weibo cuts short. Off is quicker and leaves textIsComplete false on those rows.

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"
}
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.
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, so download a video you want to keep. 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.

🧾 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
The sample rowrecordType: "sample", _sample: trueno
A noterecordType: "diagnostic", _diagnostic: true, an errorCodeno
errorCodeWhat happened
NO_RESULTSWeibo has no posts 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.

To keep only the data, filter on recordType being post, comment or hotTopic. 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 and keep the post ids you haven't seen.
  • 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 and you have each topic's rank and heat across the day.

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. It doesn't sign in.
  • No date range on searches. Weibo's own advanced search asks you to sign in. Filter on createdAt afterwards.
  • No follower lists, no lists of who liked or reposted.
  • Nothing hidden from the public. 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.

🧭 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
Posts on X by keywordTwitter (X) Search 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, cookie 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.

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.

Is scraping Weibo legal?

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.