mcpField
V
videos-search

videos-search

github.com/brave生産性1921.2k 回インストール11 週間前に更新
リポジトリ

videos-search について

videos-search は Brave Search API で動画を検索するスキルで、動画調査やメタデータ収集に適しています。検索結果には再生時間、視聴回数、投稿者、タグなどが含まれます。

主な機能

  1. 01キーワードによる動画検索
  2. 02国、言語、期間による絞り込み
  3. 03特定サイトへの検索限定
  4. 04再生時間、視聴回数、投稿者情報の取得
  5. 05ページ分割と最大 50 件の結果

活用シーン

  1. 01テーマに合うチュートリアルや解説動画の検索
  2. 02新着動画の追跡
  3. 03分析や整理に使う動画メタデータの収集

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/brave/brave-search-skills --skill videos-search

インストール後、Claude Code で/videos-searchを入力して読み込まれたか確認します。

詳細

動画検索

API キーが必要です:https://api.search.brave.com で取得してください。

プラン:Search プランに含まれています。https://api-dashboard.search.brave.com/app/subscriptions/subscribe をご覧ください。

クイックスタート(cURL)

基本的な検索
curl -s "https://api.search.brave.com/res/v1/videos/search?q=python+tutorial" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"
パラメーターを指定した検索
curl -s "https://api.search.brave.com/res/v1/videos/search" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -G \
  --data-urlencode "q=machine learning explained" \
  --data-urlencode "country=US" \
  --data-urlencode "search_lang=en" \
  --data-urlencode "count=20" \
  --data-urlencode "freshness=pm"

エンドポイント

GET https://api.search.brave.com/res/v1/videos/search
POST https://api.search.brave.com/res/v1/videos/search

認証:X-Subscription-Token: <API_KEY> ヘッダー

注:GET メソッドと POST メソッドの両方をサポートしています。長いクエリには POST が便利です。

パラメーター

パラメーター型必須デフォルト説明
qstringはい-検索クエリ(1~400 文字、最大 50 語)
countrystringいいえUS検索対象の国(2 文字の国コードまたは ALL)
search_langstringいいえen言語設定(2 文字以上の言語コード)
ui_langstringいいえen-USUI の言語(例:「en-US」)
countintいいえ20結果の件数(1~50)
offsetintいいえ0ページのオフセット(0~9)
safesearchstringいいえmoderate成人向けコンテンツのフィルター(off/moderate/strict)
freshnessstringいいえ-期間フィルター(pd/pw/pm/py または日付範囲)
spellcheckboolいいえtrueクエリを自動修正します
operatorsboolいいえtrue検索演算子を適用します
include_fetch_metadataboolいいえfalse結果に fetched_content_timestamp を含めます
期間の値
値説明
pd過去 1 日(24 時間)
pw過去 1 週間(7 日間)
pm過去 1 か月(31 日間)
py過去 1 年(365 日間)
YYYY-MM-DDtoYYYY-MM-DD任意の日付範囲

レスポンス形式

{
  "type": "videos",
  "query": {
    "original": "python tutorial",
    "spellcheck_off": false
  },
  "extra": {
    "might_be_offensive": false
  },
  "results": [
    {
      "type": "video_result",
      "title": "Python Tutorial for Beginners",
      "url": "https://www.youtube.com/watch?v=rfscVS0vtbw",
      "description": "Learn Python programming from scratch...",
      "age": "February 12, 2025",
      "page_age": "2025-02-12T00:00:00",
      "page_fetched": "2025-02-12T15:00:00Z",
      "thumbnail": {
        "src": "https://imgs.search.brave.com/...",
        "original": "https://i.ytimg.com/vi/rfscVS0vtbw/hqdefault.jpg"
      },
      "video": {
        "duration": "03:45:00",
        "views": 1523000,
        "creator": "freeCodeCamp",
        "publisher": "YouTube",
        "requires_subscription": false,
        "tags": ["python", "programming"],
        "author": {
          "name": "freeCodeCamp.org",
          "url": "https://www.youtube.com/@freecodecamp"
        }
      },
      "meta_url": {
        "scheme": "https",
        "netloc": "youtube.com",
        "hostname": "www.youtube.com",
        "favicon": "https://imgs.search.brave.com/...",
        "path": "\u203a watch"
      }
    }
  ]
}

レスポンスフィールド

フィールド型説明
typestring常に "videos" です
query.originalstring元の検索クエリ
query.alteredstring?スペルチェックで修正されたクエリ(変更された場合)
query.cleanedstring?整形/正規化されたクエリ
query.spellcheck_offbool?スペルチェックが無効になっていたかどうか
query.show_strict_warningbool?厳格なセーフサーチによって成人向けの結果がブロックされた場合は True
query.search_operatorsobject?適用された検索演算子(applied、cleaned_query、sites)
extra.might_be_offensivebool結果に不快なコンテンツが含まれる可能性があるかどうか
results[].typestring常に "video_result" です
results[].urlstring動画のソース URL
results[].titlestring動画のタイトル
results[].descriptionstring?動画の説明
results[].agestring?人が読みやすい形式の経過期間(例:"6 months ago")または絶対日付(例:"February 12, 2025")
results[].page_agestring?ソースに記載されたページの経過期間(ISO datetime)
results[].page_fetchedstring?ページが最後に取得された日時(ISO datetime、例:2025-02-12T15:00:00Z)
results[].fetched_content_timestampint?取得タイムスタンプ(include_fetch_metadata=true の場合のみ)
results[].video.durationstring?時間文字列(形式は可変)
results[].video.viewsint?整数形式の再生回数
results[].video.creatorstring?チャンネル名/クリエイター名
results[].video.publisherstring?プラットフォーム(YouTube、Vimeo など)
results[].video.requires_subscriptionbool?動画の視聴にサブスクリプションが必要かどうか
results[].video.tagslist[str]?動画に関連するタグ
results[].video.authorobject?著者のプロフィール
results[].video.author.namestring著者名
results[].video.author.urlstring著者のプロフィール URL
results[].video.author.long_namestring?著者の詳細な名前
results[].video.author.imgstring?著者のプロフィール画像 URL
results[].thumbnail.srcstring提供されたサムネイル URL
results[].thumbnail.originalstring?元のサムネイル URL
results[].meta_url.schemestring?URL のプロトコルスキーム
results[].meta_url.netlocstring?ネットワーク上の場所
results[].meta_url.hostnamestring?小文字に変換されたドメイン名
results[].meta_url.faviconstring?ファビコン URL
results[].meta_url.pathstring?URL パス

検索演算子

検索演算子を使って結果を絞り込みます。

  • site:youtube.com - 特定のサイトに限定します
  • "exact phrase" - 完全一致するフレーズを検索します
  • -exclude - 用語を除外します

operators=false を設定すると、演算子の解析が無効になります。

ユースケース

  • 動画コンテンツの調査:トピック別にチュートリアル、解説、レビューを検索します。video.duration、video.views、video.creator のメタデータを使って、プログラムから結果を絞り込み、順位付けできます。豊富なメタデータ(再生時間、再生回数、クリエイター、タグ)とリクエストあたり最大 50 件の結果を利用できる専用動画インデックスが必要な場合は、web-search より videos-search を優先してください。
  • 新着動画のモニタリング:トレンドのトピックや特定のテーマについて新しく公開された動画コンテンツを追跡するには、freshness=pd または freshness=pw を使用します。
  • プラットフォームを指定した検索:site:youtube.com や site:vimeo.com の演算子を使って、特定の動画プラットフォームを対象にします。
  • 動画メタデータの抽出:分析、コンテンツキュレーション、レコメンデーションシステム向けに、再生回数、再生時間、クリエイター情報、タグを取得します。

注意事項

  • ページネーション:追加の結果を取得するには、count と合わせて offset(0~9)を使用します
  • 最大結果数:リクエストあたり最大 50 件

コメント