Weibo Post Details Scraper avatar

Weibo Post Details Scraper

Pricing

from $2.16 / 1,000 post snapshots

Go to Apify Store
Weibo Post Details Scraper

Weibo Post Details Scraper

Extract visible details of supplied public Weibo post IDs: author, text, topics, mentions, media references and displayed engagement counts. No login required.

Pricing

from $2.16 / 1,000 post snapshots

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract weibo post details for a supplied list of public numeric post IDs. Get the visible author, post text, topics, mentions, image and video references, and displayed repost, comment and like counts in one snapshot per post.

This Actor is for researchers, campaign analysts and data teams who already know which posts they need. It looks up referenced posts directly, including posts outside an author's recent timeline. It does not discover posts by keyword or collect comment bodies.

Who is it for?

Campaign analysts enrich referenced posts, researchers retain public evidence, and data engineers refresh small known-ID lists. It is not a general keyword-search or social-graph collector.

Why use this Actor?

  • Retrieve a specific referenced post rather than scan a creator's timeline.
  • Keep source-localized engagement displays such as 4.6万 intact instead of converting rounded figures into misleading exact integers.
  • Export a small repeatable snapshot with a retrieval timestamp for downstream comparison.
  • Use anonymous browsing without supplying passwords, login cookies or API credentials.

Get started

  1. Open the input editor and paste one to three numeric public post IDs.
  2. Set the maximum number of snapshots, if fewer than the supplied IDs are needed.
  3. Start the Actor and wait for its final status.
  4. Open the default dataset to inspect results or export JSON, CSV or Excel through Apify.

Example input:

{"postIds":["5329401409704913"],"maxItems":3}

A post ID is the numeric identifier in a detail URL such as https://m.weibo.cn/detail/5329401409704913. A user UID, short alphanumeric post code or URL is not accepted as an input value.

Inputs

FieldBehavior
postIdsRequired array of 1–3 strings, each 10–20 digits. All entries are validated.
maxItemsInteger from 1–3, default 3. Global limit after duplicate IDs are removed in first-seen order.

Zero and unlimited limits are not supported. There are no search, timeline, date, text-filter or comment modes. Input URLs and arbitrary domains cannot be fetched. The browser uses CN residential egress automatically; no separate proxy choice is exposed.

Weibo post details output

The default dataset contains one record per successfully retrieved unique ID, subject to the limit.

FieldMeaning
postId, urlSupplied numeric ID and mobile detail URL.
authorName, authorUrlVisible main-post author and public profile reference. Profile query parameters are removed.
textVisible main-post text. Not a guarantee of untruncated long text.
topicsUnique linked hashtag labels from the main post, including # delimiters.
mentionsUnique linked @mention labels; unlinked text is not inferred.
publishedTextSource display, for example 8-7 15:09. No year or timezone is invented.
imageUrlsVisible attached image or video cover references, not downloaded files.
videoUrlsWeibo video landing-page links preserving the public fid, not direct video streams.
repostCountTextDisplayed repost count; rounding and Chinese units are preserved.
commentCountTextDisplayed comment count only, not comment records.
likeCountTextDisplayed likes, preserving source formatting.
fetchedAtUTC timestamp when the snapshot was extracted.

Absent scalar fields are null and absent lists are empty. Images can be thumbnails or covers rather than originals. Media links may expire or require source-side access. Attached media references carry no separate event charge.

Output example

This abbreviated record reflects a public publisher's visible post; retrieve current data rather than treating these counters as historical truth.

{
"postId":"5329401409704913",
"url":"https://m.weibo.cn/detail/5329401409704913",
"authorName":"人民日报",
"authorUrl":"https://m.weibo.cn/profile/2803301701",
"text":"【此行间·#习近平心系体育强国建设#】…",
"topics":["#习近平心系体育强国建设#","#18年前的8月8日#","#此行间#"],
"mentions":[],
"publishedText":"8-7 15:09",
"imageUrls":["https://wx4.sinaimg.cn/orj480/0033ImPzly1ifvmdn95jwj60u0140k4502.jpg"],
"videoUrls":["https://video.weibo.com/show?fid=1034%3A5329401085362352"],
"repostCountText":"4.6万",
"commentCountText":"3028",
"likeCountText":"7.1万",
"fetchedAt":"2026-10-15T06:05:34.969Z"
}

The ellipsis above abbreviates the example only. Actual rows retain the extracted visible text.

How much does it cost to extract Weibo post details?

Pricing uses a one-time $0.005 start event plus one item event per delivered post snapshot. Current per-post tiers are FREE $0.00414, BRONZE $0.0036, SILVER $0.002808 and GOLD/PLATINUM/DIAMOND $0.00216. The FREE label refers to an Apify plan tier, not free extraction.

At BRONZE, one snapshot costs $0.0086 and three snapshots cost $0.0158 in Actor event charges. A repeated run is charged again, even for the same IDs. Platform limits and your plan's other charges may also apply. Check the current Store pricing before running.

Only delivered snapshots receive an item charge. A valid run that starts but cannot retrieve a post can still incur the start charge. Duplicate IDs within a run do not create additional snapshots or item charges. A platform charge limit can stop collection early.

Limits and coverage

Only public posts visible to the anonymous browser are supported. Private, deleted, restricted or challenged pages are not guaranteed. A post can disappear or change between runs. No login or human challenge-solving workflow is provided.

The Actor processes at most three supplied IDs sequentially, reusing one browser context. Navigation and rendering have bounded timeouts; there are no hidden repeated attempts. A source error fails the run rather than pretending that a visitor page is a valid empty result. If an earlier post was already saved, its dataset row remains as a partial result.

The output excludes comments, commenter identities, private content, nested repost-card text, follower lists, media downloads and transcripts. No built-in historical archive, change detection, alerts or live monitoring is included.

Integrations

  • Export snapshots to a spreadsheet for a small campaign evidence log.
  • Schedule repeated inputs with Apify schedules and compare postId and fetchedAt in your own database. Each execution is a fresh snapshot, not an historical backfill.
  • Send the default dataset to a warehouse or CRM through your own Apify integration or webhook.
  • Use visible text as input to your own classification or translation pipeline; neither operation is bundled here.

API: cURL

Keep the token in your environment rather than in a shared URL.

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~weibo-post-detail-scraper/runs' \
-H "Authorization: Bearer $APIFY_TOKEN" -H 'Content-Type: application/json' \
-d '{"postIds":["5329401409704913"],"maxItems":1}'

Retain the returned run ID. Follow that same run until terminal status, then read its defaultDatasetId through the dataset items API. Starting another run is not a polling mechanism.

API: JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({token: process.env.APIFY_TOKEN});
const run = await client.actor('automation-lab/weibo-post-detail-scraper')
.call({postIds:['5329401409704913'],maxItems:1});
if (run.status !== 'SUCCEEDED') throw new Error(`Run ${run.id}: ${run.status}`);
const {items} = await client.dataset(run.defaultDatasetId).listItems({limit:3});
console.log(items);

API: Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/weibo-post-detail-scraper').call(
run_input={'postIds':['5329401409704913'], 'maxItems':1})
if run['status'] != 'SUCCEEDED':
raise RuntimeError(run['status'])
print(client.dataset(run['defaultDatasetId']).list_items(limit=3).items)

MCP clients

Use the Actor-specific hosted endpoint when the Actor is available to your account:

claude mcp add --transport http apify \
'https://mcp.apify.com?tools=automation-lab/weibo-post-detail-scraper'

Equivalent Claude Desktop, Cursor, and VS Code configuration (for clients supporting remote HTTP MCP):

{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/weibo-post-detail-scraper"}}}

Discover actual tool names and input schemas with read-only tools/list. Actor selection also exposes run and storage helpers, not exactly one tool. Authenticate according to your client and Apify configuration.

Example prompts: “Retrieve the visible details of post 5329401409704913, maximum one snapshot. Report displayed counts without converting rounded values into exact integers.”

For an authorized invocation, start once and retain the run/status/storage IDs; they are metadata, not output rows. call-actor waits at most 45 seconds. If still running, inspect that same run with bounded 2/4/8/10-second backoff and a 120-second deadline. Recover a known run after client timeout rather than restarting; if its ID is unknown, report uncertainty. At the deadline, report pending and stop polling. Failed runs may contain partial rows, not complete results.

After success, fetch bounded dataset pages with explicit fields, limit and offset. For this Actor, request at most three rows. A client can additionally enforce a 64 KiB UTF-8 model-context budget host-side, summarizing oversized rows with disclosure. If the client cannot intercept oversized responses, do not claim a hard byte guarantee. Keep full exports outside model context and report any truncation. Discovery caching and prompt-token savings depend on the client; no numerical savings are promised.

Legality

Use public data only within your authorization and applicable law. No AI inference or model-provider call is used at runtime. The browser's required network traffic and residential proxy are operated at our expense; no external account subscription is required from you.

Responsible use and diagnostics

Use public data only for lawful, authorized purposes. Respect source terms, intellectual property and applicable privacy obligations. Public visibility is not a grant to republish personal information or bypass access restrictions. This Actor is not affiliated with Weibo.

Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL query parameters are removed; reports are retained for 30 days. Do not enter credentials or private information in post inputs. Browser cookies are ephemeral within a run and are not persisted. Dataset and log retention follow your Apify account/storage settings; delete run storage through Apify when no longer needed. The Actor does not create an additional archive. Public author names/profile references are intentionally included only in dataset records, not application logs. Contact the maintainer through the Actor's Apify Issues tab for support.

FAQ and troubleshooting

Why does a known ID fail? The post may be deleted, private, region-restricted or temporarily challenged. Confirm it is a numeric post ID and public. A successful browser visit elsewhere does not guarantee anonymous access from the Actor.

Why are counts strings? Weibo often displays rounded values. 4.6万 is a display label, not proof of an exact count of 46,000.

Does this return all long text or direct videos? No. It returns the visible main-post text and video landing references. Full text expansion, streams and file downloads are outside scope.

Can I use post URLs? Extract the numeric ID first. This version deliberately accepts only numeric ID strings, not URL or short-code inputs.

For recent posts selected by creator UID, use Weibo Posts and Profiles Scraper. For public hot-search ranking topics, use Weibo Hot Search Rankings Scraper. These are different selection workflows and do not replace exact supplied-ID lookup.