Platform And Field Mapping
Whale serves cross-platform public content data. Source platforms have different raw structures, but the external query layer stays unified: consumers query by platform, content type, time, keyword, semantics, and structured fields without knowing how each platform is collected.
Contents
| Section | Description |
|---|---|
| Platform scope | Frozen platform enums for the first version |
| Content types | External unified content_type values |
| Common fields | Stable cross-platform fields |
| Platform cases | Typical platform data shapes |
| Metric semantics | How views, reads, likes, comments, and other metrics map |
| Extension fields | How platform-specific fields are preserved |
Initial Platform Scope
| Group | Platforms |
|---|---|
| Chinese content platforms | douyin, kuaishou, bilibili, wechat_channels, xiaohongshu, weibo, wechat_article, zhihu |
| Chinese marketplace case | xianyu |
| Global content platforms | reddit, medium, linkedin, instagram, tiktok, youtube |
| Discovery and web | google_search, google_news, google_trends, website, rss, news |
Availability depends on data-product authorization, collection coverage, and compliance policy. API responses use source_platform as the stable platform enum.
Content Types
| content_type | Meaning | Platform examples |
|---|---|---|
post | Social post, feed item, short content | Weibo, Xiaohongshu, Reddit |
article | Long article, public account article, column | Medium, WeChat Articles, Zhihu |
video | Video content, possibly with description, transcript, or audio transcription | YouTube, TikTok, Bilibili, WeChat Channels |
comment | Comment, reply, thread item | Reddit, Weibo, Xiaohongshu |
product | Product or marketplace listing | Xianyu |
job_posting | Job posting | |
web_page | Web page, news page, RSS article | website, news, rss |
Common Fields
| Field | Meaning |
|---|---|
document_id | Whale document ID used for details, versions, and snapshots |
dataset_id | Data product or data domain, such as social, ecommerce, or recruitment |
source_platform | Platform enum |
external_content_id | Stable source-platform content ID |
canonical_url | Canonical content URL |
content_type | Unified content type |
author | Author, account, channel, seller, or company identity |
content | Title, body summary, URL, publish time, and other standard content |
metrics | Current projection of engagement and distribution metrics |
parts | Transcripts, OCR, chapters, specs, comment slices, and other multi-part content |
facts | Filterable structured facts such as price, company, location, and skills |
platform_payload | Platform-specific fields |
Platform Cases
| Platform | External content shape | Key fields | Notes |
|---|---|---|---|
| YouTube | video | Title, description, channel, publish time, views, likes, comments, transcript or audio transcription | If a video has no body, parts.transcript or parts.audio_transcript can still be searched |
| TikTok / Douyin / Kuaishou | video | Description, author, topics, plays, likes, comments, shares | Short videos may have no title; searchable text often comes from description, OCR, or transcription |
| Bilibili / WeChat Channels | video | Title, description, creator/account, plays, likes, favorites, danmaku | Platform-specific metrics remain in extension metrics |
| Xiaohongshu / Instagram | post | Title/body, images, OCR, author, likes, favorites, comments | Image text can be indexed as parts.ocr |
| Weibo / Reddit | post or comment | Body, author, publish time, reposts, comments, likes | Suitable for topic, event, and sentiment tracking |
| Medium / WeChat Article / Zhihu | article | Title, body, author, publish time, reads/likes/comments | Long text is chunked for search; detail APIs return full content |
| Xianyu | product | Product title, price, want count, area, status, seller information | Price, status, and seller sold/onsale counts are useful snapshot trends |
job_posting | Job title, company, location, salary, skills, work mode | Structured fields enter facts for filtering and aggregation | |
| Google / website / RSS / news | web_page or article | Title, summary, URL, source site, publish time | Suitable for web discovery, news tracking, and topic monitoring |
Metric Semantics
| Standard metric | Meaning | Notes |
|---|---|---|
view_count | Views, reads, or impressions | Names vary by platform; externally means “viewed” |
play_count | Video plays | Preferred for video platforms |
like_count | Likes | Common across social platforms |
comment_count | Comments | Common across posts, videos, and articles |
share_count | Shares | Empty when unsupported by the platform |
collect_count | Favorites, saves, or wants | Similar but not identical across Xiaohongshu, Bilibili, Xianyu |
repost_count | Reposts | Used by platforms such as Weibo |
author_follower_count | Author follower snapshot | Author state, not body content |
Time-varying metrics are stored as snapshots. Consumers that need trends should read document snapshots instead of relying only on the current projection returned by document detail.
Extension Fields
Stable cross-platform fields enter the standard model first. Fields that cannot be normalized reliably stay in platform_payload or platform_metrics. Examples:
- Bilibili danmaku and coins.
- Xianyu seller credit, Zhima credit, product status.
- LinkedIn application count, job level, remote work mode.
- Google Trends interest and regional distribution.
Usage Guidance
- For cross-platform search, start with
content_type,source_platform,published_at, and keyword/semantic query. - For platform-specific analysis, read
facts,platform_payload, andplatform_metrics. - For trends, read snapshots sorted by
snapshot_at. - For full body, transcripts, or specs, load document
content,parts, andfacts.