ShortsMonkey DocumentaciónConsola APICrear clave

Búsqueda de vídeos Outlier

Busque datos almacenados por palabra clave, nicho, región y proporción de visitas a suscriptores.

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

0 Credits

Búsqueda de vídeos Outlier#

Busque datos almacenados por palabra clave, nicho, región y proporción de visitas a suscriptores.

Autenticación#

Envíe Authorization: Bearer sm_live_.... Nunca coloque la clave completa en URL, cookies, cuerpos, registros o análisis.

Actualización de datos#

Las clasificaciones leen instantáneas estables publicadas por el trabajador. Las lecturas públicas nunca activan una actualización de YouTube.

Pedido#

ArtículoValorDescripción
MétodoPOSTMétodo de solicitud HTTP
Completo URLhttps://api.shortsmonkey.com/v1/videos/outliers/searchProducción API URL
AutenticaciónAuthorization: Bearer sm_live_...Enviar la clave completa solo en el encabezado
Tipo de contenidoapplication/jsonEl cuerpo de la solicitud utiliza JSON.
Créditos0 CreditsTodas las operaciones cuestan 0 Credits. No se asignan ni se descuentan créditos comerciales mensuales.

Solicitar parámetros#

NombreUbicaciónTipoRequeridoPor defectoValores o límitesDescripción
keywordCuerpo JSONstringNo—1–120 caracteresPalabra clave comparada con el título almacenado o el texto especializado
nicheCuerpo JSONstringNo—1–80 caracteresFiltro de nicho o categoría
video_typeCuerpo JSONstringNoallshorts / long / allTipo de vídeo
regionCuerpo JSONstringNo—2 a 16 caracterescódigo de región
max_channel_subscribersCuerpo JSONintegerNo—0–10,000,000Recuento máximo de suscriptores del canal
min_viewsCuerpo JSONintegerNo—0–1,000,000,000Recuento mínimo de vistas
min_vs_ratioCuerpo JSONnumberNo100–100,000Proporción mínima de visitas a suscriptores
time_windowCuerpo JSONstringNo7d24h / 3d / 7d / 30dVentana de publicación de vídeo
limitCuerpo JSONintegerNo201–50Número máximo de elementos en esta página
all_cursorCuerpo JSONstringNo—data.all_data.next_cursorObtener la siguiente página sin filtrar
filter_cursorCuerpo JSONstringNo—data.filter_data.next_cursorObtenga la siguiente página filtrada sin cambiar los filtros
cursorCuerpo JSONstringNo—Parámetro de compatibilidad obsoletoAlias ​​de filter_cursor; no envíes ambos

Campos de respuesta exitosa#

all_data es una página sin filtrar de la instantánea estable; filter_data es una página de la misma instantánea después de los valores predeterminados del punto final y los filtros de solicitud. Cada resultado se pagina de forma independiente.

Todas las operaciones cuestan 0 Credits. No se asignan ni se descuentan créditos comerciales mensuales.

Camino de campoTipoAnulableDescripción
data.all_data.itemsarray<object>NoElementos de vídeo sin filtrar en la página actual
data.all_data.items[].video_idstringNoID de vídeo YouTube
data.all_data.items[].titlestringNoTítulo del vídeo
data.all_data.items[].video_urlstringNoVídeo YouTube URL
data.all_data.items[].channel.idstringSíID de canal
data.all_data.items[].channel.titlestringNoTítulo del canal
data.all_data.items[].channel.subscribersintegerSíRecuento de suscriptores; null cuando está oculto
data.all_data.items[].channel.subscriber_count_hiddenbooleanNoSi el recuento de suscriptores está oculto
data.all_data.items[].viewsintegerNoInstantánea del recuento de vistas
data.all_data.items[].views_to_subscribers_rationumberSíRelación vistas-suscriptores
data.all_data.items[].opportunity_scorenumberSíPuntuación de oportunidad
data.all_data.items[].duration_secondsintegerNoDuración del vídeo en segundos.
data.all_data.items[].published_atstring(date-time)SíHora de publicación del vídeo en UTC ISO 8601
data.all_data.items[].snapshot_atstring(date-time)Sítiempo de recolección de datos
data.all_data.items[].nichestringSíNicho o categoría
data.all_data.items[].trackstringSíIdentificador de seguimiento del conjunto de datos
data.all_data.items[].regionstringSícódigo de región
data.all_data.items[].reasonsarray<string>NoRazones de clasificación
data.all_data.items[].video_typestringNoshorts o long
data.all_data.next_cursorstringSíPágina siguiente cursor para este conjunto de resultados; null cuando termine
data.filter_data.itemsarray<object>NoElementos de vídeo después de los valores predeterminados y los filtros de solicitud
data.filter_data.items[].video_idstringNoID de vídeo YouTube
data.filter_data.items[].titlestringNoTítulo del vídeo
data.filter_data.items[].video_urlstringNoVídeo YouTube URL
data.filter_data.items[].channel.idstringSíID de canal
data.filter_data.items[].channel.titlestringNoTítulo del canal
data.filter_data.items[].channel.subscribersintegerSíRecuento de suscriptores; null cuando está oculto
data.filter_data.items[].channel.subscriber_count_hiddenbooleanNoSi el recuento de suscriptores está oculto
data.filter_data.items[].viewsintegerNoInstantánea del recuento de vistas
data.filter_data.items[].views_to_subscribers_rationumberSíRelación vistas-suscriptores
data.filter_data.items[].opportunity_scorenumberSíPuntuación de oportunidad
data.filter_data.items[].duration_secondsintegerNoDuración del vídeo en segundos.
data.filter_data.items[].published_atstring(date-time)SíHora de publicación del vídeo en UTC ISO 8601
data.filter_data.items[].snapshot_atstring(date-time)Sítiempo de recolección de datos
data.filter_data.items[].nichestringSíNicho o categoría
data.filter_data.items[].trackstringSíIdentificador de seguimiento del conjunto de datos
data.filter_data.items[].regionstringSícódigo de región
data.filter_data.items[].reasonsarray<string>NoRazones de clasificación
data.filter_data.items[].video_typestringNoshorts o long
data.filter_data.next_cursorstringSíPágina siguiente cursor para este conjunto de resultados; null cuando termine
meta.request_idstringNoSolicitar ID de seguimiento
meta.snapshot_idstringNoID de instantánea estable
meta.snapshot_atstring(date-time)NoMarca de tiempo de instantánea
meta.data_statusstringNoEstado del conjunto de datos
credits.costintegerNoTodas las operaciones cuestan 0 Credits. No se asignan ni se descuentan créditos comerciales mensuales.
credits.remaininginteger | nullSínull
credits.period_ends_atstring(date-time) | nullSínull
credits.unlimitedbooleanNotrue

Paginación y cursor#

Envíe all_data.next_cursor como all_cursor y filter_data.next_cursor como filter_cursor. Los cursor son independientes, opacos, firmados y válidos por 24 horas; El cursor heredado es solo un alias para filter_cursor.

etiqueta ET#

Las clasificaciones admiten If-None-Match. Un acierto devuelve HTTP 304 con X-Credits-Cost: 0.

Errores y límites de tarifa#

Cada error contiene code, message, request_id y details en inglés estable. Todas las respuestas 4xx/5xx cuestan cero créditos.

Estado HTTPCódigoCausaAcción sugerida
400INVALID_REQUESTFormato, combinación o rango de parámetro no válidoCorrija los parámetros usando details.issues
401INVALID_API_KEYLa clave no es válida o está inactiva.Verifique el encabezado del portador y el estado de la clave
429API_DAILY_LIMIT_REACHEDTodas las claves API de una cuenta comparten 10 llamadas REST de datos al día. El límite se reinicia a las 00:00 de Asia/Shanghai. El sitio web tiene por separado 10 búsquedas diarias. MCP no consume ninguna de estas cuotas.Tras 10 llamadas REST de datos, se devuelve HTTP 429 con API_DAILY_LIMIT_REACHED. Espera hasta las 00:00 de Asia/Shanghai. Crear o rotar una clave no reinicia la cuota de la cuenta.
429RATE_LIMITEDSe superó el límite de tasa o simultaneidadReintentar después del intervalo Retry-After
503DATA_STALE / SERVICE_UNAVAILABLELos datos o el servicio no están disponibles temporalmenteVuelva a intentarlo más tarde y conserve 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}'