# Douyin Xiaohongshu Weibo Analytics Report Builder (`zinin/douyin-xiaohongshu-weibo-analytics-report-builder`) Actor

Build analytics reports from supplied Douyin, Xiaohongshu and Weibo exports with creator rankings, engagement metrics, hashtags and publication timing.

- **URL**: https://apify.com/zinin/douyin-xiaohongshu-weibo-analytics-report-builder.md
- **Developed by:** [Tim Zinin](https://apify.com/zinin) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Douyin Xiaohongshu Weibo Analytics Report Builder

Turn supplied Douyin, Xiaohongshu and Weibo exports into creator rankings, engagement metrics, hashtag counts and publication timing. This Actor reads rows you provide or a dataset you can access, then creates one consistent analytics report without contacting the social platforms.

**Evidence status: private build 0.1.3 accepted on 2026-09-06.** Every input/output example below is an exact Dataset record or OUTPUT record from the accepted acceptance runs on Apify's network with the pay-per-event tariff active. The listing is not public yet; no scheduled task or review history is claimed.

Planned pay-per-event price: **$0.005 per run start + $0.002 per report row**. Incomplete and error rows are free of result charges.

### What you get

- One paid summary plus bounded creator, hashtag, top-post and timing rows.
- Automatic mappings for the supplied Douyin and Rednote exporter shapes, plus synthetic Weibo fixtures.
- Chinese counter suffixes, timestamp unit detection and IANA timezone grouping.
- Segmented Chinese top words in the summary, with no separate word-row fee.
- Missing denominators, unsupported growth estimates and small-sample z-scores remain null.
- Runs on Apify: schedule it, monitor it, call it from your API workflow, and export results to JSON, CSV or Excel.

![Input, evidence and result boundary](assets/readme-hero.svg)

### How to run it

1. Open the Actor input form and start with the clearly marked synthetic prefill.
2. Inspect the result dataset and OUTPUT before replacing the demo with authorized buyer data.
3. Supply either your inline records or your dataset ID, then choose the documented settings and limits.
4. Start a small run, inspect partial/error records, and export the relevant complete result types.

### Pricing

The accepted Wave B build plan specifies **$0.005 per run start + $0.002 per report row**. At that planned base price, 100 complete units in one run are $0.205, and 1,000 are $2.005. This arithmetic excludes any separate upstream export purchase or downstream service cost. There is no monthly seat charge in this planned Actor tariff.

The actual deployed tariff has not been changed or verified by this build. The orchestrator must reconcile the Store price, event definitions and acceptance receipts before making this a final listing. The platform's current free-plan credit availability is separate from this Actor's result-event semantics; do not treat free result rows as a promise of a zero-cost run.

Billing unit: **report row**. Bill result-found once per complete report row, including summary; never per input post. Rejected inputs, no\_data and truncation notices are free. Compare run chargedEventCounts with found=true report rows. All three datasetId goldens require Claude to bind actual buyer-account dataset IDs; Douyin and XHS use purchased exports, Weibo uses the supplied synthetic fixture. Local auto-map tests cover the identical datasetId code branch and exact exporter paths.

### Input contract

The table describes the actual input schema. Structural restrictions that Apify's form dialect cannot express are checked again at runtime. Defaults and prefill are distinct: the email form's prefill sets checkMx=false for the offline demo even though non-demo validation normally enables MX.

| Field | Type and bound | Meaning |
|---|---|---|
| `rows` | array; max 5000 items | Replace the clearly marked synthetic prefill with your own authorized data. Explicit datasetId suppresses unchanged demo rows. Runtime: 10 MiB input, 64 KiB per row, depth 16 and 100 items per nested array. |
| `datasetId` | string; max 128 chars | Optional Apify dataset ID in your account. Read in pages of 100, at most 5000 rows and 10 MiB. No dataset URL. Remove custom inline rows when setting this. |
| `fieldMap` | object | Optional target-name to dotted-path map. At most 20 paths of 80 characters; prototype and executable paths rejected at runtime. See README for allowed target names. |
| `platform` | string | Auto detects supplied Douyin, Rednote and synthetic Weibo paths. No platform requests. |
| `timezone` | string; max 80 chars | IANA timezone for hour and weekday grouping; validated at runtime. |
| `engagementDenominator` | string | ER uses likes + comments + shares and a known positive denominator, otherwise null. |
| `topCreators` | integer; 1–100 | Maximum entries for this report dimension. Words stay inside the summary row. |
| `topHashtags` | integer; 1–100 | Maximum entries for this report dimension. Words stay inside the summary row. |
| `topPosts` | integer; 1–100 | Maximum entries for this report dimension. Words stay inside the summary row. |
| `topWords` | integer; 1–100 | Maximum entries for this report dimension. Words stay inside the summary row. |
| `maxItems` | integer; 1–500 | Working output cap; remaining units are reported as unprocessed in OUTPUT. Error notices and free supplier summaries are additional. |

#### Recorded happy-path input and output

Run `LSUBFzwarGYNEvf8Z` on build 0.1.3, 2026-09-06, 5 s, Dataset records: 46, charged events: `{"apify-actor-start": 1, "result-found": 46}`. The input is the form prefill; every one of the 46 paid records carries the demo marker because the prefill is synthetic.

Input:

```json
{
 "fieldMap": {},
 "platform": "auto",
 "timezone": "Asia/Shanghai",
 "engagementDenominator": "views",
 "topCreators": 6,
 "topHashtags": 10,
 "topPosts": 5,
 "topWords": 10,
 "maxItems": 100
}
```

First Dataset record (exact):

```json
{
 "schemaVersion": "1.0",
 "type": "summary",
 "sourceUrl": null,
 "found": true,
 "status": "ok",
 "resultCount": 1,
 "partial": false,
 "error": "",
 "warnings": [
  "Growth requires comparable history; null in this snapshot report.",
  "Totals sum known counters; inspect missingEngagement before comparisons."
 ],
 "checkedAt": "2026-09-06T02:04:34.601Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": true,
 "platform": "mixed",
 "timezone": "Asia/Shanghai",
 "synthetic": true,
 "posts": 60,
 "likes": 2340,
 "comments": 710,
 "shares": 109,
 "views": 39000,
 "collections": 180,
 "engagementRate": null,
 "meanEngagement": 52.65,
 "medianEngagement": 48.5,
 "growthRate": null,
 "topWords": [
  {
   "word": "科技",
   "count": 80
  },
  {
   "word": "发布",
   "count": 20
  },
  {
   "word": "新品",
   "count": 20
  },
  {
   "word": "新闻",
   "count": 20
  },
  {
   "word": "生活",
   "count": 20
  }
 ],
 "inputPosts": 60,
 "rejectedPosts": 0,
 "duplicatePosts": 0,
 "missingTimestamps": 0,
 "missingEngagement": 0,
 "mappingEvidence": [
  {
   "platform": "douyin",
   "fields": {
    "text": "text",
    "postId": "id",
    "authorId": "authorMeta.id",
    "authorName": "authorMeta.name",
    "timestamp": "createTime",
    "url": "url",
    "likes": "statistics.diggCount",
    "comments": "statistics.commentCount",
    "shares": "statistics.shareCount",
    "views": "statistics.playCount",
    "followers": "authorMeta.followersCount",
    "collections": "statistics.collectCount",
    "hashtags": "hashtags"
   }
  },
  "… 2 more entries with the same mapping omitted here for length"
 ]
}
```

#### Recorded partial input and output

Run `aYEVVKLJCkbAK4qll` on build 0.1.3, 2026-09-06, 3 s, Dataset records: 2, charged events: `{"apify-actor-start": 1, "result-found": 1}`. The free notice keeps the remaining work count; the complete neighbouring result still carries its own result event.

Input:

```json
{
 "maxItems": 1,
 "fieldMap": {},
 "platform": "auto",
 "timezone": "Asia/Shanghai",
 "engagementDenominator": "views",
 "topCreators": 6,
 "topHashtags": 10,
 "topPosts": 5,
 "topWords": 10
}
```

Free notice record (exact):

```json
{
 "schemaVersion": "1.0",
 "type": "notice",
 "sourceUrl": null,
 "found": false,
 "status": "partial",
 "resultCount": 0,
 "partial": true,
 "error": "max_items",
 "warnings": [],
 "checkedAt": "2026-09-06T02:04:45.569Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": true,
 "unprocessed": 45
}
```

#### supplied dataset — real Douyin search export (bought in the Store)

Run `fh0alI9dL1UcYmlJZ` on build 0.1.3, 2026-09-06, 4 s, Dataset records: 53, charged events: `{"apify-actor-start": 1, "result-found": 53}`. 53 paid records. The dataset was passed through `datasetId`; the Actor never contacted the platform the export came from.

Input:

```json
{
 "datasetId": "LbXVpVXC2wamns1mw",
 "platform": "auto",
 "maxItems": 100,
 "fieldMap": {},
 "timezone": "Asia/Shanghai",
 "engagementDenominator": "views",
 "topCreators": 6,
 "topHashtags": 10,
 "topPosts": 5,
 "topWords": 10
}
```

First paid Dataset record (exact):

```json
{
 "schemaVersion": "1.0",
 "type": "summary",
 "sourceUrl": null,
 "found": true,
 "status": "ok",
 "resultCount": 1,
 "partial": false,
 "error": "",
 "warnings": [
  "Growth requires comparable history; null in this snapshot report.",
  "Totals sum known counters; inspect missingEngagement before comparisons."
 ],
 "checkedAt": "2026-09-06T02:04:52.168Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": false,
 "platform": "mixed",
 "timezone": "Asia/Shanghai",
 "synthetic": false,
 "posts": 20,
 "likes": 1479471,
 "comments": 163053,
 "shares": 789047,
 "views": 0,
 "collections": 248097,
 "engagementRate": null,
 "meanEngagement": 121578.55,
 "medianEngagement": 61978.5,
 "growthRate": null,
 "topWords": [
  {
   "word": "汽车",
   "count": 25
  },
  {
   "word": "电车",
   "count": 19
  },
  {
   "word": "能源",
   "count": 12
  },
  {
   "word": "知识",
   "count": 8
  },
  {
   "word": "新能源",
   "count": 6
  },
  "… 5 more entries omitted here for length"
 ],
 "inputPosts": 20,
 "rejectedPosts": 0,
 "duplicatePosts": 0,
 "missingTimestamps": 0,
 "missingEngagement": 0,
 "mappingEvidence": [
  {
   "platform": "douyin",
   "fields": {
    "text": "text",
    "postId": "id",
    "authorId": "authorMeta.id",
    "authorName": "authorMeta.name",
    "timestamp": "createTime",
    "url": "url",
    "likes": "statistics.diggCount",
    "comments": "statistics.commentCount",
    "shares": "statistics.shareCount",
    "views": "statistics.playCount",
    "followers": "authorMeta.followersCount",
    "collections": "statistics.collectCount",
    "hashtags": "hashtags"
   }
  },
  "… 2 more entries with the same mapping omitted here for length"
 ]
}
```

#### supplied dataset — real Xiaohongshu search export (bought in the Store)

Run `WzSxth6E6fG2DaKNx` on build 0.1.3, 2026-09-06, 4 s, Dataset records: 43, charged events: `{"apify-actor-start": 1, "result-found": 43}`. 43 paid records. The dataset was passed through `datasetId`; the Actor never contacted the platform the export came from.

Input: identical to the Douyin example except `datasetId: "a2dg49fnBbqJfj8Mn"`.

First paid Dataset record (exact):

```json
{
 "schemaVersion": "1.0",
 "type": "summary",
 "sourceUrl": null,
 "found": true,
 "status": "ok",
 "resultCount": 1,
 "partial": false,
 "error": "",
 "warnings": [
  "Growth requires comparable history; null in this snapshot report.",
  "Totals sum known counters; inspect missingEngagement before comparisons."
 ],
 "checkedAt": "2026-09-06T02:04:58.197Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": false,
 "platform": "mixed",
 "timezone": "Asia/Shanghai",
 "synthetic": false,
 "posts": 20,
 "likes": 1423,
 "comments": 1243,
 "shares": 1161,
 "views": null,
 "collections": 444,
 "engagementRate": null,
 "meanEngagement": 191.35,
 "medianEngagement": 44.5,
 "growthRate": null,
 "topWords": [
  {
   "word": "小鹏",
   "count": 3
  },
  {
   "word": "Model",
   "count": 2
  },
  {
   "word": "PLUS",
   "count": 2
  },
  {
   "word": "试驾",
   "count": 2
  },
  {
   "word": "ET",
   "count": 1
  },
  "… 5 more entries omitted here for length"
 ],
 "inputPosts": 20,
 "rejectedPosts": 0,
 "duplicatePosts": 0,
 "missingTimestamps": 0,
 "missingEngagement": 0,
 "mappingEvidence": [
  {
   "platform": "xiaohongshu",
   "fields": {
    "text": "title",
    "postId": "id",
    "authorId": "author.userid",
    "authorName": "author.nickname",
    "timestamp": "timestamp",
    "url": "url",
    "likes": "engagement.liked_count",
    "comments": "engagement.comments_count",
    "shares": "engagement.shared_count",
    "collections": "engagement.collected_count",
    "hashtags": "tag_info"
   }
  },
  "… 2 more entries with the same mapping omitted here for length"
 ]
}
```

### Output and field dictionary

The overview table exposes every field used by the complete, summary and notice records produced by this Actor. A field may be absent on unrelated record types. Keep the type discriminator when flattening a mixed dataset.

#### `schemaVersion`

Version of the output contract. Compare it before appending rows to a table created for an earlier schema.

#### `type`

Discriminator for this dataset record. Filter by it before aggregating values, because result rows and free operational notices share one dataset.

#### `sourceUrl`

An inert source reference when the record has one. It is never an instruction for this Actor to fetch a social, product or contact page.

#### `found`

True means a complete billable result under this Actor's selected unit. False includes useful free previews and summaries as well as absent, rejected or partial results.

#### `status`

Compact processing state. Use it together with found, partial and error; a single status label is not a substitute for the full result contract.

#### `resultCount`

One for a complete billable result, zero for free records. This is a per-record count, not the total number of rows processed in the run.

#### `partial`

True means this row or notice represents incomplete work. Never promote a partial row to a complete result just because other fields are populated.

#### `error`

Empty for correct no-data and complete results; a bounded classification for a failure. Provider error bodies and input secrets are not copied here.

#### `warnings`

Readable qualifications that can accompany a complete result. A warning is not automatically an error or a reason to drop the row.

#### `checkedAt`

ISO observation time for this Actor's output. It does not replace the supplied post timestamp, the exchange-rate date or an upstream export collection time.

#### `evidence`

Origin label for the result's evidence. Supplied data, local syntax checks and DNS observations establish different boundaries.

#### `confidence`

Null when the Actor has no measured confidence model. Null is deliberate and should not be filled with an arbitrary 100 percent score.

#### `action`

A conservative review hint. It is not an executed downstream action or authorization to contact, purchase, publish or delete anything.

#### `demo`

True on synthetic demonstration output. Keep this field visible when combining demo runs with real buyer data in an internal workbook.

#### `unprocessed`

Remaining units reported by a free notice. Consult OUTPUT for the run-level remainder and the reason the working limit stopped processing.

#### `platform`

Source platform in analytics or destination platform in webhook records. For products, this is an optional supplied identity scope, not marketplace verification.

#### `authorId`

Supplied creator identifier scoped by platform. A missing identifier stays null and does not become a guessed identity based on a display name.

#### `authorName`

Display label from the source export. It is not a unique identifier or evidence that the account is verified.

#### `aliases`

At most ten observed display names for a creator group. These are name variants in supplied rows, not linked accounts discovered elsewhere.

#### `postId`

Supplied post identifier. It controls snapshot deduplication within one platform; missing IDs cannot safely be deduplicated by text alone.

#### `text`

The selected source text field. Automatic mapping selects the first usable candidate and does not concatenate every overlapping title and caption.

#### `posts`

Count of unique supplied posts in this summary, creator, hashtag or timing group. Its grouping meaning is determined by type.

#### `likes`

Known like counter, or a sum of known like counters at aggregate level. Missing source values remain distinguishable through completeness metrics.

#### `comments`

Known comment counter. It contributes to engagement only when the other required numerator components are also known.

#### `shares`

Known share or repost counter according to the platform mapping. It is not inferred from saves, collections or secondary endorsement counters.

#### `views`

Known view count. It can be the engagement denominator, but a missing or zero value cannot produce a meaningful view-based percentage.

#### `followers`

Known creator follower count from the supplied snapshot. Aggregate disagreement produces null rather than an invented current maximum.

#### `collections`

Known save or collection count. Retained separately and excluded from the likes-plus-comments-plus-shares engagement numerator.

#### `engagement`

Post likes plus comments plus shares when all three are known. Missing one component makes this derived total null.

#### `engagementRate`

Percentage from a complete numerator and positive selected denominator. Creator rows average known post percentages; summary rate remains null.

#### `meanEngagement`

Arithmetic mean of complete known post engagement values in the group. Unknown numerators are excluded, not converted into zero.

#### `medianEngagement`

Middle complete known engagement value, or the average of the two middle values for an even sample. Null means no complete observations.

#### `growthRate`

Null in this snapshot report. Comparable observation windows and follower histories are not established by the supplied input contract.

#### `zScore`

Within-platform standardized post engagement using population standard deviation. Null for samples smaller than five or zero variance.

#### `hashtags`

Deduplicated hashtags on a normalized post. Repetition within a single post does not multiply its incidence in the hashtag ranking.

#### `topWords`

Bounded word/count objects inside the summary. Counts are local tokenizer occurrences, not paid word rows or a semantic topic model.

#### `hour`

Hour bucket 0 through 23 in the selected timezone. It is null on weekday buckets and absent on unrelated record types.

#### `weekday`

Weekday bucket 0 through 6, Sunday first. The explicit timezone determines which calendar day a timestamp enters.

#### `timezone`

The validated IANA timezone used for timing groups. Retain it alongside exported charts so that midnight boundaries are reproducible.

#### `mappingEvidence`

Selected target-to-source paths. Inspect this evidence when an exporter changes names or when a manual mapping overrides automatic detection.

#### `synthetic`

Additional provenance marker for synthetic records. The explicit demo field remains the common filter across all four B2 Actors.

#### `timestamp`

Normalized ISO publication timestamp from a supplied record. Ambiguous or unusable timestamps remain null and do not enter timing buckets.

#### `inputIndex`

Zero-based position in the supplied inline list or loaded dataset. Keep the original export if you need to resolve this index later.

#### `duplicateInputIndexes`

Indexes collapsed into the representative post or product. They explain deduplication without creating extra billable rows.

#### `hashtag`

One hashtag label in a hashtag report row. Its posts value counts unique posts in the supplied sample carrying that label.

#### `timingUnit`

Distinguishes hour from weekday rows. Do not add both distributions together as if they were disjoint sets of posts.

#### `inputPosts`

Number of supplied analytics input records before validation and snapshot deduplication. Reconcile it with rejectedPosts and duplicatePosts.

#### `rejectedPosts`

Number of input records excluded as malformed or unrecognized. Their free rejected\_input rows preserve the relevant source indexes.

#### `duplicatePosts`

Number of earlier same-platform post snapshots collapsed into the retained records. Their counters are not summed.

#### `missingTimestamps`

Unique normalized posts with no usable date. These posts can still contribute to other complete report dimensions.

#### `missingEngagement`

Unique normalized posts lacking at least one numerator component. Consider this before interpreting means or total engagement coverage.

### Who uses it

Social analysts, agency reporting teams and campaign owners working with authorized post exports use the report to compare observed activity and inspect missing evidence.

#### Read the report as evidence about an export

The unit being analyzed is a supplied post record. The unit being sold is a complete report row. These are different counts: 60 supplied posts can produce fewer than 60 report rows, while one supplied post can produce a summary, a creator row, hashtag rows, a top-post row and a complete timing distribution. `requested` in OUTPUT refers to input posts; `reportRows` is the number of report rows constructed before the output cap. Count the dataset records with `found=true` when reconciling result events.

The accepted default contains 60 synthetic posts across three platform shapes, six synthetic creators and fixed dates in August 2026. It does not move those posts forward to the day of the run. That fixed period makes changes in mapping and timezone behavior reproducible. A successful default run demonstrates computation over supplied records. It does not demonstrate a new collection from Douyin, Xiaohongshu or Weibo, or fresh market coverage.

Automatic platform detection first recognizes Douyin's `authorMeta`, `statistics` or `aweme_id`; then Xiaohongshu's `engagement`, `tag_info` or note identifiers; then Weibo repost/attitude counters. For a customized exporter, set `platform` and use `fieldMap`. A row that lacks enough evidence to identify a platform is a free `rejected_input` record. It does not silently enter an arbitrary platform group.

#### Exact exporter paths supported in automatic mode

For the purchased Douyin exporter shape, the preferred identity is `id`, and text is selected from `text`, `caption`, `itemTitle`, then `desc`. Author evidence comes from `authorMeta.id`, `authorMeta.name`, and `authorMeta.followersCount`. Counters use `statistics.diggCount`, `commentCount`, `shareCount`, `collectCount`, and `playCount`; underscore aliases are also recognized. The exported `inputKeyword` remains input context and is not counted as a hashtag or word unless it appears in the selected text.

For the purchased Xiaohongshu/Rednote shape, identity uses `id`; text prefers `title`, then `desc`. Counters use `engagement.liked_count`, `comments_count`, `shared_count`, and `collected_count`. `nice_count` is not substituted for likes and is not added to engagement. Author identity and label use `author.userid` and `author.nickname`. `tag_info.title` supplies a tag. Fields such as `author.red_id`, `verified`, `keyword`, and source `type` are accepted as opaque source data but do not imply a new output metric.

Weibo fixtures use `reposts_count`, `comments_count`, `attitudes_count`, `user.id`, `user.screen_name`, `user.followers_count`, `created_at`, and `text`. The documented sample `Fri Sep 05 15:07:08 +0800 2026` is parsed using its explicit offset; the weekday label is not used as a separate analytical truth. Weibo acceptance remains synthetic in this batch. There is no claim that a live Weibo exporter was exercised.

#### Engagement arithmetic and missing observations

At post level, engagement is likes plus comments plus shares. Collections are retained but are not included in this numerator. All three numerator components must be known for post engagement to be known. A literal zero is known and contributes zero. An absent counter is null and cannot be turned into zero merely to make a percentage available. The selected denominator is either views or followers, and it must be known and strictly positive. Engagement rate is numerator divided by that denominator, multiplied by 100 and rounded to six decimal places.

A creator's mean and median engagement use posts with a known complete numerator. Creator engagement rate is the arithmetic mean of known post rates; it is not a pooled fraction across mixed denominators. That choice means a post with a large reach does not automatically dominate the creator's mean rate. Total counters in the summary sum known observations; inspect `missingEngagement` and the supplied field mappings before comparing two exports with different completeness.

Follower counts are snapshot evidence. If supplied records for a creator disagree, the creator row does not select the highest value as a current follower count. The output is null for that aggregate. `growthRate` is null throughout this version because the supplied report contract does not establish comparable historical windows. Comparing two exports yourself requires matched time windows, the same creator identity definition, the same source coverage and consistent counter semantics.

#### Duplicate posts, creator identities and ranking

Within a platform, repeated post IDs are snapshots of one post. The last supplied record replaces earlier snapshots; earlier input indexes are recorded in `duplicateInputIndexes`. Counters from those snapshots are never added together. This policy follows input order rather than an invented collection timestamp. If an exporter includes a real observation timestamp, order that export deliberately before supplying it. Posts without a usable ID remain separate records because collapsing identical text could erase distinct posts.

Creator identity is scoped by platform. The same author ID string on Douyin and Weibo does not merge two accounts. Labels are display values and are not used as identity. A creator can have a small list of observed name aliases; the output caps those aliases at ten. Missing creator IDs do not prevent valid posts from entering the overall summary and timing, but those posts cannot contribute to a falsely identified creator group.

Creator rows sort by mean engagement with an identity tie-breaker. Top posts sort by complete engagement, with input order resolving ties. Hashtags sort by post incidence, not total repeated occurrences inside one caption: a hashtag is deduplicated within each post before counting. These rankings describe the supplied sample. They are not platform-wide leaderboards, account verification, paid-influence scores or revenue forecasts.

#### Word counts, time buckets and viral candidates

The local segmentit tokenizer creates words from the selected text field. Punctuation, one-character tokens, numeric tokens and a short explicit demonstration stop list are excluded. A word count is a token occurrence count. It does not measure unique people, unique posts or topic sentiment. `topWords` stays inside the summary row. A custom field mapping can select a richer source text field, but this version does not concatenate every possible caption field and accidentally double count repeated content.

Numeric timestamps below 100,000,000,000 are treated as Unix seconds; larger values are treated as milliseconds. Explicitly zoned date strings and date-only ISO strings are accepted. Ambiguous date-time strings without a timezone remain unknown. Known timestamps are grouped in the chosen IANA timezone. Hour values are 0–23, weekday values are 0–6 with Sunday at zero. When at least one timestamp is known, the report includes all 24 hourly buckets and all seven weekday buckets, including observed zero counts. With no known timestamps, it emits no timing rows.

Z-scores compare complete post engagement within each platform, using population standard deviation. Fewer than five observations or zero variance produces null. A high z-score identifies a candidate worth checking; it is not proof of viral reach, bot activity, manipulation or exceptional business performance. Cross-platform engagement is not pooled for this calculation because one site's visible counters can represent a different interaction model from another's.

#### A practical reporting workflow

An analyst can purchase or otherwise obtain an authorized export, inspect several raw records, and supply its dataset ID. First review the summary's input, rejected, duplicate and missing counts. Then confirm the top-post `mappingEvidence` refers to the intended fields. Only after those checks should the creator and hashtag tables be exported to a reporting sheet. Keep the original purchased dataset separate so that a later exporter schema change can be diagnosed from source evidence.

A campaign owner comparing content formats should partition the source export before running this report, or retain a group identifier in a downstream workbook. This Actor does not infer campaign membership from words or URLs. Use equal observation periods when comparing activity by weekday. A seven-day export and a month-long export will naturally have different bucket totals even if daily publishing behavior is identical.

An agency handing off a report should provide the run ID, original dataset reference, timezone, denominator setting and completeness notes alongside charts. The source URLs in top-post rows are inert references for authorized human review. The Actor does not open those URLs, and the report is not permission to republish text or profile data outside the buyer's allowed use.

### Evidence and boundaries

The observations on this page come from accepted platform runs (see Sources and release evidence); local SDK 3.7.2 tests replace external services with deterministic fixtures and cover the paths a platform run cannot show.

The Actor reads data supplied by the buyer. Choosing a dataset ID uses the buyer's permitted Apify storage access; it does not authorize access to someone else's private dataset. A dataset ID is an identifier, not a fetch URL. The original source dataset is read only. The Actor writes its own default result dataset and one OUTPUT summary. It does not overwrite upstream rows or silently publish exports somewhere else.

Synthetic input and output carry explicit demo provenance. Keep `demo` visible when reviewing a run and inspect `demoInput` in OUTPUT. A dataset ID suppresses the unchanged form prefill. If a custom inline list is also supplied, the Actor rejects the ambiguous combination instead of merging buyer records with demonstration records. Empty input is meaningful and produces a correct free no-data record; it does not reactivate the default demo.

#### Rights and supplied personal data

Use exports and addresses that you are entitled to process for your stated purpose. A purchased export or an accessible API response does not by itself grant unlimited redistribution rights over every text, identifier or personal detail it contains. The buyer is responsible for applicable source terms, permissions, retention and privacy obligations, including relevant PIPL and GDPR responsibilities. This Actor does not determine the legal basis of an individual dataset or supply consent for a later communication.

Source URLs and references remain data. This batch does not request Douyin, Xiaohongshu, Weibo, Zhihu, consumer WeChat, Bilibili, Baidu, Taobao, 1688, JD, Toutiao, Juejin or 36kr pages. It does not log into those platforms, use account cookies, open attachments, execute supplied code or follow embedded links. The specific corporate webhook exception is limited to the sender's reviewed destination endpoints and requires buyer-supplied configuration.

### Decision routing

Start with OUTPUT, then inspect the record types: a nonempty dataset can hold free rejected-input records or a partial notice, and a clean exit is not a delivery receipt. Route `partial=true` records to review, keep valid neighbouring results, and read `found=false` with an empty error and zero count as correct absence. `replaySafe=false` is deliberate: a repeated run creates new rows and new result events, so key your downstream import by run ID.

#### Before an unattended schedule

Run the smallest useful input and inspect both the result dataset and OUTPUT. Verify that the expected field paths are populated, that null values are understood and that the selected cap is appropriate. Save a task only after its settings represent the intended recurring workload. A schedule automates those saved settings; it does not repair an exporter schema change, grant source permissions or reconcile uncertain delivery for you.

Keep one operational owner for the source dataset and one for the consumer of the result. A source owner can explain changed column names or missing counters; a result owner can decide whether a partial observation should delay a report or notification. The Actor returns concrete evidence to support that decision instead of inventing missing data to keep a pipeline superficially green.

### Integration recipes

#### Console to a workbook

Begin with the synthetic prefill so you can inspect the shape quickly. Replace it with a small authorized sample and rerun. Use the Dataset table's `overview` view to see all result and summary fields, then filter by `type` before exporting. A CSV is convenient for scalar columns; nested arrays and objects are better preserved in JSON. If your spreadsheet flattens nested values, retain the original JSON export for later investigation.

Add the run ID and selected settings to your workbook as separate metadata. A row's `checkedAt` says when this Actor produced it, but cannot replace every upstream timestamp or source observation date. Do not append two runs blindly and assume the combined row count is a unique count of products, people, posts or deliveries. Use the Actor-specific identity and deduplication rules when constructing a downstream key.

#### An upstream Actor and a dataset ID

Let your authorized upstream process finish and obtain its dataset ID. Supply that ID in `datasetId`, remove any custom inline records and choose the exact field map or email field your workflow needs. The Actor requests at most 100 records per page, caps input at 5,000 records and rejects more than 10 MiB of UTF-8 record data. It does not accept a public dataset URL in place of an ID.

Preserve the upstream run reference in your own orchestration record. If the upstream exporter changes its output shape, compare a raw record with the automatic mapping candidates or selected dotted paths. A mapping error should be corrected explicitly; repeating the same run with a higher maxItems value cannot create a missing source field. Local fixture tests cover known shapes, while actual cloud acceptance must verify the purchased export in the buyer account.

#### API orchestration without a second write channel

Create and run the Actor through your normal Apify workflow, then read its default dataset and OUTPUT record. This package does not contain a separate export-to-CRM credential or an implicit message destination. A consumer that writes to a warehouse, CRM or chat service should make that action explicit in its own configuration and retain the source run ID. This keeps a result computation reviewable before it triggers another business process.

Check the platform run status, OUTPUT fatal field and partial counts before ingesting complete rows. If a request to start a run times out in your orchestration layer, inspect whether a run was created before starting another one. A client-side timeout does not establish that no run exists. This general reconciliation habit is particularly important when your downstream action is not easily reversible.

#### JSON and CSV handling

Use JSON when you need exact nested evidence, such as mapping paths, tiers, MX hosts or rendered payloads. Use CSV after selecting a single record type and a deliberate set of scalar columns. An array rendered as a JSON string inside a CSV cell is still one cell, not a guarantee that a spreadsheet can calculate on its contents. Document the flattening rule in your import job rather than silently dropping nested values.

Null, zero, false and the empty string have distinct meanings. Null means unavailable or inapplicable; zero is a known numerical value; false is an explicit boolean state; an empty error string is a correct absence of error. A data-cleaning step that replaces all four with blanks can destroy the boundaries this Actor is designed to preserve. Keep these values distinct in a database or typed dataframe.

### Operating guide

#### Input size and structure

The runtime checks both array lengths and byte sizes. One source record is limited to 64 KiB. Opaque nested arrays have a maximum of 100 elements, nesting depth is capped at sixteen (real Xiaohongshu exports nest to nine) and source objects have a bounded number of properties. Specialized structures such as product tiers, webhook destinations and field maps have smaller Actor-specific limits. These checks run even when the input schema cannot express the restriction in Apify's supported dialect.

Dotted paths are literal property navigation. Prototype-related components, executable templates and remote references are rejected. The Actor does not use field names as code. Invalid types and nonfinite numbers are errors instead of implicit string coercions in important metric and limit fields. A buyer should prefer a small normalized export to embedding oversized page documents or unneeded binary content in each row.

The input schema intentionally uses Apify-supported controls rather than unsupported general JSON Schema composition. Runtime validation provides the additional structural guarantees. The build records the output of `apify validate-schema .actor/input_schema.json` for this exact schema. Passing that command confirms the Console schema dialect; it does not establish the correctness of the domain calculations, which are checked separately by the tests and examples.

#### Spending and result reconciliation

Run-start pricing is separate from result pricing: a free record can belong to a run whose start was charged. One `result-found` event is pushed per complete report row; free notices use a plain push, and the automatic dataset-item event must stay at zero price. Before each paid push the Actor reads the tariff and the remaining budget, checks the next combined charge in microdollars and serializes paid pushes; missing pricing, a priced dataset-item event or an unreadable budget fails the run closed. An exception after the write but before charge confirmation is reported as uncertain delivery and fails the run: reconcile the dataset and the charge receipt before retrying.

#### OUTPUT counters

`requested` counts the source input units defined for this Actor. `processed` counts the work units completed by its loop, which can differ from input units for a report builder or a grouped sender. `delivered` counts complete result rows accepted by the delivery guard. `paid` counts confirmed monetized result events; local nonmonetized runs can deliver useful rows with paid zero. `free` counts ordinary dataset pushes, and `failed` counts free rows carrying an error classification.

`unprocessed` records remaining Actor work units, with an Actor-specific reason where a cap or deadline stopped the run. `partial` combines domain incompleteness, free partial rows, a remainder and fatal uncertainty. `fatal` is separate from ordinary per-record errors. `deliveryUncertain` identifies persistence/charge uncertainty at the delivery guard. For webhook API ambiguity, inspect the deliveryStatus record as well. These distinctions are useful when deciding whether to retain complete neighboring rows, fix input or reconcile a run.

#### Diagnosing a changed input shape

First reproduce the issue with a few sanitized records from the same export. Check whether the relevant field is absent, null, a stringified number, an object, or located at a different path. Compare the record with the input examples and exact field map contract. A field that visually looks numeric in a spreadsheet can still arrive as a localized string or a blank after CSV conversion. Fix the source conversion or mapping rather than guessing a value downstream.

For a support report, include the Actor version, run reference, sanitized input shape, expected interpretation and actual error/status fields. Remove webhook URLs, signing secrets and unnecessary personal data. If the issue involves a price range, include the exact relevant string and unit; if it involves timing, include the original timestamp and timezone setting; if it involves DNS, include the MX classification rather than a list of unrelated addresses. These details make the discrepancy reproducible without broadening exposure.

### Commercial playbooks

Start from a decision the report can support, then size the job by report rows. For an agency or internal service desk, keep an intake checklist tied to the documented fields: authorized export, sample record, chosen settings, destination of the result and the owner of partial/error review. Keep the first run small and preserve it as the agreed output contract; a change in source coverage or record identity deserves a new review, not just a larger cap. Price your own analysis separately and keep the Actor's event charges visible; this page states the tariff and its unit, not margin or conversion.

### FAQ / Limitations

**Does the synthetic prefill prove anything about real exports?** Only the computation contract. The accepted real Douyin and Xiaohongshu exports above are the supplied-data evidence; demo markers stay in the data so a demo cannot quietly become a market observation.

**Can I pass a URL instead of a dataset ID?** No. Dataset ingestion uses an Apify dataset identifier and the buyer's storage access. URLs contained in supplied source rows are data, not generic network inputs. A custom field map changes which properties are read, not which hosts the Actor can visit.

**Why did the dataset grow by more rows than the number of paid events?** Free notices share the dataset with paid report rows; compare the report-row unit, the found/partial/error contract and the platform charge receipt.

**Can I increase every limit to avoid partial work?** No. The hard input and structure caps protect predictable execution; `maxItems` can move within its schema range, but a larger workload should be split intentionally.

**Does the Actor update my original data?** No. It reads supplied data and writes a result dataset plus OUTPUT for this run. A later import into a CRM, catalog or report is an explicit consumer action. Keep the source reference so that normalized values and mapping decisions can be audited.

**Where should I report a bug or request a change?** Use the Actor page's issue channel when it is available. Provide a small sanitized reproduction and the relevant result classifications. Do not post secrets, private webhook destinations or complete personal-data lists in a public issue. The build draft is intended for review before the final Store listing is accepted.

![Run workflow and review boundary](assets/readme-workflow.svg)

### Recorded platform observations (accepted acceptance runs)

The records below are exact; only `checkedAt` differs between repeated runs.

#### OUTPUT from the accepted happy run

Run `LSUBFzwarGYNEvf8Z` on build 0.1.3, 2026-09-06, 5 s, Dataset records: 46, charged events: `{"apify-actor-start": 1, "result-found": 46}`.

```json
{
 "requested": 60,
 "processed": 46,
 "unprocessed": 0,
 "reportRows": 46,
 "rejectedInputs": 0,
 "demoInput": true,
 "partial": false,
 "limitReason": "max_items",
 "delivered": 46,
 "paid": 46,
 "free": 0,
 "failed": 0,
 "fatal": "",
 "deliveryUncertain": 0,
 "budgetExhausted": false,
 "replaySafe": false,
 "replayNote": "Serialize schedules. No exactly-once ledger; reconcile uncertain delivery before replay.",
 "schemaVersion": "1.0",
 "checkedAt": "2026-09-06T02:04:36.971Z"
}
```

#### Correct empty-input record

Run `va8CtdXbxxIGhP46g` on build 0.1.3, 2026-09-06, 4 s, Dataset records: 1, charged events: `{"apify-actor-start": 1, "result-found": 0}`.

```json
{
 "schemaVersion": "1.0",
 "type": "no_data",
 "sourceUrl": null,
 "found": false,
 "status": "no_data",
 "resultCount": 0,
 "partial": false,
 "error": "",
 "warnings": [],
 "checkedAt": "2026-09-06T02:04:41.705Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": false
}
```

#### Malformed-input record

Run `d8VT68Cn6bBme6HKr` on build 0.1.3, 2026-09-06, 3 s, Dataset records: 1, charged events: `{"apify-actor-start": 1, "result-found": 0}`.

```json
{
 "schemaVersion": "1.0",
 "type": "rejected_input",
 "sourceUrl": null,
 "found": false,
 "status": "error",
 "resultCount": 0,
 "partial": true,
 "error": "invalid_post",
 "warnings": [],
 "checkedAt": "2026-09-06T02:04:49.519Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": false,
 "inputIndex": 0
}
```

### Result-type examples

These additional records are exact records from the accepted runs above, selected to show distinct result types.

#### creator

```json
{
 "schemaVersion": "1.0",
 "type": "creator",
 "sourceUrl": null,
 "found": true,
 "status": "ok",
 "resultCount": 1,
 "partial": false,
 "error": "",
 "warnings": [],
 "checkedAt": "2026-09-06T02:04:34.601Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": true,
 "platform": "xiaohongshu",
 "timezone": "Asia/Shanghai",
 "synthetic": true,
 "authorId": "x1",
 "authorName": "Demo XHS 1",
 "posts": 10,
 "likes": 500,
 "comments": 130,
 "shares": 20,
 "views": null,
 "followers": null,
 "meanEngagement": 65,
 "medianEngagement": 65,
 "engagementRate": null,
 "growthRate": null,
 "aliases": [
  "Demo XHS 1"
 ]
}
```

#### post\_top

```json
{
 "schemaVersion": "1.0",
 "type": "post_top",
 "sourceUrl": "https://example.com/douyin/demo-0-19",
 "found": true,
 "status": "ok",
 "resultCount": 1,
 "partial": false,
 "error": "",
 "warnings": [],
 "checkedAt": "2026-09-06T02:04:34.602Z",
 "evidence": "buyer_supplied_data",
 "confidence": null,
 "action": "review",
 "demo": true,
 "platform": "douyin",
 "timezone": "Asia/Shanghai",
 "synthetic": true,
 "inputIndex": 19,
 "postId": "demo-0-19",
 "authorId": "d1",
 "authorName": "Demo Douyin 1",
 "text": "科技新品 测试 19 #科技",
 "timestamp": "2026-08-06T09:00:00.000Z",
 "mappingEvidence": {
  "text": "text",
  "postId": "id",
  "authorId": "authorMeta.id",
  "authorName": "authorMeta.name",
  "timestamp": "createTime",
  "url": "url",
  "likes": "statistics.diggCount",
  "comments": "statistics.commentCount",
  "shares": "statistics.shareCount",
  "views": "statistics.playCount",
  "followers": "authorMeta.followersCount",
  "collections": "statistics.collectCount",
  "hashtags": "hashtags"
 },
 "duplicateInputIndexes": [],
 "likes": 77,
 "comments": 21,
 "shares": 2,
 "views": 2900,
 "followers": 1500,
 "collections": 4,
 "hashtags": [
  "科技",
  "新品"
 ],
 "engagement": 100,
 "engagementRate": 3.448276,
 "growthRate": null,
 "zScore": 1.646511
}
```

### 中文说明：抖音、小红书、微博数据分析

本工具处理买家提供的导出数据，不访问社交平台。默认六十条记录为固定日期的合成示例，输出带有 demo 标记。点赞、评论和转发构成互动分子；缺少分母时互动率为 null。达人增长没有可靠历史时不做猜测。请先检查映射依据、重复记录和缺失日期，再使用排行榜。

### Sources and release evidence

- Accepted build plan: WAVE\_B\_PLAN.md §4 #3
- Purchased-export field contract: User B2 instruction; synthetic paths in tests/fixtures/exports.json
- [Local tokenizer](https://www.npmjs.com/package/segmentit)

Accepted platform runs on Apify's network (build 0.1.3, 2026-09-06): happy `LSUBFzwarGYNEvf8Z`, empty input `va8CtdXbxxIGhP46g`, cap notice `aYEVVKLJCkbAK4qll`, malformed input `d8VT68Cn6bBme6HKr`, real Douyin search export (bought in the Store) `fh0alI9dL1UcYmlJZ`, real Xiaohongshu search export (bought in the Store) `WzSxth6E6fG2DaKNx`. Charged event counts were read back from the run records; local SDK 3.7.2 tests and proofs cover the failure paths that are not reproduced on the platform on purpose.

#### Related tools

Related tools for adjacent workflows in data pipelines for AI applications, social platforms and regional directories.

| Actor | What it does |
|---|---|
| [RAG Dataset Builder](https://apify.com/zinin/sitemap-to-knowledge) | Pair it in the data pipelines for AI applications workflow: Turn buyer-authorized public website sitemaps into bounded, source-linked text chunks for RAG, search,... |
| [Live Price Oracle](https://apify.com/zinin/live-price-oracle) | Pair it in the data pipelines for AI applications workflow: Get timestamped DexScreener market observations for up to 100 token contracts or bounded ticker searches |
| [Structured Data Extractor](https://apify.com/zinin/structured-extract) | Pair it in the data pipelines for AI applications workflow: Extract title, meta, JSON-LD, headings, links, emails, and price observations from up to 100 authorized... |
| [Telegram Export Intelligence](https://apify.com/zinin/telegram-channel-intel) | Pair it in the social platforms and regional directories workflow: Turn owner-authorized Telegram message exports into per-post reach context, evidence, confidence, review... |
| [URL to Markdown Converter](https://apify.com/zinin/url-to-markdown) | Pair it in the data pipelines for AI applications workflow: Convert up to 100 authorized public HTML pages into clean Markdown for RAG, AI agents, SEO research, and... |

# Actor input Schema

## `rows` (type: `array`):

Replace the clearly marked synthetic prefill with your own authorized data. Explicit datasetId suppresses unchanged demo rows. Runtime: 10 MiB input, 64 KiB per row, depth 16 and 100 items per nested array.

## `datasetId` (type: `string`):

Optional Apify dataset ID in your account. Read in pages of 100, at most 5000 rows and 10 MiB. No dataset URL. Remove custom inline rows when setting this. Dataset access is granted by selecting the resource in the resource picker.

## `fieldMap` (type: `object`):

Optional target-name to dotted-path map. At most 20 paths of 80 characters; prototype and executable paths rejected at runtime. See README for allowed target names.

## `platform` (type: `string`):

Auto detects supplied Douyin, Rednote and synthetic Weibo paths. No platform requests.

## `timezone` (type: `string`):

IANA timezone for hour and weekday grouping; validated at runtime.

## `engagementDenominator` (type: `string`):

ER uses likes + comments + shares and a known positive denominator, otherwise null.

## `topCreators` (type: `integer`):

Maximum entries for this report dimension. Words stay inside the summary row.

## `topHashtags` (type: `integer`):

Maximum entries for this report dimension. Words stay inside the summary row.

## `topPosts` (type: `integer`):

Maximum entries for this report dimension. Words stay inside the summary row.

## `topWords` (type: `integer`):

Maximum entries for this report dimension. Words stay inside the summary row.

## `maxItems` (type: `integer`):

Working output cap; remaining units are reported as unprocessed in OUTPUT. Error notices and free supplier summaries are additional.

## Actor input object example

```json
{
  "rows": [
    {
      "id": "demo-0-0",
      "url": "https://example.com/douyin/demo-0-0",
      "text": "科技新品 测试 0 #科技",
      "createTime": 1785549600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 20,
        "commentCount": 2,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1000
      },
      "demo": true
    },
    {
      "id": "demo-0-1",
      "url": "https://example.com/douyin/demo-0-1",
      "text": "科技新品 测试 1 #科技",
      "createTime": 1785639600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 23,
        "commentCount": 3,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1100
      },
      "demo": true
    },
    {
      "id": "demo-0-2",
      "url": "https://example.com/douyin/demo-0-2",
      "text": "科技新品 测试 2 #科技",
      "createTime": 1785729600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 26,
        "commentCount": 4,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1200
      },
      "demo": true
    },
    {
      "id": "demo-0-3",
      "url": "https://example.com/douyin/demo-0-3",
      "text": "科技新品 测试 3 #科技",
      "createTime": 1785819600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 29,
        "commentCount": 5,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1300
      },
      "demo": true
    },
    {
      "id": "demo-0-4",
      "url": "https://example.com/douyin/demo-0-4",
      "text": "科技新品 测试 4 #科技",
      "createTime": 1785909600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 32,
        "commentCount": 6,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1400
      },
      "demo": true
    },
    {
      "id": "demo-0-5",
      "url": "https://example.com/douyin/demo-0-5",
      "text": "科技新品 测试 5 #科技",
      "createTime": 1785999600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 35,
        "commentCount": 7,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1500
      },
      "demo": true
    },
    {
      "id": "demo-0-6",
      "url": "https://example.com/douyin/demo-0-6",
      "text": "科技新品 测试 6 #科技",
      "createTime": 1786089600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 38,
        "commentCount": 8,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1600
      },
      "demo": true
    },
    {
      "id": "demo-0-7",
      "url": "https://example.com/douyin/demo-0-7",
      "text": "科技新品 测试 7 #科技",
      "createTime": 1785574800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 41,
        "commentCount": 9,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1700
      },
      "demo": true
    },
    {
      "id": "demo-0-8",
      "url": "https://example.com/douyin/demo-0-8",
      "text": "科技新品 测试 8 #科技",
      "createTime": 1785664800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 44,
        "commentCount": 10,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1800
      },
      "demo": true
    },
    {
      "id": "demo-0-9",
      "url": "https://example.com/douyin/demo-0-9",
      "text": "科技新品 测试 9 #科技",
      "createTime": 1785754800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 47,
        "commentCount": 11,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1900
      },
      "demo": true
    },
    {
      "id": "demo-0-10",
      "url": "https://example.com/douyin/demo-0-10",
      "text": "科技新品 测试 10 #科技",
      "createTime": 1785844800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 50,
        "commentCount": 12,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2000
      },
      "demo": true
    },
    {
      "id": "demo-0-11",
      "url": "https://example.com/douyin/demo-0-11",
      "text": "科技新品 测试 11 #科技",
      "createTime": 1785934800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 53,
        "commentCount": 13,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2100
      },
      "demo": true
    },
    {
      "id": "demo-0-12",
      "url": "https://example.com/douyin/demo-0-12",
      "text": "科技新品 测试 12 #科技",
      "createTime": 1785981600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 56,
        "commentCount": 14,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2200
      },
      "demo": true
    },
    {
      "id": "demo-0-13",
      "url": "https://example.com/douyin/demo-0-13",
      "text": "科技新品 测试 13 #科技",
      "createTime": 1786071600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 59,
        "commentCount": 15,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2300
      },
      "demo": true
    },
    {
      "id": "demo-0-14",
      "url": "https://example.com/douyin/demo-0-14",
      "text": "科技新品 测试 14 #科技",
      "createTime": 1785556800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 62,
        "commentCount": 16,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2400
      },
      "demo": true
    },
    {
      "id": "demo-0-15",
      "url": "https://example.com/douyin/demo-0-15",
      "text": "科技新品 测试 15 #科技",
      "createTime": 1785646800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 65,
        "commentCount": 17,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2500
      },
      "demo": true
    },
    {
      "id": "demo-0-16",
      "url": "https://example.com/douyin/demo-0-16",
      "text": "科技新品 测试 16 #科技",
      "createTime": 1785736800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 68,
        "commentCount": 18,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2600
      },
      "demo": true
    },
    {
      "id": "demo-0-17",
      "url": "https://example.com/douyin/demo-0-17",
      "text": "科技新品 测试 17 #科技",
      "createTime": 1785826800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 71,
        "commentCount": 19,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2700
      },
      "demo": true
    },
    {
      "id": "demo-0-18",
      "url": "https://example.com/douyin/demo-0-18",
      "text": "科技新品 测试 18 #科技",
      "createTime": 1785916800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 74,
        "commentCount": 20,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2800
      },
      "demo": true
    },
    {
      "id": "demo-0-19",
      "url": "https://example.com/douyin/demo-0-19",
      "text": "科技新品 测试 19 #科技",
      "createTime": 1786006800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 77,
        "commentCount": 21,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2900
      },
      "demo": true
    },
    {
      "id": "demo-1-0",
      "url": "https://example.com/xhs/demo-1-0",
      "title": "生活好物 0",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785549600000,
      "engagement": {
        "liked_count": 30,
        "comments_count": 3,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-1",
      "url": "https://example.com/xhs/demo-1-1",
      "title": "生活好物 1",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785639600000,
      "engagement": {
        "liked_count": 32,
        "comments_count": 4,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-2",
      "url": "https://example.com/xhs/demo-1-2",
      "title": "生活好物 2",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785729600000,
      "engagement": {
        "liked_count": 34,
        "comments_count": 5,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-3",
      "url": "https://example.com/xhs/demo-1-3",
      "title": "生活好物 3",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785819600000,
      "engagement": {
        "liked_count": 36,
        "comments_count": 6,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-4",
      "url": "https://example.com/xhs/demo-1-4",
      "title": "生活好物 4",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785909600000,
      "engagement": {
        "liked_count": 38,
        "comments_count": 7,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-5",
      "url": "https://example.com/xhs/demo-1-5",
      "title": "生活好物 5",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785999600000,
      "engagement": {
        "liked_count": 40,
        "comments_count": 8,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-6",
      "url": "https://example.com/xhs/demo-1-6",
      "title": "生活好物 6",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786089600000,
      "engagement": {
        "liked_count": 42,
        "comments_count": 9,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-7",
      "url": "https://example.com/xhs/demo-1-7",
      "title": "生活好物 7",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785574800000,
      "engagement": {
        "liked_count": 44,
        "comments_count": 10,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-8",
      "url": "https://example.com/xhs/demo-1-8",
      "title": "生活好物 8",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785664800000,
      "engagement": {
        "liked_count": 46,
        "comments_count": 11,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-9",
      "url": "https://example.com/xhs/demo-1-9",
      "title": "生活好物 9",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785754800000,
      "engagement": {
        "liked_count": 48,
        "comments_count": 12,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-10",
      "url": "https://example.com/xhs/demo-1-10",
      "title": "生活好物 10",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785844800000,
      "engagement": {
        "liked_count": 50,
        "comments_count": 13,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-11",
      "url": "https://example.com/xhs/demo-1-11",
      "title": "生活好物 11",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785934800000,
      "engagement": {
        "liked_count": 52,
        "comments_count": 14,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-12",
      "url": "https://example.com/xhs/demo-1-12",
      "title": "生活好物 12",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785981600000,
      "engagement": {
        "liked_count": 54,
        "comments_count": 15,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-13",
      "url": "https://example.com/xhs/demo-1-13",
      "title": "生活好物 13",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786071600000,
      "engagement": {
        "liked_count": 56,
        "comments_count": 16,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-14",
      "url": "https://example.com/xhs/demo-1-14",
      "title": "生活好物 14",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785556800000,
      "engagement": {
        "liked_count": 58,
        "comments_count": 17,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-15",
      "url": "https://example.com/xhs/demo-1-15",
      "title": "生活好物 15",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785646800000,
      "engagement": {
        "liked_count": 60,
        "comments_count": 18,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-16",
      "url": "https://example.com/xhs/demo-1-16",
      "title": "生活好物 16",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785736800000,
      "engagement": {
        "liked_count": 62,
        "comments_count": 19,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-17",
      "url": "https://example.com/xhs/demo-1-17",
      "title": "生活好物 17",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785826800000,
      "engagement": {
        "liked_count": 64,
        "comments_count": 20,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-18",
      "url": "https://example.com/xhs/demo-1-18",
      "title": "生活好物 18",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785916800000,
      "engagement": {
        "liked_count": 66,
        "comments_count": 21,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-19",
      "url": "https://example.com/xhs/demo-1-19",
      "title": "生活好物 19",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786006800000,
      "engagement": {
        "liked_count": 68,
        "comments_count": 22,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-2-0",
      "url": "https://example.com/weibo/demo-2-0",
      "text": "合成新闻 科技发布 0 #科技#",
      "created_at": "Sat, 01 Aug 2026 02:00:00 GMT",
      "attitudes_count": 10,
      "reposts_count": 0,
      "comments_count": 2,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-1",
      "url": "https://example.com/weibo/demo-2-1",
      "text": "合成新闻 科技发布 1 #科技#",
      "created_at": "Sun, 02 Aug 2026 03:00:00 GMT",
      "attitudes_count": 11,
      "reposts_count": 1,
      "comments_count": 3,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-2",
      "url": "https://example.com/weibo/demo-2-2",
      "text": "合成新闻 科技发布 2 #科技#",
      "created_at": "Mon, 03 Aug 2026 04:00:00 GMT",
      "attitudes_count": 12,
      "reposts_count": 2,
      "comments_count": 4,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-3",
      "url": "https://example.com/weibo/demo-2-3",
      "text": "合成新闻 科技发布 3 #科技#",
      "created_at": "Tue, 04 Aug 2026 05:00:00 GMT",
      "attitudes_count": 13,
      "reposts_count": 3,
      "comments_count": 5,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-4",
      "url": "https://example.com/weibo/demo-2-4",
      "text": "合成新闻 科技发布 4 #科技#",
      "created_at": "Wed, 05 Aug 2026 06:00:00 GMT",
      "attitudes_count": 14,
      "reposts_count": 0,
      "comments_count": 6,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-5",
      "url": "https://example.com/weibo/demo-2-5",
      "text": "合成新闻 科技发布 5 #科技#",
      "created_at": "Thu, 06 Aug 2026 07:00:00 GMT",
      "attitudes_count": 15,
      "reposts_count": 1,
      "comments_count": 7,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-6",
      "url": "https://example.com/weibo/demo-2-6",
      "text": "合成新闻 科技发布 6 #科技#",
      "created_at": "Fri, 07 Aug 2026 08:00:00 GMT",
      "attitudes_count": 16,
      "reposts_count": 2,
      "comments_count": 8,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-7",
      "url": "https://example.com/weibo/demo-2-7",
      "text": "合成新闻 科技发布 7 #科技#",
      "created_at": "Sat, 01 Aug 2026 09:00:00 GMT",
      "attitudes_count": 17,
      "reposts_count": 3,
      "comments_count": 9,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-8",
      "url": "https://example.com/weibo/demo-2-8",
      "text": "合成新闻 科技发布 8 #科技#",
      "created_at": "Sun, 02 Aug 2026 10:00:00 GMT",
      "attitudes_count": 18,
      "reposts_count": 0,
      "comments_count": 10,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-9",
      "url": "https://example.com/weibo/demo-2-9",
      "text": "合成新闻 科技发布 9 #科技#",
      "created_at": "Mon, 03 Aug 2026 11:00:00 GMT",
      "attitudes_count": 19,
      "reposts_count": 1,
      "comments_count": 11,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-10",
      "url": "https://example.com/weibo/demo-2-10",
      "text": "合成新闻 科技发布 10 #科技#",
      "created_at": "Tue, 04 Aug 2026 12:00:00 GMT",
      "attitudes_count": 20,
      "reposts_count": 2,
      "comments_count": 12,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-11",
      "url": "https://example.com/weibo/demo-2-11",
      "text": "合成新闻 科技发布 11 #科技#",
      "created_at": "Wed, 05 Aug 2026 13:00:00 GMT",
      "attitudes_count": 21,
      "reposts_count": 3,
      "comments_count": 13,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-12",
      "url": "https://example.com/weibo/demo-2-12",
      "text": "合成新闻 科技发布 12 #科技#",
      "created_at": "Thu, 06 Aug 2026 02:00:00 GMT",
      "attitudes_count": 22,
      "reposts_count": 0,
      "comments_count": 14,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-13",
      "url": "https://example.com/weibo/demo-2-13",
      "text": "合成新闻 科技发布 13 #科技#",
      "created_at": "Fri, 07 Aug 2026 03:00:00 GMT",
      "attitudes_count": 23,
      "reposts_count": 1,
      "comments_count": 15,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-14",
      "url": "https://example.com/weibo/demo-2-14",
      "text": "合成新闻 科技发布 14 #科技#",
      "created_at": "Sat, 01 Aug 2026 04:00:00 GMT",
      "attitudes_count": 24,
      "reposts_count": 2,
      "comments_count": 16,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-15",
      "url": "https://example.com/weibo/demo-2-15",
      "text": "合成新闻 科技发布 15 #科技#",
      "created_at": "Sun, 02 Aug 2026 05:00:00 GMT",
      "attitudes_count": 25,
      "reposts_count": 3,
      "comments_count": 17,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-16",
      "url": "https://example.com/weibo/demo-2-16",
      "text": "合成新闻 科技发布 16 #科技#",
      "created_at": "Mon, 03 Aug 2026 06:00:00 GMT",
      "attitudes_count": 26,
      "reposts_count": 0,
      "comments_count": 18,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-17",
      "url": "https://example.com/weibo/demo-2-17",
      "text": "合成新闻 科技发布 17 #科技#",
      "created_at": "Tue, 04 Aug 2026 07:00:00 GMT",
      "attitudes_count": 27,
      "reposts_count": 1,
      "comments_count": 19,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-18",
      "url": "https://example.com/weibo/demo-2-18",
      "text": "合成新闻 科技发布 18 #科技#",
      "created_at": "Wed, 05 Aug 2026 08:00:00 GMT",
      "attitudes_count": 28,
      "reposts_count": 2,
      "comments_count": 20,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-19",
      "url": "https://example.com/weibo/demo-2-19",
      "text": "合成新闻 科技发布 19 #科技#",
      "created_at": "Thu, 06 Aug 2026 09:00:00 GMT",
      "attitudes_count": 29,
      "reposts_count": 3,
      "comments_count": 21,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    }
  ],
  "datasetId": "buyerDatasetId",
  "fieldMap": {},
  "platform": "auto",
  "timezone": "Asia/Shanghai",
  "engagementDenominator": "views",
  "topCreators": 6,
  "topHashtags": 10,
  "topPosts": 5,
  "topWords": 10,
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "rows": [
        {
            "id": "demo-0-0",
            "url": "https://example.com/douyin/demo-0-0",
            "text": "科技新品 测试 0 #科技",
            "createTime": 1785549600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 20,
                "commentCount": 2,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1000
            },
            "demo": true
        },
        {
            "id": "demo-0-1",
            "url": "https://example.com/douyin/demo-0-1",
            "text": "科技新品 测试 1 #科技",
            "createTime": 1785639600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 23,
                "commentCount": 3,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1100
            },
            "demo": true
        },
        {
            "id": "demo-0-2",
            "url": "https://example.com/douyin/demo-0-2",
            "text": "科技新品 测试 2 #科技",
            "createTime": 1785729600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 26,
                "commentCount": 4,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1200
            },
            "demo": true
        },
        {
            "id": "demo-0-3",
            "url": "https://example.com/douyin/demo-0-3",
            "text": "科技新品 测试 3 #科技",
            "createTime": 1785819600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 29,
                "commentCount": 5,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1300
            },
            "demo": true
        },
        {
            "id": "demo-0-4",
            "url": "https://example.com/douyin/demo-0-4",
            "text": "科技新品 测试 4 #科技",
            "createTime": 1785909600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 32,
                "commentCount": 6,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1400
            },
            "demo": true
        },
        {
            "id": "demo-0-5",
            "url": "https://example.com/douyin/demo-0-5",
            "text": "科技新品 测试 5 #科技",
            "createTime": 1785999600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 35,
                "commentCount": 7,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1500
            },
            "demo": true
        },
        {
            "id": "demo-0-6",
            "url": "https://example.com/douyin/demo-0-6",
            "text": "科技新品 测试 6 #科技",
            "createTime": 1786089600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 38,
                "commentCount": 8,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1600
            },
            "demo": true
        },
        {
            "id": "demo-0-7",
            "url": "https://example.com/douyin/demo-0-7",
            "text": "科技新品 测试 7 #科技",
            "createTime": 1785574800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 41,
                "commentCount": 9,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1700
            },
            "demo": true
        },
        {
            "id": "demo-0-8",
            "url": "https://example.com/douyin/demo-0-8",
            "text": "科技新品 测试 8 #科技",
            "createTime": 1785664800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 44,
                "commentCount": 10,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1800
            },
            "demo": true
        },
        {
            "id": "demo-0-9",
            "url": "https://example.com/douyin/demo-0-9",
            "text": "科技新品 测试 9 #科技",
            "createTime": 1785754800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 47,
                "commentCount": 11,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1900
            },
            "demo": true
        },
        {
            "id": "demo-0-10",
            "url": "https://example.com/douyin/demo-0-10",
            "text": "科技新品 测试 10 #科技",
            "createTime": 1785844800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 50,
                "commentCount": 12,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2000
            },
            "demo": true
        },
        {
            "id": "demo-0-11",
            "url": "https://example.com/douyin/demo-0-11",
            "text": "科技新品 测试 11 #科技",
            "createTime": 1785934800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 53,
                "commentCount": 13,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2100
            },
            "demo": true
        },
        {
            "id": "demo-0-12",
            "url": "https://example.com/douyin/demo-0-12",
            "text": "科技新品 测试 12 #科技",
            "createTime": 1785981600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 56,
                "commentCount": 14,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2200
            },
            "demo": true
        },
        {
            "id": "demo-0-13",
            "url": "https://example.com/douyin/demo-0-13",
            "text": "科技新品 测试 13 #科技",
            "createTime": 1786071600,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 59,
                "commentCount": 15,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2300
            },
            "demo": true
        },
        {
            "id": "demo-0-14",
            "url": "https://example.com/douyin/demo-0-14",
            "text": "科技新品 测试 14 #科技",
            "createTime": 1785556800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 62,
                "commentCount": 16,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2400
            },
            "demo": true
        },
        {
            "id": "demo-0-15",
            "url": "https://example.com/douyin/demo-0-15",
            "text": "科技新品 测试 15 #科技",
            "createTime": 1785646800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 65,
                "commentCount": 17,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2500
            },
            "demo": true
        },
        {
            "id": "demo-0-16",
            "url": "https://example.com/douyin/demo-0-16",
            "text": "科技新品 测试 16 #科技",
            "createTime": 1785736800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 68,
                "commentCount": 18,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2600
            },
            "demo": true
        },
        {
            "id": "demo-0-17",
            "url": "https://example.com/douyin/demo-0-17",
            "text": "科技新品 测试 17 #科技",
            "createTime": 1785826800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 71,
                "commentCount": 19,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2700
            },
            "demo": true
        },
        {
            "id": "demo-0-18",
            "url": "https://example.com/douyin/demo-0-18",
            "text": "科技新品 测试 18 #科技",
            "createTime": 1785916800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": false
            },
            "statistics": {
                "diggCount": 74,
                "commentCount": 20,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2800
            },
            "demo": true
        },
        {
            "id": "demo-0-19",
            "url": "https://example.com/douyin/demo-0-19",
            "text": "科技新品 测试 19 #科技",
            "createTime": 1786006800,
            "hashtags": [
                "科技",
                "新品"
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": false
            },
            "statistics": {
                "diggCount": 77,
                "commentCount": 21,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2900
            },
            "demo": true
        },
        {
            "id": "demo-1-0",
            "url": "https://example.com/xhs/demo-1-0",
            "title": "生活好物 0",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785549600000,
            "engagement": {
                "liked_count": 30,
                "comments_count": 3,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-1",
            "url": "https://example.com/xhs/demo-1-1",
            "title": "生活好物 1",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785639600000,
            "engagement": {
                "liked_count": 32,
                "comments_count": 4,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-2",
            "url": "https://example.com/xhs/demo-1-2",
            "title": "生活好物 2",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785729600000,
            "engagement": {
                "liked_count": 34,
                "comments_count": 5,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-3",
            "url": "https://example.com/xhs/demo-1-3",
            "title": "生活好物 3",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785819600000,
            "engagement": {
                "liked_count": 36,
                "comments_count": 6,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-4",
            "url": "https://example.com/xhs/demo-1-4",
            "title": "生活好物 4",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785909600000,
            "engagement": {
                "liked_count": 38,
                "comments_count": 7,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-5",
            "url": "https://example.com/xhs/demo-1-5",
            "title": "生活好物 5",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785999600000,
            "engagement": {
                "liked_count": 40,
                "comments_count": 8,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-6",
            "url": "https://example.com/xhs/demo-1-6",
            "title": "生活好物 6",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786089600000,
            "engagement": {
                "liked_count": 42,
                "comments_count": 9,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-7",
            "url": "https://example.com/xhs/demo-1-7",
            "title": "生活好物 7",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785574800000,
            "engagement": {
                "liked_count": 44,
                "comments_count": 10,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-8",
            "url": "https://example.com/xhs/demo-1-8",
            "title": "生活好物 8",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785664800000,
            "engagement": {
                "liked_count": 46,
                "comments_count": 11,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-9",
            "url": "https://example.com/xhs/demo-1-9",
            "title": "生活好物 9",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785754800000,
            "engagement": {
                "liked_count": 48,
                "comments_count": 12,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-10",
            "url": "https://example.com/xhs/demo-1-10",
            "title": "生活好物 10",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785844800000,
            "engagement": {
                "liked_count": 50,
                "comments_count": 13,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-11",
            "url": "https://example.com/xhs/demo-1-11",
            "title": "生活好物 11",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785934800000,
            "engagement": {
                "liked_count": 52,
                "comments_count": 14,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-12",
            "url": "https://example.com/xhs/demo-1-12",
            "title": "生活好物 12",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785981600000,
            "engagement": {
                "liked_count": 54,
                "comments_count": 15,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-13",
            "url": "https://example.com/xhs/demo-1-13",
            "title": "生活好物 13",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786071600000,
            "engagement": {
                "liked_count": 56,
                "comments_count": 16,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-14",
            "url": "https://example.com/xhs/demo-1-14",
            "title": "生活好物 14",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785556800000,
            "engagement": {
                "liked_count": 58,
                "comments_count": 17,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-15",
            "url": "https://example.com/xhs/demo-1-15",
            "title": "生活好物 15",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785646800000,
            "engagement": {
                "liked_count": 60,
                "comments_count": 18,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-16",
            "url": "https://example.com/xhs/demo-1-16",
            "title": "生活好物 16",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785736800000,
            "engagement": {
                "liked_count": 62,
                "comments_count": 19,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-17",
            "url": "https://example.com/xhs/demo-1-17",
            "title": "生活好物 17",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785826800000,
            "engagement": {
                "liked_count": 64,
                "comments_count": 20,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-18",
            "url": "https://example.com/xhs/demo-1-18",
            "title": "生活好物 18",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785916800000,
            "engagement": {
                "liked_count": 66,
                "comments_count": 21,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-1-19",
            "url": "https://example.com/xhs/demo-1-19",
            "title": "生活好物 19",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786006800000,
            "engagement": {
                "liked_count": 68,
                "comments_count": 22,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": false
            },
            "tag_info": {
                "title": "生活"
            },
            "keyword": "好物",
            "type": "normal",
            "demo": true
        },
        {
            "id": "demo-2-0",
            "url": "https://example.com/weibo/demo-2-0",
            "text": "合成新闻 科技发布 0 #科技#",
            "created_at": "Sat, 01 Aug 2026 02:00:00 GMT",
            "attitudes_count": 10,
            "reposts_count": 0,
            "comments_count": 2,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-1",
            "url": "https://example.com/weibo/demo-2-1",
            "text": "合成新闻 科技发布 1 #科技#",
            "created_at": "Sun, 02 Aug 2026 03:00:00 GMT",
            "attitudes_count": 11,
            "reposts_count": 1,
            "comments_count": 3,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-2",
            "url": "https://example.com/weibo/demo-2-2",
            "text": "合成新闻 科技发布 2 #科技#",
            "created_at": "Mon, 03 Aug 2026 04:00:00 GMT",
            "attitudes_count": 12,
            "reposts_count": 2,
            "comments_count": 4,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-3",
            "url": "https://example.com/weibo/demo-2-3",
            "text": "合成新闻 科技发布 3 #科技#",
            "created_at": "Tue, 04 Aug 2026 05:00:00 GMT",
            "attitudes_count": 13,
            "reposts_count": 3,
            "comments_count": 5,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-4",
            "url": "https://example.com/weibo/demo-2-4",
            "text": "合成新闻 科技发布 4 #科技#",
            "created_at": "Wed, 05 Aug 2026 06:00:00 GMT",
            "attitudes_count": 14,
            "reposts_count": 0,
            "comments_count": 6,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-5",
            "url": "https://example.com/weibo/demo-2-5",
            "text": "合成新闻 科技发布 5 #科技#",
            "created_at": "Thu, 06 Aug 2026 07:00:00 GMT",
            "attitudes_count": 15,
            "reposts_count": 1,
            "comments_count": 7,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-6",
            "url": "https://example.com/weibo/demo-2-6",
            "text": "合成新闻 科技发布 6 #科技#",
            "created_at": "Fri, 07 Aug 2026 08:00:00 GMT",
            "attitudes_count": 16,
            "reposts_count": 2,
            "comments_count": 8,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-7",
            "url": "https://example.com/weibo/demo-2-7",
            "text": "合成新闻 科技发布 7 #科技#",
            "created_at": "Sat, 01 Aug 2026 09:00:00 GMT",
            "attitudes_count": 17,
            "reposts_count": 3,
            "comments_count": 9,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-8",
            "url": "https://example.com/weibo/demo-2-8",
            "text": "合成新闻 科技发布 8 #科技#",
            "created_at": "Sun, 02 Aug 2026 10:00:00 GMT",
            "attitudes_count": 18,
            "reposts_count": 0,
            "comments_count": 10,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-9",
            "url": "https://example.com/weibo/demo-2-9",
            "text": "合成新闻 科技发布 9 #科技#",
            "created_at": "Mon, 03 Aug 2026 11:00:00 GMT",
            "attitudes_count": 19,
            "reposts_count": 1,
            "comments_count": 11,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-10",
            "url": "https://example.com/weibo/demo-2-10",
            "text": "合成新闻 科技发布 10 #科技#",
            "created_at": "Tue, 04 Aug 2026 12:00:00 GMT",
            "attitudes_count": 20,
            "reposts_count": 2,
            "comments_count": 12,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-11",
            "url": "https://example.com/weibo/demo-2-11",
            "text": "合成新闻 科技发布 11 #科技#",
            "created_at": "Wed, 05 Aug 2026 13:00:00 GMT",
            "attitudes_count": 21,
            "reposts_count": 3,
            "comments_count": 13,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-12",
            "url": "https://example.com/weibo/demo-2-12",
            "text": "合成新闻 科技发布 12 #科技#",
            "created_at": "Thu, 06 Aug 2026 02:00:00 GMT",
            "attitudes_count": 22,
            "reposts_count": 0,
            "comments_count": 14,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-13",
            "url": "https://example.com/weibo/demo-2-13",
            "text": "合成新闻 科技发布 13 #科技#",
            "created_at": "Fri, 07 Aug 2026 03:00:00 GMT",
            "attitudes_count": 23,
            "reposts_count": 1,
            "comments_count": 15,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-14",
            "url": "https://example.com/weibo/demo-2-14",
            "text": "合成新闻 科技发布 14 #科技#",
            "created_at": "Sat, 01 Aug 2026 04:00:00 GMT",
            "attitudes_count": 24,
            "reposts_count": 2,
            "comments_count": 16,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-15",
            "url": "https://example.com/weibo/demo-2-15",
            "text": "合成新闻 科技发布 15 #科技#",
            "created_at": "Sun, 02 Aug 2026 05:00:00 GMT",
            "attitudes_count": 25,
            "reposts_count": 3,
            "comments_count": 17,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-16",
            "url": "https://example.com/weibo/demo-2-16",
            "text": "合成新闻 科技发布 16 #科技#",
            "created_at": "Mon, 03 Aug 2026 06:00:00 GMT",
            "attitudes_count": 26,
            "reposts_count": 0,
            "comments_count": 18,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-17",
            "url": "https://example.com/weibo/demo-2-17",
            "text": "合成新闻 科技发布 17 #科技#",
            "created_at": "Tue, 04 Aug 2026 07:00:00 GMT",
            "attitudes_count": 27,
            "reposts_count": 1,
            "comments_count": 19,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-18",
            "url": "https://example.com/weibo/demo-2-18",
            "text": "合成新闻 科技发布 18 #科技#",
            "created_at": "Wed, 05 Aug 2026 08:00:00 GMT",
            "attitudes_count": 28,
            "reposts_count": 2,
            "comments_count": 20,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000
            },
            "demo": true
        },
        {
            "id": "demo-2-19",
            "url": "https://example.com/weibo/demo-2-19",
            "text": "合成新闻 科技发布 19 #科技#",
            "created_at": "Thu, 06 Aug 2026 09:00:00 GMT",
            "attitudes_count": 29,
            "reposts_count": 3,
            "comments_count": 21,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000
            },
            "demo": true
        }
    ],
    "fieldMap": {},
    "platform": "auto",
    "timezone": "Asia/Shanghai",
    "engagementDenominator": "views",
    "topCreators": 6,
    "topHashtags": 10,
    "topPosts": 5,
    "topWords": 10,
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("zinin/douyin-xiaohongshu-weibo-analytics-report-builder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "rows": [
        {
            "id": "demo-0-0",
            "url": "https://example.com/douyin/demo-0-0",
            "text": "科技新品 测试 0 #科技",
            "createTime": 1785549600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 20,
                "commentCount": 2,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1000,
            },
            "demo": True,
        },
        {
            "id": "demo-0-1",
            "url": "https://example.com/douyin/demo-0-1",
            "text": "科技新品 测试 1 #科技",
            "createTime": 1785639600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 23,
                "commentCount": 3,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1100,
            },
            "demo": True,
        },
        {
            "id": "demo-0-2",
            "url": "https://example.com/douyin/demo-0-2",
            "text": "科技新品 测试 2 #科技",
            "createTime": 1785729600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 26,
                "commentCount": 4,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1200,
            },
            "demo": True,
        },
        {
            "id": "demo-0-3",
            "url": "https://example.com/douyin/demo-0-3",
            "text": "科技新品 测试 3 #科技",
            "createTime": 1785819600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 29,
                "commentCount": 5,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1300,
            },
            "demo": True,
        },
        {
            "id": "demo-0-4",
            "url": "https://example.com/douyin/demo-0-4",
            "text": "科技新品 测试 4 #科技",
            "createTime": 1785909600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 32,
                "commentCount": 6,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1400,
            },
            "demo": True,
        },
        {
            "id": "demo-0-5",
            "url": "https://example.com/douyin/demo-0-5",
            "text": "科技新品 测试 5 #科技",
            "createTime": 1785999600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 35,
                "commentCount": 7,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1500,
            },
            "demo": True,
        },
        {
            "id": "demo-0-6",
            "url": "https://example.com/douyin/demo-0-6",
            "text": "科技新品 测试 6 #科技",
            "createTime": 1786089600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 38,
                "commentCount": 8,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1600,
            },
            "demo": True,
        },
        {
            "id": "demo-0-7",
            "url": "https://example.com/douyin/demo-0-7",
            "text": "科技新品 测试 7 #科技",
            "createTime": 1785574800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 41,
                "commentCount": 9,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 1700,
            },
            "demo": True,
        },
        {
            "id": "demo-0-8",
            "url": "https://example.com/douyin/demo-0-8",
            "text": "科技新品 测试 8 #科技",
            "createTime": 1785664800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 44,
                "commentCount": 10,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 1800,
            },
            "demo": True,
        },
        {
            "id": "demo-0-9",
            "url": "https://example.com/douyin/demo-0-9",
            "text": "科技新品 测试 9 #科技",
            "createTime": 1785754800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 47,
                "commentCount": 11,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 1900,
            },
            "demo": True,
        },
        {
            "id": "demo-0-10",
            "url": "https://example.com/douyin/demo-0-10",
            "text": "科技新品 测试 10 #科技",
            "createTime": 1785844800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 50,
                "commentCount": 12,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-0-11",
            "url": "https://example.com/douyin/demo-0-11",
            "text": "科技新品 测试 11 #科技",
            "createTime": 1785934800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 53,
                "commentCount": 13,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2100,
            },
            "demo": True,
        },
        {
            "id": "demo-0-12",
            "url": "https://example.com/douyin/demo-0-12",
            "text": "科技新品 测试 12 #科技",
            "createTime": 1785981600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 56,
                "commentCount": 14,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2200,
            },
            "demo": True,
        },
        {
            "id": "demo-0-13",
            "url": "https://example.com/douyin/demo-0-13",
            "text": "科技新品 测试 13 #科技",
            "createTime": 1786071600,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 59,
                "commentCount": 15,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2300,
            },
            "demo": True,
        },
        {
            "id": "demo-0-14",
            "url": "https://example.com/douyin/demo-0-14",
            "text": "科技新品 测试 14 #科技",
            "createTime": 1785556800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 62,
                "commentCount": 16,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2400,
            },
            "demo": True,
        },
        {
            "id": "demo-0-15",
            "url": "https://example.com/douyin/demo-0-15",
            "text": "科技新品 测试 15 #科技",
            "createTime": 1785646800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 65,
                "commentCount": 17,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2500,
            },
            "demo": True,
        },
        {
            "id": "demo-0-16",
            "url": "https://example.com/douyin/demo-0-16",
            "text": "科技新品 测试 16 #科技",
            "createTime": 1785736800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 68,
                "commentCount": 18,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2600,
            },
            "demo": True,
        },
        {
            "id": "demo-0-17",
            "url": "https://example.com/douyin/demo-0-17",
            "text": "科技新品 测试 17 #科技",
            "createTime": 1785826800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 71,
                "commentCount": 19,
                "shareCount": 3,
                "collectCount": 4,
                "playCount": 2700,
            },
            "demo": True,
        },
        {
            "id": "demo-0-18",
            "url": "https://example.com/douyin/demo-0-18",
            "text": "科技新品 测试 18 #科技",
            "createTime": 1785916800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d0",
                "name": "Demo Douyin 0",
                "username": "demo_d0",
                "followersCount": 1000,
                "verified": False,
            },
            "statistics": {
                "diggCount": 74,
                "commentCount": 20,
                "shareCount": 1,
                "collectCount": 4,
                "playCount": 2800,
            },
            "demo": True,
        },
        {
            "id": "demo-0-19",
            "url": "https://example.com/douyin/demo-0-19",
            "text": "科技新品 测试 19 #科技",
            "createTime": 1786006800,
            "hashtags": [
                "科技",
                "新品",
            ],
            "authorMeta": {
                "id": "d1",
                "name": "Demo Douyin 1",
                "username": "demo_d1",
                "followersCount": 1500,
                "verified": False,
            },
            "statistics": {
                "diggCount": 77,
                "commentCount": 21,
                "shareCount": 2,
                "collectCount": 4,
                "playCount": 2900,
            },
            "demo": True,
        },
        {
            "id": "demo-1-0",
            "url": "https://example.com/xhs/demo-1-0",
            "title": "生活好物 0",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785549600000,
            "engagement": {
                "liked_count": 30,
                "comments_count": 3,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-1",
            "url": "https://example.com/xhs/demo-1-1",
            "title": "生活好物 1",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785639600000,
            "engagement": {
                "liked_count": 32,
                "comments_count": 4,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-2",
            "url": "https://example.com/xhs/demo-1-2",
            "title": "生活好物 2",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785729600000,
            "engagement": {
                "liked_count": 34,
                "comments_count": 5,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-3",
            "url": "https://example.com/xhs/demo-1-3",
            "title": "生活好物 3",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785819600000,
            "engagement": {
                "liked_count": 36,
                "comments_count": 6,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-4",
            "url": "https://example.com/xhs/demo-1-4",
            "title": "生活好物 4",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785909600000,
            "engagement": {
                "liked_count": 38,
                "comments_count": 7,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-5",
            "url": "https://example.com/xhs/demo-1-5",
            "title": "生活好物 5",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785999600000,
            "engagement": {
                "liked_count": 40,
                "comments_count": 8,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-6",
            "url": "https://example.com/xhs/demo-1-6",
            "title": "生活好物 6",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786089600000,
            "engagement": {
                "liked_count": 42,
                "comments_count": 9,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-7",
            "url": "https://example.com/xhs/demo-1-7",
            "title": "生活好物 7",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785574800000,
            "engagement": {
                "liked_count": 44,
                "comments_count": 10,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-8",
            "url": "https://example.com/xhs/demo-1-8",
            "title": "生活好物 8",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785664800000,
            "engagement": {
                "liked_count": 46,
                "comments_count": 11,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-9",
            "url": "https://example.com/xhs/demo-1-9",
            "title": "生活好物 9",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785754800000,
            "engagement": {
                "liked_count": 48,
                "comments_count": 12,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-10",
            "url": "https://example.com/xhs/demo-1-10",
            "title": "生活好物 10",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785844800000,
            "engagement": {
                "liked_count": 50,
                "comments_count": 13,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-11",
            "url": "https://example.com/xhs/demo-1-11",
            "title": "生活好物 11",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785934800000,
            "engagement": {
                "liked_count": 52,
                "comments_count": 14,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-12",
            "url": "https://example.com/xhs/demo-1-12",
            "title": "生活好物 12",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785981600000,
            "engagement": {
                "liked_count": 54,
                "comments_count": 15,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-13",
            "url": "https://example.com/xhs/demo-1-13",
            "title": "生活好物 13",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786071600000,
            "engagement": {
                "liked_count": 56,
                "comments_count": 16,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-14",
            "url": "https://example.com/xhs/demo-1-14",
            "title": "生活好物 14",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785556800000,
            "engagement": {
                "liked_count": 58,
                "comments_count": 17,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-15",
            "url": "https://example.com/xhs/demo-1-15",
            "title": "生活好物 15",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785646800000,
            "engagement": {
                "liked_count": 60,
                "comments_count": 18,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-16",
            "url": "https://example.com/xhs/demo-1-16",
            "title": "生活好物 16",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785736800000,
            "engagement": {
                "liked_count": 62,
                "comments_count": 19,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-17",
            "url": "https://example.com/xhs/demo-1-17",
            "title": "生活好物 17",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785826800000,
            "engagement": {
                "liked_count": 64,
                "comments_count": 20,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-18",
            "url": "https://example.com/xhs/demo-1-18",
            "title": "生活好物 18",
            "desc": "合成商品分享 #生活",
            "timestamp": 1785916800000,
            "engagement": {
                "liked_count": 66,
                "comments_count": 21,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x0",
                "nickname": "Demo XHS 0",
                "red_id": "demo_x0",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-1-19",
            "url": "https://example.com/xhs/demo-1-19",
            "title": "生活好物 19",
            "desc": "合成商品分享 #生活",
            "timestamp": 1786006800000,
            "engagement": {
                "liked_count": 68,
                "comments_count": 22,
                "shared_count": 2,
                "collected_count": 5,
                "nice_count": 99,
            },
            "author": {
                "userid": "x1",
                "nickname": "Demo XHS 1",
                "red_id": "demo_x1",
                "verified": False,
            },
            "tag_info": { "title": "生活" },
            "keyword": "好物",
            "type": "normal",
            "demo": True,
        },
        {
            "id": "demo-2-0",
            "url": "https://example.com/weibo/demo-2-0",
            "text": "合成新闻 科技发布 0 #科技#",
            "created_at": "Sat, 01 Aug 2026 02:00:00 GMT",
            "attitudes_count": 10,
            "reposts_count": 0,
            "comments_count": 2,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-1",
            "url": "https://example.com/weibo/demo-2-1",
            "text": "合成新闻 科技发布 1 #科技#",
            "created_at": "Sun, 02 Aug 2026 03:00:00 GMT",
            "attitudes_count": 11,
            "reposts_count": 1,
            "comments_count": 3,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-2",
            "url": "https://example.com/weibo/demo-2-2",
            "text": "合成新闻 科技发布 2 #科技#",
            "created_at": "Mon, 03 Aug 2026 04:00:00 GMT",
            "attitudes_count": 12,
            "reposts_count": 2,
            "comments_count": 4,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-3",
            "url": "https://example.com/weibo/demo-2-3",
            "text": "合成新闻 科技发布 3 #科技#",
            "created_at": "Tue, 04 Aug 2026 05:00:00 GMT",
            "attitudes_count": 13,
            "reposts_count": 3,
            "comments_count": 5,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-4",
            "url": "https://example.com/weibo/demo-2-4",
            "text": "合成新闻 科技发布 4 #科技#",
            "created_at": "Wed, 05 Aug 2026 06:00:00 GMT",
            "attitudes_count": 14,
            "reposts_count": 0,
            "comments_count": 6,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-5",
            "url": "https://example.com/weibo/demo-2-5",
            "text": "合成新闻 科技发布 5 #科技#",
            "created_at": "Thu, 06 Aug 2026 07:00:00 GMT",
            "attitudes_count": 15,
            "reposts_count": 1,
            "comments_count": 7,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-6",
            "url": "https://example.com/weibo/demo-2-6",
            "text": "合成新闻 科技发布 6 #科技#",
            "created_at": "Fri, 07 Aug 2026 08:00:00 GMT",
            "attitudes_count": 16,
            "reposts_count": 2,
            "comments_count": 8,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-7",
            "url": "https://example.com/weibo/demo-2-7",
            "text": "合成新闻 科技发布 7 #科技#",
            "created_at": "Sat, 01 Aug 2026 09:00:00 GMT",
            "attitudes_count": 17,
            "reposts_count": 3,
            "comments_count": 9,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-8",
            "url": "https://example.com/weibo/demo-2-8",
            "text": "合成新闻 科技发布 8 #科技#",
            "created_at": "Sun, 02 Aug 2026 10:00:00 GMT",
            "attitudes_count": 18,
            "reposts_count": 0,
            "comments_count": 10,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-9",
            "url": "https://example.com/weibo/demo-2-9",
            "text": "合成新闻 科技发布 9 #科技#",
            "created_at": "Mon, 03 Aug 2026 11:00:00 GMT",
            "attitudes_count": 19,
            "reposts_count": 1,
            "comments_count": 11,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-10",
            "url": "https://example.com/weibo/demo-2-10",
            "text": "合成新闻 科技发布 10 #科技#",
            "created_at": "Tue, 04 Aug 2026 12:00:00 GMT",
            "attitudes_count": 20,
            "reposts_count": 2,
            "comments_count": 12,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-11",
            "url": "https://example.com/weibo/demo-2-11",
            "text": "合成新闻 科技发布 11 #科技#",
            "created_at": "Wed, 05 Aug 2026 13:00:00 GMT",
            "attitudes_count": 21,
            "reposts_count": 3,
            "comments_count": 13,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-12",
            "url": "https://example.com/weibo/demo-2-12",
            "text": "合成新闻 科技发布 12 #科技#",
            "created_at": "Thu, 06 Aug 2026 02:00:00 GMT",
            "attitudes_count": 22,
            "reposts_count": 0,
            "comments_count": 14,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-13",
            "url": "https://example.com/weibo/demo-2-13",
            "text": "合成新闻 科技发布 13 #科技#",
            "created_at": "Fri, 07 Aug 2026 03:00:00 GMT",
            "attitudes_count": 23,
            "reposts_count": 1,
            "comments_count": 15,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-14",
            "url": "https://example.com/weibo/demo-2-14",
            "text": "合成新闻 科技发布 14 #科技#",
            "created_at": "Sat, 01 Aug 2026 04:00:00 GMT",
            "attitudes_count": 24,
            "reposts_count": 2,
            "comments_count": 16,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-15",
            "url": "https://example.com/weibo/demo-2-15",
            "text": "合成新闻 科技发布 15 #科技#",
            "created_at": "Sun, 02 Aug 2026 05:00:00 GMT",
            "attitudes_count": 25,
            "reposts_count": 3,
            "comments_count": 17,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-16",
            "url": "https://example.com/weibo/demo-2-16",
            "text": "合成新闻 科技发布 16 #科技#",
            "created_at": "Mon, 03 Aug 2026 06:00:00 GMT",
            "attitudes_count": 26,
            "reposts_count": 0,
            "comments_count": 18,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-17",
            "url": "https://example.com/weibo/demo-2-17",
            "text": "合成新闻 科技发布 17 #科技#",
            "created_at": "Tue, 04 Aug 2026 07:00:00 GMT",
            "attitudes_count": 27,
            "reposts_count": 1,
            "comments_count": 19,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-18",
            "url": "https://example.com/weibo/demo-2-18",
            "text": "合成新闻 科技发布 18 #科技#",
            "created_at": "Wed, 05 Aug 2026 08:00:00 GMT",
            "attitudes_count": 28,
            "reposts_count": 2,
            "comments_count": 20,
            "user": {
                "id": "w0",
                "screen_name": "Demo Weibo 0",
                "followers_count": 2000,
            },
            "demo": True,
        },
        {
            "id": "demo-2-19",
            "url": "https://example.com/weibo/demo-2-19",
            "text": "合成新闻 科技发布 19 #科技#",
            "created_at": "Thu, 06 Aug 2026 09:00:00 GMT",
            "attitudes_count": 29,
            "reposts_count": 3,
            "comments_count": 21,
            "user": {
                "id": "w1",
                "screen_name": "Demo Weibo 1",
                "followers_count": 2000,
            },
            "demo": True,
        },
    ],
    "fieldMap": {},
    "platform": "auto",
    "timezone": "Asia/Shanghai",
    "engagementDenominator": "views",
    "topCreators": 6,
    "topHashtags": 10,
    "topPosts": 5,
    "topWords": 10,
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("zinin/douyin-xiaohongshu-weibo-analytics-report-builder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "rows": [
    {
      "id": "demo-0-0",
      "url": "https://example.com/douyin/demo-0-0",
      "text": "科技新品 测试 0 #科技",
      "createTime": 1785549600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 20,
        "commentCount": 2,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1000
      },
      "demo": true
    },
    {
      "id": "demo-0-1",
      "url": "https://example.com/douyin/demo-0-1",
      "text": "科技新品 测试 1 #科技",
      "createTime": 1785639600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 23,
        "commentCount": 3,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1100
      },
      "demo": true
    },
    {
      "id": "demo-0-2",
      "url": "https://example.com/douyin/demo-0-2",
      "text": "科技新品 测试 2 #科技",
      "createTime": 1785729600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 26,
        "commentCount": 4,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1200
      },
      "demo": true
    },
    {
      "id": "demo-0-3",
      "url": "https://example.com/douyin/demo-0-3",
      "text": "科技新品 测试 3 #科技",
      "createTime": 1785819600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 29,
        "commentCount": 5,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1300
      },
      "demo": true
    },
    {
      "id": "demo-0-4",
      "url": "https://example.com/douyin/demo-0-4",
      "text": "科技新品 测试 4 #科技",
      "createTime": 1785909600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 32,
        "commentCount": 6,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1400
      },
      "demo": true
    },
    {
      "id": "demo-0-5",
      "url": "https://example.com/douyin/demo-0-5",
      "text": "科技新品 测试 5 #科技",
      "createTime": 1785999600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 35,
        "commentCount": 7,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1500
      },
      "demo": true
    },
    {
      "id": "demo-0-6",
      "url": "https://example.com/douyin/demo-0-6",
      "text": "科技新品 测试 6 #科技",
      "createTime": 1786089600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 38,
        "commentCount": 8,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1600
      },
      "demo": true
    },
    {
      "id": "demo-0-7",
      "url": "https://example.com/douyin/demo-0-7",
      "text": "科技新品 测试 7 #科技",
      "createTime": 1785574800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 41,
        "commentCount": 9,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 1700
      },
      "demo": true
    },
    {
      "id": "demo-0-8",
      "url": "https://example.com/douyin/demo-0-8",
      "text": "科技新品 测试 8 #科技",
      "createTime": 1785664800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 44,
        "commentCount": 10,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 1800
      },
      "demo": true
    },
    {
      "id": "demo-0-9",
      "url": "https://example.com/douyin/demo-0-9",
      "text": "科技新品 测试 9 #科技",
      "createTime": 1785754800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 47,
        "commentCount": 11,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 1900
      },
      "demo": true
    },
    {
      "id": "demo-0-10",
      "url": "https://example.com/douyin/demo-0-10",
      "text": "科技新品 测试 10 #科技",
      "createTime": 1785844800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 50,
        "commentCount": 12,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2000
      },
      "demo": true
    },
    {
      "id": "demo-0-11",
      "url": "https://example.com/douyin/demo-0-11",
      "text": "科技新品 测试 11 #科技",
      "createTime": 1785934800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 53,
        "commentCount": 13,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2100
      },
      "demo": true
    },
    {
      "id": "demo-0-12",
      "url": "https://example.com/douyin/demo-0-12",
      "text": "科技新品 测试 12 #科技",
      "createTime": 1785981600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 56,
        "commentCount": 14,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2200
      },
      "demo": true
    },
    {
      "id": "demo-0-13",
      "url": "https://example.com/douyin/demo-0-13",
      "text": "科技新品 测试 13 #科技",
      "createTime": 1786071600,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 59,
        "commentCount": 15,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2300
      },
      "demo": true
    },
    {
      "id": "demo-0-14",
      "url": "https://example.com/douyin/demo-0-14",
      "text": "科技新品 测试 14 #科技",
      "createTime": 1785556800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 62,
        "commentCount": 16,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2400
      },
      "demo": true
    },
    {
      "id": "demo-0-15",
      "url": "https://example.com/douyin/demo-0-15",
      "text": "科技新品 测试 15 #科技",
      "createTime": 1785646800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 65,
        "commentCount": 17,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2500
      },
      "demo": true
    },
    {
      "id": "demo-0-16",
      "url": "https://example.com/douyin/demo-0-16",
      "text": "科技新品 测试 16 #科技",
      "createTime": 1785736800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 68,
        "commentCount": 18,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2600
      },
      "demo": true
    },
    {
      "id": "demo-0-17",
      "url": "https://example.com/douyin/demo-0-17",
      "text": "科技新品 测试 17 #科技",
      "createTime": 1785826800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 71,
        "commentCount": 19,
        "shareCount": 3,
        "collectCount": 4,
        "playCount": 2700
      },
      "demo": true
    },
    {
      "id": "demo-0-18",
      "url": "https://example.com/douyin/demo-0-18",
      "text": "科技新品 测试 18 #科技",
      "createTime": 1785916800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d0",
        "name": "Demo Douyin 0",
        "username": "demo_d0",
        "followersCount": 1000,
        "verified": false
      },
      "statistics": {
        "diggCount": 74,
        "commentCount": 20,
        "shareCount": 1,
        "collectCount": 4,
        "playCount": 2800
      },
      "demo": true
    },
    {
      "id": "demo-0-19",
      "url": "https://example.com/douyin/demo-0-19",
      "text": "科技新品 测试 19 #科技",
      "createTime": 1786006800,
      "hashtags": [
        "科技",
        "新品"
      ],
      "authorMeta": {
        "id": "d1",
        "name": "Demo Douyin 1",
        "username": "demo_d1",
        "followersCount": 1500,
        "verified": false
      },
      "statistics": {
        "diggCount": 77,
        "commentCount": 21,
        "shareCount": 2,
        "collectCount": 4,
        "playCount": 2900
      },
      "demo": true
    },
    {
      "id": "demo-1-0",
      "url": "https://example.com/xhs/demo-1-0",
      "title": "生活好物 0",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785549600000,
      "engagement": {
        "liked_count": 30,
        "comments_count": 3,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-1",
      "url": "https://example.com/xhs/demo-1-1",
      "title": "生活好物 1",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785639600000,
      "engagement": {
        "liked_count": 32,
        "comments_count": 4,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-2",
      "url": "https://example.com/xhs/demo-1-2",
      "title": "生活好物 2",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785729600000,
      "engagement": {
        "liked_count": 34,
        "comments_count": 5,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-3",
      "url": "https://example.com/xhs/demo-1-3",
      "title": "生活好物 3",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785819600000,
      "engagement": {
        "liked_count": 36,
        "comments_count": 6,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-4",
      "url": "https://example.com/xhs/demo-1-4",
      "title": "生活好物 4",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785909600000,
      "engagement": {
        "liked_count": 38,
        "comments_count": 7,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-5",
      "url": "https://example.com/xhs/demo-1-5",
      "title": "生活好物 5",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785999600000,
      "engagement": {
        "liked_count": 40,
        "comments_count": 8,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-6",
      "url": "https://example.com/xhs/demo-1-6",
      "title": "生活好物 6",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786089600000,
      "engagement": {
        "liked_count": 42,
        "comments_count": 9,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-7",
      "url": "https://example.com/xhs/demo-1-7",
      "title": "生活好物 7",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785574800000,
      "engagement": {
        "liked_count": 44,
        "comments_count": 10,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-8",
      "url": "https://example.com/xhs/demo-1-8",
      "title": "生活好物 8",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785664800000,
      "engagement": {
        "liked_count": 46,
        "comments_count": 11,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-9",
      "url": "https://example.com/xhs/demo-1-9",
      "title": "生活好物 9",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785754800000,
      "engagement": {
        "liked_count": 48,
        "comments_count": 12,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-10",
      "url": "https://example.com/xhs/demo-1-10",
      "title": "生活好物 10",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785844800000,
      "engagement": {
        "liked_count": 50,
        "comments_count": 13,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-11",
      "url": "https://example.com/xhs/demo-1-11",
      "title": "生活好物 11",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785934800000,
      "engagement": {
        "liked_count": 52,
        "comments_count": 14,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-12",
      "url": "https://example.com/xhs/demo-1-12",
      "title": "生活好物 12",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785981600000,
      "engagement": {
        "liked_count": 54,
        "comments_count": 15,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-13",
      "url": "https://example.com/xhs/demo-1-13",
      "title": "生活好物 13",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786071600000,
      "engagement": {
        "liked_count": 56,
        "comments_count": 16,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-14",
      "url": "https://example.com/xhs/demo-1-14",
      "title": "生活好物 14",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785556800000,
      "engagement": {
        "liked_count": 58,
        "comments_count": 17,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-15",
      "url": "https://example.com/xhs/demo-1-15",
      "title": "生活好物 15",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785646800000,
      "engagement": {
        "liked_count": 60,
        "comments_count": 18,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-16",
      "url": "https://example.com/xhs/demo-1-16",
      "title": "生活好物 16",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785736800000,
      "engagement": {
        "liked_count": 62,
        "comments_count": 19,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-17",
      "url": "https://example.com/xhs/demo-1-17",
      "title": "生活好物 17",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785826800000,
      "engagement": {
        "liked_count": 64,
        "comments_count": 20,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-18",
      "url": "https://example.com/xhs/demo-1-18",
      "title": "生活好物 18",
      "desc": "合成商品分享 #生活",
      "timestamp": 1785916800000,
      "engagement": {
        "liked_count": 66,
        "comments_count": 21,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x0",
        "nickname": "Demo XHS 0",
        "red_id": "demo_x0",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-1-19",
      "url": "https://example.com/xhs/demo-1-19",
      "title": "生活好物 19",
      "desc": "合成商品分享 #生活",
      "timestamp": 1786006800000,
      "engagement": {
        "liked_count": 68,
        "comments_count": 22,
        "shared_count": 2,
        "collected_count": 5,
        "nice_count": 99
      },
      "author": {
        "userid": "x1",
        "nickname": "Demo XHS 1",
        "red_id": "demo_x1",
        "verified": false
      },
      "tag_info": {
        "title": "生活"
      },
      "keyword": "好物",
      "type": "normal",
      "demo": true
    },
    {
      "id": "demo-2-0",
      "url": "https://example.com/weibo/demo-2-0",
      "text": "合成新闻 科技发布 0 #科技#",
      "created_at": "Sat, 01 Aug 2026 02:00:00 GMT",
      "attitudes_count": 10,
      "reposts_count": 0,
      "comments_count": 2,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-1",
      "url": "https://example.com/weibo/demo-2-1",
      "text": "合成新闻 科技发布 1 #科技#",
      "created_at": "Sun, 02 Aug 2026 03:00:00 GMT",
      "attitudes_count": 11,
      "reposts_count": 1,
      "comments_count": 3,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-2",
      "url": "https://example.com/weibo/demo-2-2",
      "text": "合成新闻 科技发布 2 #科技#",
      "created_at": "Mon, 03 Aug 2026 04:00:00 GMT",
      "attitudes_count": 12,
      "reposts_count": 2,
      "comments_count": 4,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-3",
      "url": "https://example.com/weibo/demo-2-3",
      "text": "合成新闻 科技发布 3 #科技#",
      "created_at": "Tue, 04 Aug 2026 05:00:00 GMT",
      "attitudes_count": 13,
      "reposts_count": 3,
      "comments_count": 5,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-4",
      "url": "https://example.com/weibo/demo-2-4",
      "text": "合成新闻 科技发布 4 #科技#",
      "created_at": "Wed, 05 Aug 2026 06:00:00 GMT",
      "attitudes_count": 14,
      "reposts_count": 0,
      "comments_count": 6,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-5",
      "url": "https://example.com/weibo/demo-2-5",
      "text": "合成新闻 科技发布 5 #科技#",
      "created_at": "Thu, 06 Aug 2026 07:00:00 GMT",
      "attitudes_count": 15,
      "reposts_count": 1,
      "comments_count": 7,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-6",
      "url": "https://example.com/weibo/demo-2-6",
      "text": "合成新闻 科技发布 6 #科技#",
      "created_at": "Fri, 07 Aug 2026 08:00:00 GMT",
      "attitudes_count": 16,
      "reposts_count": 2,
      "comments_count": 8,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-7",
      "url": "https://example.com/weibo/demo-2-7",
      "text": "合成新闻 科技发布 7 #科技#",
      "created_at": "Sat, 01 Aug 2026 09:00:00 GMT",
      "attitudes_count": 17,
      "reposts_count": 3,
      "comments_count": 9,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-8",
      "url": "https://example.com/weibo/demo-2-8",
      "text": "合成新闻 科技发布 8 #科技#",
      "created_at": "Sun, 02 Aug 2026 10:00:00 GMT",
      "attitudes_count": 18,
      "reposts_count": 0,
      "comments_count": 10,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-9",
      "url": "https://example.com/weibo/demo-2-9",
      "text": "合成新闻 科技发布 9 #科技#",
      "created_at": "Mon, 03 Aug 2026 11:00:00 GMT",
      "attitudes_count": 19,
      "reposts_count": 1,
      "comments_count": 11,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-10",
      "url": "https://example.com/weibo/demo-2-10",
      "text": "合成新闻 科技发布 10 #科技#",
      "created_at": "Tue, 04 Aug 2026 12:00:00 GMT",
      "attitudes_count": 20,
      "reposts_count": 2,
      "comments_count": 12,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-11",
      "url": "https://example.com/weibo/demo-2-11",
      "text": "合成新闻 科技发布 11 #科技#",
      "created_at": "Wed, 05 Aug 2026 13:00:00 GMT",
      "attitudes_count": 21,
      "reposts_count": 3,
      "comments_count": 13,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-12",
      "url": "https://example.com/weibo/demo-2-12",
      "text": "合成新闻 科技发布 12 #科技#",
      "created_at": "Thu, 06 Aug 2026 02:00:00 GMT",
      "attitudes_count": 22,
      "reposts_count": 0,
      "comments_count": 14,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-13",
      "url": "https://example.com/weibo/demo-2-13",
      "text": "合成新闻 科技发布 13 #科技#",
      "created_at": "Fri, 07 Aug 2026 03:00:00 GMT",
      "attitudes_count": 23,
      "reposts_count": 1,
      "comments_count": 15,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-14",
      "url": "https://example.com/weibo/demo-2-14",
      "text": "合成新闻 科技发布 14 #科技#",
      "created_at": "Sat, 01 Aug 2026 04:00:00 GMT",
      "attitudes_count": 24,
      "reposts_count": 2,
      "comments_count": 16,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-15",
      "url": "https://example.com/weibo/demo-2-15",
      "text": "合成新闻 科技发布 15 #科技#",
      "created_at": "Sun, 02 Aug 2026 05:00:00 GMT",
      "attitudes_count": 25,
      "reposts_count": 3,
      "comments_count": 17,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-16",
      "url": "https://example.com/weibo/demo-2-16",
      "text": "合成新闻 科技发布 16 #科技#",
      "created_at": "Mon, 03 Aug 2026 06:00:00 GMT",
      "attitudes_count": 26,
      "reposts_count": 0,
      "comments_count": 18,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-17",
      "url": "https://example.com/weibo/demo-2-17",
      "text": "合成新闻 科技发布 17 #科技#",
      "created_at": "Tue, 04 Aug 2026 07:00:00 GMT",
      "attitudes_count": 27,
      "reposts_count": 1,
      "comments_count": 19,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-18",
      "url": "https://example.com/weibo/demo-2-18",
      "text": "合成新闻 科技发布 18 #科技#",
      "created_at": "Wed, 05 Aug 2026 08:00:00 GMT",
      "attitudes_count": 28,
      "reposts_count": 2,
      "comments_count": 20,
      "user": {
        "id": "w0",
        "screen_name": "Demo Weibo 0",
        "followers_count": 2000
      },
      "demo": true
    },
    {
      "id": "demo-2-19",
      "url": "https://example.com/weibo/demo-2-19",
      "text": "合成新闻 科技发布 19 #科技#",
      "created_at": "Thu, 06 Aug 2026 09:00:00 GMT",
      "attitudes_count": 29,
      "reposts_count": 3,
      "comments_count": 21,
      "user": {
        "id": "w1",
        "screen_name": "Demo Weibo 1",
        "followers_count": 2000
      },
      "demo": true
    }
  ],
  "fieldMap": {},
  "platform": "auto",
  "timezone": "Asia/Shanghai",
  "engagementDenominator": "views",
  "topCreators": 6,
  "topHashtags": 10,
  "topPosts": 5,
  "topWords": 10,
  "maxItems": 100
}' |
apify call zinin/douyin-xiaohongshu-weibo-analytics-report-builder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zinin/douyin-xiaohongshu-weibo-analytics-report-builder"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/06uEbOxvMwyQoKBWL/builds/X1o7F8kh8JbaJOJQn/openapi.json
