Outlier ビデオ検索

保存されたデータをキーワード、ニッチ、地域、視聴数とチャンネル登録者数の比率で検索します。

POST
https://api.shortsmonkey.com/v1/videos/outliers/search

0 Credits

Outlier ビデオ検索#

保存されたデータをキーワード、ニッチ、地域、視聴数とチャンネル登録者数の比率で検索します。

認証#

Authorization: Bearer sm_live_... を送信します。完全なキーを URL、Cookie、本文、ログ、または分析に決して配置しないでください。

データの鮮度#

ランキングは、ワーカーによって公開された安定したスナップショットを読み取ります。パブリック読み取りによって YouTube リフレッシュがトリガーされることはありません。

リクエスト#

アイテム価値説明
方法POSTHTTPリクエストメソッド
完全な URLhttps://api.shortsmonkey.com/v1/videos/outliers/search生産 API URL
認証Authorization: Bearer sm_live_...ヘッダーのみで完全なキーを送信します
コンテンツタイプapplication/jsonリクエスト本文は JSON を使用します
クレジット0 Creditsすべての操作は 0 Credits です。月ごとのクレジット付与や商用クレジットの消費はありません。

リクエストパラメータ#

名前位置タイプ必須デフォルト値または制限説明
keywordJSON本体stringいいえ—1 ~ 120 文字保存されたタイトルまたはニッチなテキストと一致するキーワード
nicheJSON本体stringいいえ—1 ~ 80 文字ニッチまたはカテゴリーフィルター
video_typeJSON本体stringいいえallshorts / long / allビデオの種類
regionJSON本体stringいいえ—2 ~ 16 文字地域コード
max_channel_subscribersJSON本体integerいいえ—0–10,000,000最大チャンネル登録者数
min_viewsJSON本体integerいいえ—0–1,000,000,000最小閲覧数
min_vs_ratioJSON本体numberいいえ100–100,000視聴者数対チャンネル登録者数の最小比率
time_windowJSON本体stringいいえ7d24h / 3d / 7d / 30d動画公開ウィンドウ
limitJSON本体integerいいえ201–50このページのアイテムの最大数
all_cursorJSON本体stringいいえ—data.all_data.next_cursor次のフィルタされていないページをフェッチする
filter_cursorJSON本体stringいいえ—data.filter_data.next_cursorフィルタを変更せずに次のフィルタされたページを取得します
cursorJSON本体stringいいえ—非推奨の互換性パラメータfilter_cursor の別名。両方は送らないでください

成功の応答フィールド#

all_data は、安定したスナップショットからのフィルタされていないページです。 filter_data は、エンドポイントのデフォルトとリクエスト フィルター後の同じスナップショットからのページです。各結果は個別にページ分割されます。

すべての操作は 0 Credits です。月ごとのクレジット付与や商用クレジットの消費はありません。

フィールドパスタイプNull可能説明
data.all_data.itemsarray<object>いいえ現在のページのフィルタされていないビデオ アイテム
data.all_data.items[].video_idstringいいえYouTube ビデオ ID
data.all_data.items[].titlestringいいえ動画のタイトル
data.all_data.items[].video_urlstringいいえYouTube ビデオ URL
data.all_data.items[].channel.idstringはいチャンネルID
data.all_data.items[].channel.titlestringいいえチャンネルタイトル
data.all_data.items[].channel.subscribersintegerはい購読者数;非表示時は null
data.all_data.items[].channel.subscriber_count_hiddenbooleanいいえチャンネル登録者数を非表示にするかどうか
data.all_data.items[].viewsintegerいいえ閲覧数スナップショット
data.all_data.items[].views_to_subscribers_rationumberはい視聴者数対チャンネル登録者数の比率
data.all_data.items[].opportunity_scorenumberはいオポチュニティースコア
data.all_data.items[].duration_secondsintegerいいえ動画の長さ (秒)
data.all_data.items[].published_atstring(date-time)はいUTC ISO 8601 でのビデオ公開時間
data.all_data.items[].snapshot_atstring(date-time)はいデータ収集時間
data.all_data.items[].nichestringはいニッチまたはカテゴリー
data.all_data.items[].trackstringはいデータセット トラック識別子
data.all_data.items[].regionstringはい地域コード
data.all_data.items[].reasonsarray<string>いいえランキングの理由
data.all_data.items[].video_typestringいいえshorts または long
data.all_data.next_cursorstringはいこの結果セットの次のページ cursor。終了時はnull
data.filter_data.itemsarray<object>いいえデフォルトとリクエストフィルター後のビデオアイテム
data.filter_data.items[].video_idstringいいえYouTube ビデオ ID
data.filter_data.items[].titlestringいいえ動画のタイトル
data.filter_data.items[].video_urlstringいいえYouTube ビデオ URL
data.filter_data.items[].channel.idstringはいチャンネルID
data.filter_data.items[].channel.titlestringいいえチャンネルタイトル
data.filter_data.items[].channel.subscribersintegerはい購読者数;非表示時は null
data.filter_data.items[].channel.subscriber_count_hiddenbooleanいいえチャンネル登録者数を非表示にするかどうか
data.filter_data.items[].viewsintegerいいえ閲覧数スナップショット
data.filter_data.items[].views_to_subscribers_rationumberはい視聴者数対チャンネル登録者数の比率
data.filter_data.items[].opportunity_scorenumberはいオポチュニティースコア
data.filter_data.items[].duration_secondsintegerいいえ動画の長さ (秒)
data.filter_data.items[].published_atstring(date-time)はいUTC ISO 8601 でのビデオ公開時間
data.filter_data.items[].snapshot_atstring(date-time)はいデータ収集時間
data.filter_data.items[].nichestringはいニッチまたはカテゴリー
data.filter_data.items[].trackstringはいデータセット トラック識別子
data.filter_data.items[].regionstringはい地域コード
data.filter_data.items[].reasonsarray<string>いいえランキングの理由
data.filter_data.items[].video_typestringいいえshorts または long
data.filter_data.next_cursorstringはいこの結果セットの次のページ cursor。終了時はnull
meta.request_idstringいいえリクエストトレースID
meta.snapshot_idstringいいえ安定したスナップショット ID
meta.snapshot_atstring(date-time)いいえスナップショットのタイムスタンプ
meta.data_statusstringいいえデータセットのステータス
credits.costintegerいいえすべての操作は 0 Credits です。月ごとのクレジット付与や商用クレジットの消費はありません。
credits.remaininginteger | nullはいnull
credits.period_ends_atstring(date-time) | nullはいnull
credits.unlimitedbooleanいいえtrue

ページネーションと cursor#

all_data.next_cursor を all_cursor として送信し、filter_data.next_cursor を filter_cursor として送信します。 cursor は独立しており、不透明で、署名されており、24 時間有効です。従来の cursor は、filter_cursor のエイリアスにすぎません。

Eタグ#

ランキングはIf-None-Matchをサポートしています。ヒットすると、HTTP 304 と X-Credits-Cost: 0 が返されます。

エラーとレート制限#

すべてのエラーには、code、安定した英語の message、request_id、および details が含まれます。すべての 4xx/5xx 応答にはクレジットがかかりません。

HTTP ステータスコード原因推奨されるアクション
400INVALID_REQUESTパラメータの形式、組み合わせ、または範囲が無効ですdetails.issues を使用してパラメータを修正します
401INVALID_API_KEYキーが無効または非アクティブですBearer ヘッダーとキーのステータスを確認する
429API_DAILY_LIMIT_REACHED同じアカウントの API キーは 1 日 10 回の REST データ呼び出し枠を共有します。Asia/Shanghai の 00:00 にリセットされます。ウェブサイトの検索は別枠で 1 日 10 回です。MCP はどちらの枠も消費しません。REST データ呼び出しが 10 回に達すると、HTTP 429 と API_DAILY_LIMIT_REACHED を返します。Asia/Shanghai の翌 00:00 までお待ちください。キーの作成やローテーションでは枠はリセットされません。
429RATE_LIMITEDレートまたは同時実行の制限を超えましたRetry-After 間隔後に再試行します
503DATA_STALE / SERVICE_UNAVAILABLEデータまたはサービスが一時的に利用できない後で再試行し、request_id を保持します
curl -X POST "https://api.shortsmonkey.com/v1/videos/outliers/search" \
  -H "Authorization: Bearer $SHORTSMONKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"finance","video_type":"all","time_window":"7d","min_vs_ratio":10,"limit":20}'