YouTube search_posts API
REST 呼び出し1回で YouTube の search_posts データを取得——全プラットフォーム共通の安定した JSON スキーマに正規化。
- 公開エンドポイント 1 件
- GET /v1/youtube/search/posts
契約サマリー(英語): Search YouTube videos (capability youtube.search_posts)
- 正規化されたレスポンスエンティティ
- youtube/search_posts
- capability
- youtube.search_posts
すべてのレスポンスには新鮮度(cache / default / live)と課金メタデータも含まれます。
活用シーン
- キーワードで {{platform}} のコンテンツとアカウントを検索、スコアリングできる正規化結果を返します。
- トレンドや人気リストを追い、新しい話題の芽をいち早く捉える。
- 検索・トレンドクエリにアラートを設定し、変化をリアルタイムで把握。
レスポンスフィールド
YouTube video search response (normalized envelope)
Response envelope for GET /v1/youtube/search/posts (capability youtube.search_posts). Same normalized video entities as user_posts (search cards may omit the channel block and carry only relative publish-time text); echoes the effective query. Non-video result cards (channels, playlists) are filtered out.
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | 任意 | Echo of the effective search query. |
| data | post[] | 必須 | — |
| next_cursor | string | null | 必須 | Opaque pagination cursor; null when results are exhausted. Cursor validity is tied to the provider that produced the page. |
| meta.request_id | string | 必須 | — |
| meta.freshness.mode | cache | default | live | 必須 | — |
| meta.freshness.age_seconds | integer | null | 任意 | — |
| meta.freshness.source_layer | cache | db | upstream | 必須 | — |
| meta.freshness.stale | boolean | 任意 | — |
| meta.billing.cache_hit | boolean | 必須 | — |
| meta.billing.amount_credits | integer | 必須 | Credits actually charged for this request (the settlement unit; 1 credit = $0.0001, permanent). |
フィールドの注記は契約英語の原文のまま表示されます。
レスポンスメタデータ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| 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/search/postscurl -H "Authorization: Bearer $MESHDATA_API_KEY" \
"https://api.fetchpi.com/v1/youtube/search/posts?q=meshdata"{
"data": [
{
"id": "sSimVideo001",
"platform": "youtube",
"type": "post",
"author": {
"id": "UCsimsearch00000000001",
"username": "datafan",
"display_name": "Data Fan",
"verified": false
},
"title": "normalized entities for every feed!",
"text": null,
"created_at": null,
"metrics": {
"views": 0,
"likes": 0,
"comments": 0
},
"attachments": [],
"fetched_at": "2026-09-18T09:05:00Z"
}
],
"next_cursor": null,
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "live",
"age_seconds": 0,
"source_layer": "upstream",
"stale": false
},
"billing": {
"amount_credits": 300,
"cache_hit": false
}
}
}無料デモ
無料アカウントを作成して API キーを取得すれば、ブラウザ版 Playground からこのエンドポイントを呼び出せます。
Playground で試すこのエンドポイントのパラメータ表・エラーコード・レスポンスの詳細は API ドキュメントにあります。
エンドポイントリファレンスを開くよくある質問
cache と live の新鮮度の違いは?
cache は保存済みスナップショットから応答し上流へアクセスしません。live はより新しいデータを照会し、追加クレジットがかかる場合があります——詳細はドキュメントの新鮮度の項を参照。
このエンドポイントを無料で試せますか?
はい——アカウント登録後に API キーを取得すれば、コンソールの Playground から呼び出せます。
search_posts ケイパビリティの課金は?
Data API はリクエスト単位のクレジット課金で、cache/live の新鮮度により倍率が変わります。最新のケイパビリティ別価格は料金ページをご確認ください。
料金
リクエスト単位のクレジット課金、cache/live の新鮮度オプション対応——最新価格は料金ページをご確認ください。