Weibo Posts and Profiles Scraper avatar

Weibo Posts and Profiles Scraper

Pricing

Pay per event

Go to Apify Store
Weibo Posts and Profiles Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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 in profiles;
  • postsOnly — recent posts in the default dataset;
  • profilesOnly — public metadata in the profiles dataset with no timeline requests.

The Actor does not support keyword search, comments, follower lists, private posts, deleted posts, or login-only content.

Getting started

  1. Open the Actor input form.
  2. Add one or more numeric UIDs or public profile URLs.
  3. Choose an output mode.
  4. Set a small maxPostsPerProfile for the first run.
  5. Set maxItems to cap total post rows.
  6. Start the run.
  7. Open Posts for the default dataset or Profiles for profile metadata.
  8. 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

FieldTypeDefaultDescription
uidsstring array['2803301701']One to 20 numeric UIDs or supported public profile URLs.
modestringpostsAndProfilesSelect posts and profiles, posts only, or profiles only.
maxPostsPerProfileinteger10Recent posts to save per profile, from 1 to 100.
maxItemsinteger100Global 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

FieldMeaning
postIdStable numeric Weibo post identifier.
bidShort identifier used in public status URLs.
urlCanonical mobile status URL.
uidNumeric UID of the visible author.
authorNamePublic profile display name.
authorProfileUrlPublic mobile profile URL.
textPlain post text with markup removed.
createdAtTimestamp returned by Weibo.
sourcePublic client/source label.
regionPublic posting region when available.
repostsCountPublic repost count.
commentsCountPublic comment count.
likesCountPublic like count.
imageUrlsPublic image links attached to the post.
videoUrlPublic media link when exposed.
isRepostWhether the post contains a reposted status.
originalPostIdOriginal status identifier when available.
scrapedAtISO timestamp for this collection run.

Unavailable optional fields are returned as null or an empty array according to the dataset schema.

Profile output fields

FieldMeaning
uidNumeric Weibo profile identifier.
screenNamePublic display name.
profileUrlCanonical mobile profile URL.
descriptionPublic biography.
avatarUrlPublic avatar URL.
coverImageUrlPublic profile cover URL.
followersCountApproximate numeric audience size, converting displayed 万 and 亿 units.
followersCountTextAudience size exactly as Weibo displays it.
followingCountPublic following count.
postsCountPublic total post count when exposed.
verifiedPublic verification flag.
verifiedReasonPublic verification description.
genderPublic gender code when exposed.
locationPublic profile location when exposed.
scrapedAtISO 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 item event 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:

WorkflowCharged recordsExample cost
One profile only10.005 + (1 × 0.020) = 0.025 USD
One profile plus 10 posts110.005 + (11 × 0.020) = 0.225 USD
Two profiles plus 40 posts420.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:

  1. run the Actor daily;
  2. export posts to a warehouse keyed by postId;
  3. export profiles keyed by uid;
  4. compare engagement values with the previous observation;
  5. classify or translate new text downstream;
  6. 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 postId and uid;
  • 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 os
from apify_client import ApifyClient
client = 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.
  • followersCount converts rounded Chinese display units, so use followersCountText when 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;
  • maxItems was 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.

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.