Xigua 西瓜视频 Detail Scraper - 70+ Fields + MP4 下载 avatar

Xigua 西瓜视频 Detail Scraper - 70+ Fields + MP4 下载

Pricing

from $12.99 / 1,000 videos

Go to Apify Store
Xigua 西瓜视频 Detail Scraper - 70+ Fields + MP4 下载

Xigua 西瓜视频 Detail Scraper - 70+ Fields + MP4 下载

Extract 70+ fields from Xigua (西瓜视频) videos by URL or ID. Title, author, stats, 1080p/720p/480p MP4 download URLs, hashtags, covers, related videos, comments. Cross-app linkage to Douyin (抖音) via awemeUserId/secUserId. ByteDance sibling platform. 西瓜视频下载.

Pricing

from $12.99 / 1,000 videos

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

西瓜视频详情爬虫 Xigua Video Detail Scraper | URL / ID → 70+ Fields (2026)

70+ fields per video + 20 related videos free per call — title, author, engagement stats, resolved 1080p/720p/480p playback URLs, hashtags, covers, and optional comments with nested replies. Paste a URL or ID and hit Start.
Zen Studio Xigua 西瓜视频   •  Complete video data from China's long-form video platform
 Xigua Search Scraper
Keyword / hashtag → up to 1,000 videos
Xigua Video Detail
➤ You are here
Creator Scraper
Coming soon — all videos by creator

Copy to your AI assistant

zen-studio/xigua-video-detail-scraper on Apify. Fetches Xigua (西瓜视频) video details by URL or ID: 70+ fields per video including title, abstract, author profile, engagement stats (plays, likes, comments, shares, repins), resolved playback URLs at multiple resolutions, cover images, hashtags, download-blocked status, up to 20 related videos, and optional comments with nested replies. Call ApifyClient("TOKEN").actor("zen-studio/xigua-video-detail-scraper").call(run_input={"videoInputs":["7544552088903175464"]}), then client.dataset(run["defaultDatasetId"]).list_items().items. Full spec: GET https://api.apify.com/v2/acts/zen-studio~xigua-video-detail-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

Xigua Video Detail Scraper

Key Features

  • 70+ fields per video — title, abstract, engagement stats (plays, likes, comments, shares, repins), author profile, hashtags, cover images, and resolved multi-resolution playback URLs
  • 5 input formats supported — bare 19-digit ID, www.ixigua.com, m.ixigua.com, toutiao.com/group/, and short share links (v.ixigua.com)
  • 20 related videos free per call — each with title, author, duration, stats, and playback info, included at no extra cost
  • Optional comments and replies — fetch top-level comments and nested reply threads; billed separately at $3.99 per 1,000 events

How to Scrape Xigua Video Details

If you have a list of video URLs or IDs, use this actor.

If you want to discover videos by keyword or hashtag first, use the Xigua Video Search Scraper instead.

Basic — single video by ID

{
"videoInputs": ["7544552088903175464"]
}

Batch — multiple URLs at once

{
"videoInputs": [
"https://www.ixigua.com/7591466246211677363",
"https://m.ixigua.com/7544552088903175464",
"https://toutiao.com/group/7370341525168849434/"
]
}

With comments (no replies)

{
"videoInputs": ["7544552088903175464"],
"includeComments": true,
"maxCommentsPerVideo": 100
}
{
"videoInputs": [
"7544552088903175464",
"https://www.ixigua.com/7591466246211677363"
],
"includeRelatedVideos": true,
"includeComments": true,
"maxCommentsPerVideo": 50,
"includeReplies": true,
"maxRepliesPerComment": 20
}

Input Parameters

ParameterTypeDefaultDescription
videoInputsarrayrequiredVideo URLs or IDs to fetch (up to 1,000 per run)
startUrlsarrayFallback input for URL list widgets; ignored when videoInputs is set
includeRelatedVideosbooleantrueInclude up to 20 related videos per result (free, no extra billing)
includeCommentsbooleanfalseFetch top-level comments per video (billed at $3.99/1K events)
maxCommentsPerVideointeger50Max comments per video; 0 = unlimited (see cost warning below)
includeRepliesbooleanfalseFetch reply threads for comments that have replies
maxRepliesPerCommentinteger50Max replies per comment; 0 = unlimited

⚠️ Cost warning: Setting maxCommentsPerVideo to 0 fetches every comment for every video.

Viral videos with 10K+ comments can produce thousands of comment events at $3.99 per 1K — bills can grow quickly.

Default 50 is safe for casual use.

What Data Can You Extract from Xigua Videos?

Every result includes:

Video identity

  • groupId, itemId, awemeId, videoId — all ID variants returned
  • entityType, aggrType — content classification
  • inputUrl, inputType, inputIndex — echoes back which input produced this row

Content

  • title, abstract, content — full text fields
  • mediaName — source channel name if set
  • hashtags — array with name, position (start/end), and rank per tag
  • isOriginal, isKeyVideo, downloadBlocked, downloadBlockedReason

URLs

  • videoUrl, shareUrl, articleUrl, displayUrl
  • firstFrameImageUrls, middleImageUrls, largeImageUrls, verticalImageUrls, detailVideoLargeImageUrls, covers — multiple cover image arrays

Engagement stats (inside stats.*)

  • playCount, commentCount, diggCount, buryCount, shareCount, repinCount, videoLikeCount
  • Note: playCount and impressionCount are not populated for seed videos (same limitation as the search actor)

Author (inside author.*)

  • userId, awemeUserId, secUserId, name, description
  • avatarUrl, followerCount, followerCountText, videoTotalCount
  • isLiving, userVerified, verifiedContent

Playback (inside playback.*)

  • resolved — whether playback info was fetched
  • variants — array of resolution options (1080p, 720p, 480p, etc.) with direct HTTPS URLs (plain, no decoding needed)
  • variants[*].urlExpire — Unix timestamp when the URL expires (typically ~24 hours from fetch time)
  • adaptiveUrls.dynamicVideoList, adaptiveUrls.dynamicAudioList — HLS/DASH manifests (plain HTTPS URLs)
  • videoDuration, urlExpire, posterUrl, coverUrl, autoDefinition
  • enableSsl, enableAdaptive, hasEmbeddedSubtitle, subtitleInfos

Related videos (inside relatedVideos array, up to 20)

  • Same metadata fields: title, author, duration, stats, covers — included free per call

Comments (inside comments array, when enabled)

  • commentId, text, createTime, diggCount, replyCount
  • Author sub-object: userId, name, avatarUrl
  • replies sub-array with same structure

Output Example

Each result contains all 37 top-level fields. relatedVideos returns up to 20 items (2 shown below). comments and their replies are included only when includeComments is enabled (1 comment with 1 reply shown below).

{
"entityType": "videoDetail",
"inputUrl": "https://www.ixigua.com/7591466246211677363",
"inputType": "gid",
"inputIndex": 1,
"groupId": "7591466246211677363",
"itemId": "7591466246211677363",
"awemeId": "7591466246211677363",
"videoId": "v2700fgi0000d5d4s7vog65pq61i27h0",
"aggrType": "1",
"title": "保持一颗纯净的心 面对平淡生活里的刺",
"abstract": "保持一颗纯净的心 面对平淡生活里的刺#正常穿搭",
"content": "保持一颗纯净的心 面对平淡生活里的刺#正常穿搭",
"mediaName": "",
"videoUrl": "https://www.ixigua.com/7591466246211677363",
"shareUrl": "https://www.iesdouyin.com/xg/video/7591466246211677363/?app=video_article&timestamp=1777211601...",
"articleUrl": "",
"displayUrl": "",
"videoDurationSecs": 15,
"publishTime": 1767525973,
"publishTimeIso": "2026-01-04T11:26:13+00:00",
"firstFrameImageUrls": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/oMoS5kwZtAgzB7ejgQFEtnODffwPCKJEJBDa0Q~c5_2160x2886.jpeg?...",
"https://p26-sign.douyinpic.com/tos-cn-p-0015c000-ce/oMoS5kwZtAgzB7ejgQFEtnODffwPCKJEJBDa0Q~c5_2160x2886.jpeg?..."
],
"middleImageUrls": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?...",
"https://p5-ex-gddgtc-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?..."
],
"largeImageUrls": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?...",
"https://p26-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?..."
],
"verticalImageUrls": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~c5_640x840.jpeg?...",
"https://p11-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~c5_640x840.jpeg?..."
],
"detailVideoLargeImageUrls": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?...",
"https://p26-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?..."
],
"covers": [
"https://p3-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-pk90l89vgd-cover-blur:864:486:90.jpeg?...",
"https://p26-sign.douyinpic.com/tos-cn-p-0015c000-ce/oMoS5kwZtAgzB7ejgQFEtnODffwPCKJEJBDa0Q~c5_2160x2886.jpeg?..."
],
"hashtags": [
{
"id": "0",
"name": "正常穿搭",
"start": null,
"end": null,
"rank": null
}
],
"isOriginal": false,
"isKeyVideo": false,
"downloadBlocked": true,
"downloadBlockedReason": "暂不支持下载",
"stats": {
"playCount": null,
"commentCount": 13,
"diggCount": 1922,
"buryCount": 0,
"shareCount": 135,
"impressionCount": null,
"repinCount": 395,
"videoLikeCount": null
},
"author": {
"userId": "2632645731710877",
"awemeUserId": null,
"secUserId": null,
"name": "酥酥猪❄️",
"description": "",
"avatarUrl": "https://p3.bdxiguaimg.com/aweme/100x100/aweme-avatar/tos-cn-avt-0015_de26ee906ba2c211e3f11e7acea62acd.jpeg?from=327834062",
"followerCount": 991,
"followerCountText": "991",
"videoTotalCount": 6,
"isLiving": false,
"userVerified": null,
"verifiedContent": null
},
"relatedVideos": [
{
"rank": 0,
"groupId": "7406112407258399251",
"itemId": "7406112407258399251",
"awemeId": null,
"videoId": "v0201ag10000cr3smnfog65stmhi3pa0",
"title": "经典老歌集《忘了吧》《大雁南飞》《红颜知己》《如果爱还在》…",
"abstract": "",
"shareUrl": "https://m.ixigua.com/video/7406112407258399251/?app=video_article&timestamp=1777211601",
"publishTime": 1724369918,
"publishTimeIso": "2024-08-22T23:38:38+00:00",
"videoDurationSecs": 1892,
"covers": [
"https://p3-sign.bdxiguaimg.com/tos-cn-i-0026/oAeXP27ACAIIACArfyGFIbQfHIAfZlm8yLSGGB~tplv-pk90l89vgd-slimming:864:486.webp?...",
"https://p26-sign.bdxiguaimg.com/tos-cn-i-0026/oAeXP27ACAIIACArfyGFIbQfHIAfZlm8yLSGGB~tplv-pk90l89vgd-slimming:864:486.webp?..."
],
"stats": {
"playCount": 0,
"commentCount": 104,
"diggCount": 3230,
"shareCount": 168,
"repinCount": 2381,
"impressionCount": 8076391
},
"author": {
"userId": "4300931871802264",
"name": "琴心音乐QGL",
"avatarUrl": "https://sf3-cdn-tos.bdxiguastatic.com/img/user-avatar/090975589a20d5e5a4a3aa3a26e20bee~300x300.image?from=avatar",
"followerCount": 337400,
"verifiedContent": ""
}
},
{
"rank": 1,
"groupId": "7291020787518014012",
"itemId": "7291020787518014012",
"awemeId": null,
"videoId": "v0201ag10000cknef43c77ue1n7b3640",
"title": "国家兴亡,匹夫有责,老坎征婚生娃娃。",
"abstract": "国家兴亡,匹夫有责,老坎征婚生娃娃!",
"shareUrl": "https://m.ixigua.com/video/7291020787518014012/?app=video_article&timestamp=1777211601",
"publishTime": 1697590800,
"publishTimeIso": "2023-10-18T01:00:00+00:00",
"videoDurationSecs": 256,
"covers": [
"https://p26-sign.bdxiguaimg.com/tos-cn-i-0026/ogPlzNIIAhKBI55pMAyQfBPuEo03AAW4AACAMC~tplv-pk90l89vgd-slimming:864:486.webp?...",
"https://p3-sign.bdxiguaimg.com/tos-cn-i-0026/ogPlzNIIAhKBI55pMAyQfBPuEo03AAW4AACAMC~tplv-pk90l89vgd-slimming:864:486.webp?..."
],
"stats": {
"playCount": 0,
"commentCount": 47,
"diggCount": 547,
"shareCount": 16,
"repinCount": 48,
"impressionCount": 254521
},
"author": {
"userId": "58131758605",
"name": "敬老坎",
"avatarUrl": "https://sf1-cdn-tos.bdxiguastatic.com/img/user-avatar/2c62774185ebcb0915ed286903e2680c~300x300.image?from=avatar",
"followerCount": 457335,
"verifiedContent": ""
}
}
],
"adaptiveUrls": {
"dynamicVideoList": [
{
"mainUrl": "https://v3-xg.douyinvod.com/v1/playlist/tos-cn-ve-15c000-ce/hls/index.m3u8?...",
"backupUrl": "https://v95-sz-default.365yg.com/v1/playlist/tos-cn-ve-15c000-ce/hls/index.m3u8?...",
"qualityType": 1,
"videoMeta": {
"width": 1080,
"height": 1444,
"fps": 30,
"bitrate": 318623,
"codecType": "h264"
},
"audioMeta": {
"sampleRate": 44100,
"channels": "2.0",
"profile": "aac_he_v2"
}
}
],
"dynamicAudioList": []
},
"playback": {
"resolved": true,
"code": 0,
"message": "success",
"mediaType": "video",
"videoDuration": 15.034,
"urlExpire": 1777215219,
"posterUrl": "https://p26-sign.douyinpic.com/tos-cn-p-0015c000-ce/o800TkcMhAN5Ceq5wEiirTnBPfYHhlSiEABNaI~tplv-noop.image?...",
"coverUrl": null,
"autoDefinition": "360p",
"enableSsl": false,
"enableAdaptive": false,
"hasEmbeddedSubtitle": false,
"variants": [
{
"key": "video_2",
"definition": "1080p",
"quality": "normal",
"qualityType": 1,
"vtype": "mp4",
"codecType": "h264",
"bitrate": 318623,
"realBitrate": 318623,
"size": 598773,
"width": 1080,
"height": 1444,
"fps": 30,
"url": "https://v95-sz-default.365yg.com/video/tos/cn/tos-cn-ve-15/...",
"backupUrl1": "https://v6-default.365yg.com/video/tos/cn/tos-cn-ve-15/...",
"urlExpire": 1777215219,
"audioChannels": "2.0",
"audioLayout": "C",
"audioProfile": "aac_he_v2",
"audioSampleRate": "44100",
"encrypt": false,
"encryptionMethod": "",
"checkInfo": "c:0-13859-17ba|d:0-299385-f196,299386-598772-7d92",
"p2pVerifyUrl": "",
"barrageMaskUrl": "",
"barrageMaskOffset": "",
"pktOffsetMap": [
{"time": 1, "offset": 139272},
{"time": 5, "offset": 204966},
{"time": 10, "offset": 421807}
],
"preloadSize": 598773,
"preloadInterval": 60,
"preloadMinStep": 5,
"preloadMaxStep": 10,
"socketBuffer": 7168860,
"userVideoProxy": 1,
"logoType": ""
},
{
"key": "video_1",
"definition": "720p",
"quality": "normal",
"qualityType": 10,
"vtype": "mp4",
"codecType": "h264",
"bitrate": 241440,
"realBitrate": 241440,
"size": 453727,
"width": 720,
"height": 962,
"fps": 30,
"url": "https://v95-sz-default.365yg.com/video/tos/cn/tos-cn-ve-15/...",
"backupUrl1": "https://v6-default.365yg.com/video/tos/cn/tos-cn-ve-15/...",
"urlExpire": 1777215219,
"audioChannels": "2.0",
"audioLayout": "L R",
"audioProfile": null,
"audioSampleRate": "44100",
"encrypt": false,
"encryptionMethod": "",
"checkInfo": "c:0-17782-aed8|d:0-226862-eaa4,226863-453726-29d4",
"p2pVerifyUrl": "",
"barrageMaskUrl": "",
"barrageMaskOffset": "",
"pktOffsetMap": [
{"time": 1, "offset": 108918},
{"time": 5, "offset": 185860},
{"time": 10, "offset": 369295}
],
"preloadSize": 453727,
"preloadInterval": 60,
"preloadMinStep": 5,
"preloadMaxStep": 10,
"socketBuffer": 5432400,
"userVideoProxy": 1,
"logoType": ""
}
],
"subtitleInfos": null
},
"comments": [
{
"entityType": "comment",
"kind": "comment",
"aid": "1128",
"sourceApp": "Xigua",
"commentId": "7592262643735069459",
"parentCommentId": null,
"text": "真的很治愈,谢谢分享",
"mentions": [],
"createTime": 1767711402,
"createTimeIso": "2026-01-06T14:56:42+00:00",
"source": null,
"score": 3.14,
"diggCount": 8,
"buryCount": 0,
"forwardCount": 0,
"replyCount": 2,
"publishLocInfo": "",
"membershipStatus": 0,
"largeImageUrls": [],
"thumbImageUrls": [],
"hasMultiMedia": false,
"multiMedia": null,
"tags": null,
"voteInfo": null,
"hasAuthorDigg": 0,
"isPgcAuthor": 0,
"isRepost": false,
"user": {
"userId": "61283252960",
"secUserId": null,
"shortId": null,
"nickname": "头条用户",
"signature": null,
"avatarUrl": "http://p3.toutiaoimg.com/thumb/2171/6003290650",
"isVerified": false,
"verifiedReason": null,
"followerCount": null,
"followingCount": null,
"ipRegion": null
},
"replies": [
{
"entityType": "comment",
"kind": "reply",
"commentId": "7592270000123456789",
"parentCommentId": "7592262643735069459",
"replyToReplyId": null,
"replyToUsername": null,
"replyToUserId": null,
"replyToUserSecId": null,
"awemeId": null,
"text": "同感!每次看都很放松",
"textExtra": null,
"createTime": 1767714000,
"createTimeIso": "2026-01-06T15:40:00+00:00",
"diggCount": 1,
"status": 1,
"ipLabel": null,
"labelType": -1,
"isAuthorDigged": false,
"isHot": false,
"canShare": true,
"contentType": 1,
"isFolded": false,
"commentReplyTotal": 0,
"user": {
"userId": "84168027200",
"nickname": "观众乙",
"avatarUrl": "http://p3.toutiaoimg.com/thumb/2171/6003290650",
"isVerified": false
},
"imageUrls": []
}
]
}
]
}

Downloading Videos

playback.variants[*].url contains a plain HTTPS URL pointing directly to the MP4 file. No decoding or extra headers required — a standard GET works.

import requests
url = item["playback"]["variants"][0]["url"] # highest quality first
resp = requests.get(url, timeout=60, stream=True)
with open("video.mp4", "wb") as f:
for chunk in resp.iter_content(8192):
f.write(chunk)

URLs are time-limited. playback.urlExpire is the Unix timestamp when the URL stops working (typically ~24 hours after the run). Download promptly after the run completes.

adaptiveUrls.dynamicVideoList[*].mainUrl contains HLS/DASH manifest URLs, also plain HTTPS. Use these with a media player or ffmpeg for adaptive streaming.

Advanced Usage

Short share URLs (v.ixigua.com)

Short links are auto-resolved — paste them directly.

{
"videoInputs": ["https://v.ixigua.com/abc123/"]
}

Large batch via startUrls (task templates)

When injecting from a task template or URL list widget, use startUrls instead.

{
"startUrls": [
{ "url": "https://www.ixigua.com/7544552088903175464" },
{ "url": "https://www.ixigua.com/7591466246211677363" }
]
}

Comment deep-dive — unlimited with replies

Set maxCommentsPerVideo to 0 to fetch every comment.

Use this only on videos with a known comment count — check stats.commentCount in a prior run first.

{
"videoInputs": ["7544552088903175464"],
"includeComments": true,
"maxCommentsPerVideo": 0,
"includeReplies": true,
"maxRepliesPerComment": 0
}

Pricing — Pay Per Event (PPE)

No monthly fee. You pay only for what you scrape.

EventFree tierStarterScaleBusiness
Video$14.99/1K$14.99/1K$13.99/1K$12.99/1K
Comment or reply$3.99/1K$3.99/1K$3.99/1K$3.99/1K

Related videos are fetched as part of the video call and are not billed separately. Scale and Business subscribers get automatic step-down discounts on the video event.

Cost Optimization

  • Keep maxCommentsPerVideo at 50 (default) unless you specifically need more.
  • Check stats.commentCount on a video before fetching unlimited comments.
  • Disable includeComments entirely when you only need video metadata.

FAQ

What is Xigua (西瓜视频)?

Xigua Video is ByteDance's long-form video platform for mainland China, distinct from Douyin/TikTok.

It focuses on videos longer than a minute: documentaries, comedy sketches, vlogs, and educational content.

What input formats are supported?

Five formats: bare 19-digit ID, www.ixigua.com, m.ixigua.com, toutiao.com/group/, and v.ixigua.com short links.

All are auto-resolved to the canonical video ID.

Why is playCount null for the seed video?

This is a platform limitation, not a scraper bug.

The detail endpoint does not populate playCount or impressionCount for the queried video.

Related videos returned alongside the result do include impressionCount.

If play counts are critical, combine with the search actor to cross-reference results.

How many videos can I process per run?

Up to 1,000 per run.

For larger batches, split inputs across multiple runs or contact us for volume guidance.

Are the playback URLs permanent?

No. Signed playback URLs typically expire within 24 hours.

Download or cache the media shortly after the run completes.

What's the difference between this actor and the search actor?

Use this actor when you already have video URLs or IDs.

Use the Xigua Video Search Scraper when you want to discover videos by keyword or hashtag.

Can I get subtitles?

subtitleInfos is included when the platform provides them.

Most user-generated content does not have embedded subtitles.

How often should I re-run for fresh data?

Engagement stats (likes, comments, shares) change continuously.

For monitoring purposes, re-run daily or weekly depending on how fast the videos you track accumulate engagement.

Support

  • Bugs: Issues tab
  • Features: Issues tab

Extracts publicly available data.

Users must comply with Xigua Video's terms of service and applicable data protection regulations (GDPR, CCPA, and Chinese data laws where relevant).


Paste a Xigua URL or video ID, hit Start, get 70+ fields back in seconds.