Weibo Posts and Profiles Scraper
Pricing
Pay per event
Weibo Posts and Profiles Scraper
Collect public Weibo posts, media links, engagement counts, and profile metadata from supplied UIDs for repeatable Chinese social intelligence.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
12 days ago
Last modified
Categories
Share
Collect recent public Weibo posts and public profile metadata from supplied numeric UIDs or profile URLs. The Actor returns clean post text, media links, timestamps, authors, engagement counts, follower signals, and verification details for scheduled Chinese social intelligence.
Teams researching weibo gaming, major publishers, brands, creators, or public discussion can turn a stable list of profiles into run-scoped JSON, CSV, Excel, or API datasets without supplying a Weibo login.
What does Weibo Posts and Profiles Scraper do?
The Actor accepts up to 20 Weibo UIDs or public profile URLs in one run.
It can:
- collect recent public posts from each supplied profile;
- extract full post text when Weibo exposes a public long-text response;
- save public image and video links without downloading heavy media;
- return repost, comment, and like counts;
- collect profile biography, audience size, post count, verification, and public media;
- separate posts and profiles into two run-scoped datasets;
- stop at per-profile and global post limits;
- run repeatedly on an Apify schedule for change tracking.
The primary default dataset contains posts. The profiles dataset alias contains profile records, so each entity type has its own schema and export.
Who is this Weibo data scraper for?
- Brand intelligence teams monitoring public Chinese social channels.
- Gaming and entertainment analysts following official publishers and creators.
- Market researchers comparing public audience and engagement signals.
- Newsrooms and academics building bounded public-post datasets.
- Data engineers sending recurring Weibo exports to a warehouse.
- NLP teams preparing public Chinese-language text for classification or sentiment analysis.
Why use this Actor?
A UID-based workflow is repeatable: the same profile list can run daily or weekly without depending on a broad search result page.
The Actor uses one bounded anonymous browser session to establish Weibo's public visitor state, then reads structured mobile JSON responses. Images, video payloads, and fonts are blocked during browser bootstrap to reduce runtime and memory.
It does not accept account passwords, private cookies, or private-profile access. It also does not silently switch to a paid residential proxy.
Supported Weibo inputs and scope
Supported values in uids:
- a numeric UID such as
2803301701; https://weibo.com/u/2803301701;https://m.weibo.cn/u/2803301701.
Supported output modes:
postsAndProfiles— recent posts in the default dataset and one profile row per resolved UID inprofiles;postsOnly— recent posts in the default dataset;profilesOnly— public metadata in theprofilesdataset with no timeline requests.
The Actor does not support keyword search, comments, follower lists, private posts, deleted posts, or login-only content.
Getting started
- Open the Actor input form.
- Add one or more numeric UIDs or public profile URLs.
- Choose an output mode.
- Set a small
maxPostsPerProfilefor the first run. - Set
maxItemsto cap total post rows. - Start the run.
- Open Posts for the default dataset or Profiles for profile metadata.
- Export the relevant dataset as JSON, CSV, Excel, XML, or JSONL.
Example: collect posts and profile metadata
{"uids": ["2803301701"],"mode": "postsAndProfiles","maxPostsPerProfile": 10,"maxItems": 10}
This produces up to 10 post records and one profile record.
Example: monitor several public publishers
{"uids": ["2803301701", "1699432410"],"mode": "postsAndProfiles","maxPostsPerProfile": 20,"maxItems": 40}
Save this input as an Apify Task and schedule it daily or weekly. Compare postId, engagement fields, and scrapedAt in your downstream system to identify new records or changed public counts.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
uids | string array | ['2803301701'] | One to 20 numeric UIDs or supported public profile URLs. |
mode | string | postsAndProfiles | Select posts and profiles, posts only, or profiles only. |
maxPostsPerProfile | integer | 10 | Recent posts to save per profile, from 1 to 100. |
maxItems | integer | 100 | Global post limit across all UIDs, from 1 to 1,000. Profile rows do not consume this limit. |
Duplicate UIDs are removed before collection. Unsupported domains, malformed URLs, and non-numeric identifiers fail input validation instead of being guessed.
Post output fields
| Field | Meaning |
|---|---|
postId | Stable numeric Weibo post identifier. |
bid | Short identifier used in public status URLs. |
url | Canonical mobile status URL. |
uid | Numeric UID of the visible author. |
authorName | Public profile display name. |
authorProfileUrl | Public mobile profile URL. |
text | Plain post text with markup removed. |
createdAt | Timestamp returned by Weibo. |
source | Public client/source label. |
region | Public posting region when available. |
repostsCount | Public repost count. |
commentsCount | Public comment count. |
likesCount | Public like count. |
imageUrls | Public image links attached to the post. |
videoUrl | Public media link when exposed. |
isRepost | Whether the post contains a reposted status. |
originalPostId | Original status identifier when available. |
scrapedAt | ISO timestamp for this collection run. |
Unavailable optional fields are returned as null or an empty array according to the dataset schema.
Profile output fields
| Field | Meaning |
|---|---|
uid | Numeric Weibo profile identifier. |
screenName | Public display name. |
profileUrl | Canonical mobile profile URL. |
description | Public biography. |
avatarUrl | Public avatar URL. |
coverImageUrl | Public profile cover URL. |
followersCount | Approximate numeric audience size, converting displayed 万 and 亿 units. |
followersCountText | Audience size exactly as Weibo displays it. |
followingCount | Public following count. |
postsCount | Public total post count when exposed. |
verified | Public verification flag. |
verifiedReason | Public verification description. |
gender | Public gender code when exposed. |
location | Public profile location when exposed. |
scrapedAt | ISO collection timestamp. |
Example post output
{"postId": "5329401409704913","bid": "RckRCEIGR","url": "https://m.weibo.cn/status/RckRCEIGR","uid": "2803301701","authorName": "人民日报","authorProfileUrl": "https://m.weibo.cn/u/2803301701","text": "Public post text returned by Weibo","createdAt": "Fri Aug 07 22:09:34 +0800 2026","source": "微博视频号","region": null,"repostsCount": 3441,"commentsCount": 796,"likesCount": 6140,"imageUrls": [],"videoUrl": "https://f.video.weibocdn.com/path/video.mp4","isRepost": false,"originalPostId": null,"scrapedAt": "2026-08-07T21:06:52.809Z"}
Counts and content above illustrate a real output shape. Weibo values change continuously, so a later run can differ.
Example profile output
{"uid": "2803301701","screenName": "人民日报","profileUrl": "https://m.weibo.cn/u/2803301701","description": "人民日报法人微博。参与、沟通、记录时代。","followersCount": 158000000,"followersCountText": "1.58亿","followingCount": 3096,"postsCount": 151748,"verified": true,"verifiedReason": "《人民日报》法人微博","scrapedAt": "2026-08-07T21:06:31.463Z"}
How much does it cost to scrape Weibo posts and profiles?
The Actor uses pay-per-event pricing:
- a one-time $0.005 start event per run;
- one
itemevent for every post or profile record saved; - no separate charge for API calls, pagination pages, images, or browser bootstrap.
At the BRONZE rate of $0.020 per saved record:
| Workflow | Charged records | Example cost |
|---|---|---|
| One profile only | 1 | 0.005 + (1 × 0.020) = 0.025 USD |
| One profile plus 10 posts | 11 | 0.005 + (11 × 0.020) = 0.225 USD |
| Two profiles plus 40 posts | 42 | 0.005 + (42 × 0.020) = 0.845 USD |
Your active Apify plan tier determines the exact per-record price shown in Console. Set small limits for evaluation, then raise them after validating the output.
Scheduling public Weibo intelligence
Create an Apify Task with a stable UID list and schedule it at the cadence your analysis requires.
A useful pipeline is:
- run the Actor daily;
- export posts to a warehouse keyed by
postId; - export profiles keyed by
uid; - compare engagement values with the previous observation;
- classify or translate new text downstream;
- notify analysts only when your own thresholds are met.
The Actor returns snapshots. It does not maintain historical comparisons or send alerts by itself.
Export and integration patterns
Use the output with:
- Apify dataset API for JSON pipelines;
- CSV or Excel exports for analyst review;
- Google Sheets through an Apify integration;
- webhooks after successful scheduled runs;
- data warehouses keyed by
postIdanduid; - NLP workflows for translation, topic classification, or sentiment scoring;
- BI dashboards that compare public counts over time.
The Run page export button exports the default posts dataset. Select the profiles dataset under Storage to export profile records.
API usage with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/weibo-posts-profiles-scraper').call({uids: ['2803301701'],mode: 'postsAndProfiles',maxPostsPerProfile: 10,maxItems: 10,});const { items: posts } = await client.dataset(run.defaultDatasetId).listItems();console.log(posts);
The run object also exposes run-scoped storage information for the profiles alias on Apify. You can open that dataset from the Run Storage tab or resolve it from ACTOR_STORAGES_JSON inside an integration Actor.
API usage with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/weibo-posts-profiles-scraper').call(run_input={'uids': ['1699432410'],'mode': 'profilesOnly','maxPostsPerProfile': 10,'maxItems': 10,})print(run['status'])
API usage with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~weibo-posts-profiles-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"uids": ["2803301701"],"mode": "postsOnly","maxPostsPerProfile": 10,"maxItems": 10}'
Do not put an API token into source control. Use environment variables or your platform secret manager.
Use with Apify MCP
Add this Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/weibo-posts-profiles-scraper"
Equivalent configuration for Claude Desktop, Cursor, and VS Code:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/weibo-posts-profiles-scraper"}}}
Example prompts:
- "Collect the ten latest public posts from Weibo UID 2803301701 and summarize recurring topics."
- "Extract profile metadata for UIDs 2803301701 and 1699432410 and compare their audience sizes."
- "Run my saved Weibo publisher-monitoring input and return post URLs with the highest like counts."
Reliability and retry behavior
Weibo uses a public visitor challenge before it exposes mobile JSON data.
The Actor:
- retries browser bootstrap once;
- reuses one coherent anonymous session during the run;
- retries transient API responses with bounded exponential backoff;
- deduplicates posts by stable ID;
- keeps timeline preview text if only an optional long-text request fails;
- fails clearly when no supplied UID yields useful public data.
If one valid-looking UID is unavailable, the Actor logs it and continues with the remaining UIDs.
Limits and data quality
- Weibo can change anonymous visitor behavior without notice.
- Recent timelines are not guaranteed to expose every historical post.
- Deleted, private, followers-only, or login-only content is excluded.
- Engagement counts are snapshots and can change after collection.
- Signed media URLs may expire; store files separately only when you are authorized to do so.
followersCountconverts rounded Chinese display units, so usefollowersCountTextwhen exact display fidelity matters.- Some optional fields are absent on some profiles or posts.
- A UID-based Actor is not a broad Weibo search API.
Responsible use and legality
This Actor collects publicly available profile and post information.
You are responsible for:
- complying with Weibo's terms and applicable laws;
- respecting privacy, copyright, database, and personality rights;
- choosing a proportionate schedule and dataset size;
- protecting exported personal data;
- avoiding harassment, surveillance, discrimination, or automated adverse decisions;
- honoring deletion or access requests where required.
Public availability does not remove your legal and ethical obligations. Obtain professional advice for regulated or high-risk use cases.
Troubleshooting: visitor session unavailable
Retry once with one known public UID and a small limit. A temporary visitor challenge or upstream congestion can block an otherwise valid UID.
The Actor intentionally does not ask you to paste a login cookie. If the small public test still fails, inspect the run log for the exact bootstrap or API error before scheduling another run.
Troubleshooting: fewer posts than requested
Possible reasons include:
- the profile exposes fewer recent public posts;
- pinned or non-post cards were ignored;
- duplicated post IDs were removed;
maxItemswas reached by earlier UIDs;- some records were deleted or login-only;
- Weibo returned an empty public timeline page.
maxPostsPerProfile and maxItems are upper bounds, not guaranteed counts.
Troubleshooting: where are profile records?
Profiles are intentionally stored in the run-scoped profiles dataset rather than mixed with posts.
Open the run, choose Storage, select the Profiles dataset, and export it. In postsOnly mode the profile dataset remains empty. In profilesOnly mode the default posts dataset remains empty.
FAQ
Does this Actor require a Weibo account?
No. It uses an anonymous public visitor session and does not accept passwords or user cookies.
Can it scrape private profiles or private posts?
No. Only data exposed through Weibo's public visitor surfaces is included.
Is this a Weibo API alternative?
It provides structured public post and profile records for the documented UID workflow. It is not an official Weibo API and does not implement posting, account management, comments, search, or follower graphs.
Can I use it for weibo gaming research?
Yes, when you already have the public UIDs of gaming publishers, teams, creators, or tournament accounts you are authorized to monitor. The Actor does not discover those UIDs for you.
Does it download images and videos?
No. It returns public media URLs when Weibo exposes them. Avoiding media downloads reduces runtime, transfer, and storage cost.
Can I monitor changes automatically?
Schedule the same Task and compare output snapshots downstream. Historical diffing and alert delivery are not built into this Actor.
Related Automation Lab Actors
- Bilibili Scraper for public Chinese video-platform research.
- Douban Scraper for public Chinese movie, book, music, and community data.
- RedNote Xiaohongshu Scraper for supported public lifestyle and creator workflows.
Choose this Actor when your source is a known list of public Weibo UIDs and you need recent posts plus profile context.
Support
When reporting a problem, include:
- the non-sensitive input with a small public UID list;
- the Actor run ID;
- the output mode;
- the expected and observed record counts;
- the relevant error line from the run log.
Never send passwords, account cookies, private tokens, or private-profile data.