YouTube post API
REST 呼び出し1回で YouTube の post データを取得——全プラットフォーム共通の安定した JSON スキーマに正規化。
- 公開エンドポイント 1 件
- GET /v1/youtube/posts/{id}
契約サマリー(英語): Get a normalized YouTube video (capability youtube.post)
- 正規化されたレスポンスエンティティ
- youtube/post
- capability
- youtube.post
すべてのレスポンスには新鮮度(cache / default / live)と課金メタデータも含まれます。
活用シーン
- 構造化された {{platform}} 投稿(本文・指標・タイムスタンプ・メディア参照)でコンテンツ分析パイプラインを稼働。
- 原文とエンゲージメント数が必要なモデレーション・調査・モニタリングのワークフローを支えます。
- 脆い画面スクレイピングではなく、安定した正規化 JSON で {{platform}} コンテンツをアーカイブ。
レスポンスフィールド
YouTube Video Post (normalized)
Normalized YouTube video. Provider-private fields MUST NOT appear. Metric names are frozen (views/likes/comments — 观播放/赞/评); hidden counts normalize to 0. `title` is the platform extension field (the video headline — text carries the description). author and created_at are nullable: search/list cards may omit the channel block and the web surface sometimes ships only relative publish-time text ("2 weeks ago" — lossy, never fabricated into an instant; a present-but-unparsable timestamp still fails).
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| id | string | 必須 | Video id. |
| platform | "youtube" | 必須 | — |
| type | "post" | 必須 | — |
| author.id | string | 必須 | Channel id (UC…). |
| author.username | string | 必須 | Channel @handle; the channel id when no handle exists. |
| author.display_name | string | null | 任意 | Channel title. |
| author.verified | boolean | 任意 | — |
| title | string | null | 任意 | The video headline. |
| text | string | null | 任意 | The video description. |
| created_at | string | null | 必須 | Publish time, UTC RFC3339; null when the card ships only relative text. |
| metrics.views | integer | 必須 | View (play) count. |
| metrics.likes | integer | 必須 | Like count; 0 when hidden. |
| metrics.comments | integer | 必須 | — |
| attachments | object[] | 任意 | The video attachment (thumbnail preview + duration when exposed). |
| fetched_at | string | 必須 | — |
フィールドの注記は契約英語の原文のまま表示されます。
レスポンスメタデータ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| mode | cache | default | live | 必須 | Effective mode after merging param > max_age > source policy (D-004). |
| age_seconds | integer | null | 任意 | Age of served data; null when unknown. |
| source_layer | cache | db | upstream | 必須 | Which layer served the response (PRD §10). |
| stale | boolean | 任意 | True when stale data was served under stale_if_error / SWR (D-004). |
| billing.amount_credits | integer | 必須 | Micro-USD (1e-6 USD) actually charged for this request. |
| billing.cache_hit | boolean | 必須 | — |
フィールドの注記は契約英語の原文のまま表示されます。
リクエストとレスポンスの例
/v1/youtube/posts/{id}curl -H "Authorization: Bearer $MESHDATA_API_KEY" \
"https://api.fetchpi.com/v1/youtube/posts/1842951234567890123"{
"data": {
"id": "wSimVideo0001",
"platform": "youtube",
"type": "post",
"author": {
"id": "UCsim0000000000000000777",
"username": "creatordev",
"display_name": "Creator Dev",
"verified": true
},
"title": "One API for every platform.",
"text": "One API for every platform.",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"views": 154203,
"likes": 864,
"comments": 42
},
"attachments": [
{
"type": "video",
"preview_image_url": "https://cdn.example.com/thumb.jpg",
"duration_ms": 212000
}
],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 0,
"cache_hit": true
}
}
}無料デモ
無料アカウントを作成して API キーを取得すれば、ブラウザ版 Playground からこのエンドポイントを呼び出せます。
Playground で試すこのエンドポイントのパラメータ表・エラーコード・レスポンスの詳細は API ドキュメントにあります。
エンドポイントリファレンスを開くよくある質問
レスポンスにはどんなコンテンツ項目が含まれますか?
正規化されたコンテンツエンティティ(本文・投稿者・タイムスタンプ・エンゲージメント指標・メディア参照)を下記フィールド表の定義どおりに返し、新鮮度と課金メタデータも付きます。
このエンドポイントを無料で試せますか?
はい——アカウント登録後に API キーを取得すれば、コンソールの Playground から呼び出せます。
post ケイパビリティの課金は?
Data API はリクエスト単位のクレジット課金で、cache/live の新鮮度により倍率が変わります。最新のケイパビリティ別価格は料金ページをご確認ください。
料金
リクエスト単位のクレジット課金、cache/live の新鮮度オプション対応——最新価格は料金ページをご確認ください。