Outlier ビデオ検索

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

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

実際の 1 ~ 20 アイテムごとに 2 クレジット

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 を使用します
クレジット実際の 1 ~ 20 アイテムごとに 2 クレジットエラー応答には 0 クレジットがかかります

リクエストパラメータ#

名前位置タイプ必須デフォルト値または制限説明
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 は、エンドポイントのデフォルトとリクエスト フィルター後の同じスナップショットからのページです。各結果は個別にページ分割されます。

ドット表記はネストされたオブジェクトを表し、[] は配列項目を表します。不明な加入者数は nullsubscriber_count_hidden: true です。 1 つのリクエストは、両方のセットの合計ではなく、大きい方の返品アイテム数を使用して 1 回請求されます。

フィールドパスタイプ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いいえ実際に請求されたクレジット
credits.remainingintegerいいえアカウントの残りのクレジット
credits.period_ends_atstring(date-time)いいえ現在のクレジット期間の終了日

ページネーションと cursor#

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

Eタグ#

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

エラーとレート制限#

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

HTTP ステータスコード原因推奨されるアクション
400INVALID_REQUESTパラメータの形式、組み合わせ、または範囲が無効ですdetails.issues を使用してパラメータを修正します
401INVALID_API_KEYキーが無効または非アクティブですBearer ヘッダーとキーのステータスを確認する
402SUBSCRIPTION_REQUIRED / CREDITS_EXHAUSTEDサブスクリプションまたはクレジットが利用できない計画、残高、主要な安全予算を確認する
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}'