Outlier 비디오 검색

키워드, 틈새 시장, 지역, 조회수 대 구독자 비율을 기준으로 저장된 데이터를 검색합니다.

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

실제 1~20개 항목당 2크레딧

Outlier 비디오 검색#

키워드, 틈새 시장, 지역, 조회수 대 구독자 비율을 기준으로 저장된 데이터를 검색합니다.

입증#

Authorization: Bearer sm_live_...를 보냅니다. URL, 쿠키, 본문, 로그 또는 분석에 전체 키를 배치하지 마십시오.

데이터 최신성#

순위는 작업자가 게시한 안정적인 스냅샷을 읽습니다. 공개 읽기는 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입니다. 하나의 요청은 더 큰 반품 항목 수를 사용하여 한 번만 청구되며 두 세트의 합계가 아닙니다.

필드 경로유형널 입력 가능설명
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시간 동안 유효합니다. 레거시 cursorfilter_cursor의 별칭일 뿐입니다.

E태그#

순위는 If-None-Match를 지원합니다. 적중은 X-Credits-Cost: 0와 함께 HTTP 304를 반환합니다.

오류 및 비율 제한#

모든 오류에는 code, 안정적인 영어 message, request_iddetails가 포함되어 있습니다. 모든 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}'