Vídeos largos chinos de baja cantidad de suscriptores.
Una clasificación de oportunidades dedicada que devuelve elementos estrictos de forma predeterminada.
https://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=201 crédito por cada 1 a 20 artículos reales
Vídeos largos chinos de baja cantidad de suscriptores.#
Una clasificación de oportunidades dedicada que devuelve elementos estrictos de forma predeterminada.
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ículo | Valor | Descripción |
|---|---|---|
| Método | GET | Método de solicitud HTTP |
| Completo URL | https://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=20 | Producción API URL |
| Autenticación | Authorization: Bearer sm_live_... | Enviar la clave completa solo en el encabezado |
| Tipo de contenido | Sin cuerpo de solicitud | Las solicitudes GET no tienen cuerpo de solicitud |
| Créditos | 1 crédito por cada 1 a 20 artículos reales | Las respuestas de error cuestan 0 créditos |
Solicitar parámetros#
| Nombre | Ubicación | Tipo | Requerido | Por defecto | Valores o límites | Descripción |
|---|---|---|---|---|---|---|
period | Consulta | string | No | today | today / 7d / all_time | Ventana de publicación preestablecida; omitir al usar fechas personalizadas |
start_date | Consulta | string(date) | Condicional | — | YYYY-MM-DD | Fecha de inicio UTC incluida; debe emparejarse con end_date |
end_date | Consulta | string(date) | Condicional | — | YYYY-MM-DD | Fecha de finalización UTC incluida; no puede ser anterior a la fecha de inicio |
track | Consulta | string | No | all | 1–80 caracteres | Filtrar por identificador de pista; all incluye todas las pistas |
quality | Consulta | string | No | strict | strict / all | Devolver solo datos estrictos o incluir candidatos ampliados |
limit | Consulta | integer | No | 20 | 1–50 | Número máximo de elementos en esta página |
all_cursor | Consulta | string | No | — | all_data.next_cursor, válido por 24 horas | Obtener la siguiente página sin filtrar |
filter_cursor | Consulta | string | No | — | filter_data.next_cursor, válido por 24 horas | Obtenga la siguiente página filtrada sin cambiar los filtros |
cursor | Consulta | string | No | — | Parámetro de compatibilidad obsoleto | Alias 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.
La notación de puntos representa objetos anidados y [] representa elementos de matriz. El recuento de suscriptores desconocidos es null con subscriber_count_hidden: true. Una solicitud se factura una vez utilizando el mayor número de artículos devueltos, nunca la suma de ambos conjuntos.
| Camino de campo | Tipo | Anulable | Descripción |
|---|---|---|---|
data.all_data.items | array<object> | No | Elementos de vídeo sin filtrar en la página actual |
data.all_data.items[].video_id | string | No | ID de vídeo YouTube |
data.all_data.items[].title | string | No | Título del vídeo |
data.all_data.items[].video_url | string | No | Vídeo YouTube URL |
data.all_data.items[].channel.id | string | Sí | ID de canal |
data.all_data.items[].channel.title | string | No | Título del canal |
data.all_data.items[].channel.subscribers | integer | Sí | Recuento de suscriptores; null cuando está oculto |
data.all_data.items[].channel.subscriber_count_hidden | boolean | No | Si el recuento de suscriptores está oculto |
data.all_data.items[].views | integer | No | Instantánea del recuento de vistas |
data.all_data.items[].views_to_subscribers_ratio | number | Sí | Relación vistas-suscriptores |
data.all_data.items[].opportunity_score | number | Sí | Puntuación de oportunidad |
data.all_data.items[].duration_seconds | integer | No | Duración del vídeo en segundos. |
data.all_data.items[].published_at | string(date-time) | Sí | Hora de publicación del vídeo en UTC ISO 8601 |
data.all_data.items[].snapshot_at | string(date-time) | Sí | tiempo de recolección de datos |
data.all_data.items[].niche | string | Sí | Nicho o categoría |
data.all_data.items[].track | string | Sí | Identificador de seguimiento del conjunto de datos |
data.all_data.items[].region | string | Sí | código de región |
data.all_data.items[].reasons | array<string> | No | Razones de clasificación |
data.all_data.items[].video_type | string | No | shorts o long |
data.all_data.next_cursor | string | Sí | Página siguiente cursor para este conjunto de resultados; null cuando termine |
data.filter_data.items | array<object> | No | Elementos de vídeo después de los valores predeterminados y los filtros de solicitud |
data.filter_data.items[].video_id | string | No | ID de vídeo YouTube |
data.filter_data.items[].title | string | No | Título del vídeo |
data.filter_data.items[].video_url | string | No | Vídeo YouTube URL |
data.filter_data.items[].channel.id | string | Sí | ID de canal |
data.filter_data.items[].channel.title | string | No | Título del canal |
data.filter_data.items[].channel.subscribers | integer | Sí | Recuento de suscriptores; null cuando está oculto |
data.filter_data.items[].channel.subscriber_count_hidden | boolean | No | Si el recuento de suscriptores está oculto |
data.filter_data.items[].views | integer | No | Instantánea del recuento de vistas |
data.filter_data.items[].views_to_subscribers_ratio | number | Sí | Relación vistas-suscriptores |
data.filter_data.items[].opportunity_score | number | Sí | Puntuación de oportunidad |
data.filter_data.items[].duration_seconds | integer | No | Duración del vídeo en segundos. |
data.filter_data.items[].published_at | string(date-time) | Sí | Hora de publicación del vídeo en UTC ISO 8601 |
data.filter_data.items[].snapshot_at | string(date-time) | Sí | tiempo de recolección de datos |
data.filter_data.items[].niche | string | Sí | Nicho o categoría |
data.filter_data.items[].track | string | Sí | Identificador de seguimiento del conjunto de datos |
data.filter_data.items[].region | string | Sí | código de región |
data.filter_data.items[].reasons | array<string> | No | Razones de clasificación |
data.filter_data.items[].video_type | string | No | shorts o long |
data.filter_data.next_cursor | string | Sí | Página siguiente cursor para este conjunto de resultados; null cuando termine |
data.all_data.items[].quality_tier | string | No | strict o expanded |
data.filter_data.items[].quality_tier | string | No | strict o expanded |
data.all_data.items[].is_expanded_candidate | boolean | No | Si el artículo es un candidato ampliado |
data.filter_data.items[].is_expanded_candidate | boolean | No | Si el artículo es un candidato ampliado |
meta.methodology_version | string | No | Versión de la metodología de ranking |
meta.request_id | string | No | Solicitar ID de seguimiento |
meta.snapshot_id | string | No | ID de instantánea estable |
meta.snapshot_at | string(date-time) | No | Marca de tiempo de instantánea |
meta.data_status | string | No | Estado del conjunto de datos |
credits.cost | integer | No | Créditos reales cobrados |
credits.remaining | integer | No | Créditos restantes de la cuenta |
credits.period_ends_at | string(date-time) | No | Fin del período de crédito actual |
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 HTTP | Código | Causa | Acción sugerida |
|---|---|---|---|
| 400 | INVALID_REQUEST | Formato, combinación o rango de parámetro no válido | Corrija los parámetros usando details.issues |
| 401 | INVALID_API_KEY | La clave no es válida o está inactiva. | Verifique el encabezado del portador y el estado de la clave |
| 402 | SUBSCRIPTION_REQUIRED / CREDITS_EXHAUSTED | La suscripción o los créditos no están disponibles | Consulta el plan, el equilibrio y el presupuesto clave de seguridad. |
| 429 | RATE_LIMITED | Se superó el límite de tasa o simultaneidad | Reintentar después del intervalo Retry-After |
| 503 | DATA_STALE / SERVICE_UNAVAILABLE | Los datos o el servicio no están disponibles temporalmente | Vuelva a intentarlo más tarde y conserve request_id |
curl -X GET "https://api.shortsmonkey.com/v1/rankings/chinese-low-subscriber-long-videos?start_date=2026-07-01&end_date=2026-07-20&quality=strict&limit=20" \
-H "Authorization: Bearer $SHORTSMONKEY_API_KEY"