Xigua 西瓜视频 Detail Scraper - 70+ Fields + MP4 下载
Pricing
from $12.99 / 1,000 videos
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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 | ||
|
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

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}
Full output — comments + replies + related videos
{"videoInputs": ["7544552088903175464","https://www.ixigua.com/7591466246211677363"],"includeRelatedVideos": true,"includeComments": true,"maxCommentsPerVideo": 50,"includeReplies": true,"maxRepliesPerComment": 20}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
videoInputs | array | required | Video URLs or IDs to fetch (up to 1,000 per run) |
startUrls | array | — | Fallback input for URL list widgets; ignored when videoInputs is set |
includeRelatedVideos | boolean | true | Include up to 20 related videos per result (free, no extra billing) |
includeComments | boolean | false | Fetch top-level comments per video (billed at $3.99/1K events) |
maxCommentsPerVideo | integer | 50 | Max comments per video; 0 = unlimited (see cost warning below) |
includeReplies | boolean | false | Fetch reply threads for comments that have replies |
maxRepliesPerComment | integer | 50 | Max 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 returnedentityType,aggrType— content classificationinputUrl,inputType,inputIndex— echoes back which input produced this row
Content
title,abstract,content— full text fieldsmediaName— source channel name if sethashtags— array with name, position (start/end), andrankper tagisOriginal,isKeyVideo,downloadBlocked,downloadBlockedReason
URLs
videoUrl,shareUrl,articleUrl,displayUrlfirstFrameImageUrls,middleImageUrls,largeImageUrls,verticalImageUrls,detailVideoLargeImageUrls,covers— multiple cover image arrays
Engagement stats (inside stats.*)
playCount,commentCount,diggCount,buryCount,shareCount,repinCount,videoLikeCount- Note:
playCountandimpressionCountare not populated for seed videos (same limitation as the search actor)
Author (inside author.*)
userId,awemeUserId,secUserId,name,descriptionavatarUrl,followerCount,followerCountText,videoTotalCountisLiving,userVerified,verifiedContent
Playback (inside playback.*)
resolved— whether playback info was fetchedvariants— 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,autoDefinitionenableSsl,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
repliessub-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×tamp=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×tamp=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×tamp=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 requestsurl = item["playback"]["variants"][0]["url"] # highest quality firstresp = 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.
| Event | Free tier | Starter | Scale | Business |
|---|---|---|---|---|
| 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
maxCommentsPerVideoat 50 (default) unless you specifically need more. - Check
stats.commentCounton a video before fetching unlimited comments. - Disable
includeCommentsentirely 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
Legal Compliance
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.