Necesitas responder una pregunta concreta esta semana: ¿cuántos videos tiene un canal, o qué canales dominan un tema? Al final de este artículo podrás calcular programáticamente “videos por canal” utilizando la API de Datos de Youtube en Zyla API Hub, con solicitudes que puedes copiar y pegar que devuelven datos reales que puedes agregar por canal.
Lo que esta API te ofrece (y cómo convertirlo en “videos por canal”)
La API de Datos de Youtube en Zyla expone endpoints para:
- Obtener videos relacionados a un video semilla (cada elemento incluye el ID del canal y el título).
- Obtener detalles de un video (incluyendo su ID de canal, título, descripción y otros metadatos).
- Obtener los últimos comentarios de un video (útil para señales de calidad o flujos de moderación).
“Videos por canal” se puede calcular agrupando los videos devueltos por snippet.channelId y contando. Dos flujos comunes que se envían rápidamente sin endpoints de descubrimiento adicionales:
- Cobertura de tema basada en semilla: comienza desde un video conocido, llama a Videos Similares, luego cuenta cuántos videos relacionados provienen de cada canal.
- Conteo de lista conocida: si ya tienes una lista de IDs de video (por ejemplo, de tu base de datos, CSV o campaña), llama a Detalles del Video para cada uno, lee
snippet.channelId, y agrega los conteos por canal.
Este artículo muestra ambos flujos con endpoints y campos precisos para que puedas construir el agregado con confianza.
Comenzando en Zyla API Hub
Abre la página de la API para la API de Datos de Youtube en Zyla. Haz clic en Suscribirse o Comenzar prueba de 7 días, y recibirás una sola clave de API que funciona con esta API y otras en el hub. Zyla es un mercado de más de 10,000 APIs públicas con una cuenta, una clave y un modelo de suscripción + cuota (no pago por llamada). No hay Plan Gratuito; para esta API puedes comenzar con una prueba de 7 días directamente en la página de listado.
- Listado de API: Comenzar prueba de 7 días en la API de Datos de Youtube
- Navegar por el mercado: https://zylalabs.com
Autenticación: envía tu clave en el encabezado como Authorization: Bearer YOUR_API_KEY. Todos los ejemplos a continuación utilizan ese encabezado.
Endpoint que usarás para contar videos por canal
1) Videos Similares
Recibe una lista de videos relacionados para un ID de video dado. Cada elemento incluye snippet.channelId y id.videoId, que son exactamente lo que necesitas para calcular los conteos por canal dentro del conjunto relacionado.
- Método: GET
- URL: https://zylalabs.com/api/14/youtube-data-api/56/similar-videos
- Parámetros requeridos:
relatedToVideoId(string): por ejemplo, 7ghhRHRP6t4part(string): id,snippettype(string): video
- Parámetros opcionales:
maxResults(string): hasta 50
Copia y pega cURL (muestra oficial):
curl -s -X GET "https://zylalabs.com/api/14/youtube-data-api/56/similar-videos?relatedToVideoId=7ghhRHRP6t4&part=id%2Csnippet&type=video&maxResults=50" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo oficial de JSON (truncado en el listado; mantén los campos mostrados):
{"kind":"youtube#searchListResponse","nextPageToken":"CDIQAA","pageInfo":{"totalResults":108,"resultsPerPage":50},"items":[{"kind":"youtube#searchResult","id":{"kind":"youtube#video","videoId":"mj0XInqZMHY"},"snippet":{"publishedAt":"2019-06-27T14:44:32Z","channelId":"UC0C-w0YjGpqDXGB8IHb662A","title":"Ed Sheeran - Beautiful People (feat. Khalid) [Official Music Video]","description":"El video musical oficial de Ed Sheeran - Beautiful People (feat. @khalid)\nSubtract, el nuevo álbum, disponible el 05.05.2023. Pre-orden: https://es.lnk.to/subtract\n \nTomado de No.6 Collaborations Project lanzado en 2019, que presentó los sencillos exitosos 'I Don't Care', 'Cross Me', 'Beautiful People', 'Blow', 'Best Part of Me', 'Antisocial', 'South of the Border' &'Take Me Back To London'. \n \nSuscríbete al canal de Ed Sheeran para todos los mejores y más recientes videos musicales oficiales, detrás de cámaras y presentaciones en vivo. \nhttp://bit.ly/SubscribeToEdSheeran \n \nVe más videos oficiales de Ed Sheeran aquí: \nhttps://www.youtube.com/watch?v=ryJgDL9jzKk&list=PLjp0AEEJ0-fGKG_3skl0e1FQlJfnx-TJz \n\nEscucha más del No. 6 Collaborations Project aquí : \nhttps://www.youtube.com/playlist?list=PLjp0AEEJ0-fHZDWhxhKo0wG08bMUcRy3l\n \nSigue a Ed Sheeran en: \nInstagram: http://instagram.com/teddysphotos\nTikTok: https://www.tiktok.com/@edsheeran\nFacebook: http://www.facebook.com/EdSheeranMusic\nTwitter: http://twitter.com/edsheeran\nDiscord: http://discord.gg/edsheeran\nSitio web oficial: http://edsheeran.com \n\nSobre Ed Sheeran: \nEd Sheeran puede ser la estrella pop por excelencia de los 2010s: un cantante/compositor aclamado internacionalmente y ganador de múltiples premios que parece no reconocer límites entre estilos o épocas con elementos de folk, hip-hop, pop, dance, soul y rock entrelazados en su música. \n\nSu increíble catálogo incluye los álbumes de estudio ‘+’ (plus), ‘x’ (multiply) y ‘÷’ (divide) que generaron sencillos exitosos como ‘The A team’ , ’Lego House’, ‘Sing', ‘Thinking Out Loud’, ‘Photograph’, ‘Shape Of You’, ‘Castle on The Hill’ y ‘Perfect’. \n \nEn 2019, Ed Sheeran lanzó el ‘No.6 Collaborations Project’ que abarcó varios géneros y presentó una amplia gama de artistas incluyendo ‘Justin Bieber’, ‘Camilla’ Cabello’, ‘Travis Scott’, ‘Eminem’, ‘Cardi B, ‘Paulo Londra’, ‘Bruno Mars’ y ‘Stormzy’ entre muchos otros, produciendo éxitos como ‘I Don’t Care’, ‘Beautiful People’, ‘South of The Border’ y ‘Take Me Back To London’. \n \n#EdSheeran #Khalid #BeautifulPeople","thumbnails":{"…
Lo que usas de esta carga útil:
items[].id.videoId: el ID único del video.items[].snippet.channelId: el canal que publicó el video.pageInfo.resultsPerPageynextPageToken: útiles para entender el tamaño del resultado y la presencia de más resultados. Si necesitas más páginas, consulta la página de la API para el uso de paginación.snippet.publishedAt: las marcas de tiempo son ISO 8601 con Z (UTC), lo cual es sencillo para ordenar y segmentar.
2) Detalles del Video
Devuelve detalles para un ID de video dado. Usa esto para resolver el canal y los metadatos de un video cuando ya tienes una lista de IDs de video para contar.
- Método: GET
- URL: https://zylalabs.com/api/14/youtube-data-api/62/video-details
- Parámetros requeridos:
id(string): un ID de video (por ejemplo, 7ghhRHRP6t4)
cURL:
Del ejemplo de respuesta, usarás items[].snippet.channelId junto con el video id.
3) Comentarios del Video
Obtén comentarios recientes para un video dado. Aunque no es necesario para calcular conteos por canal, este endpoint puede ayudarte a priorizar canales por compromiso o moderar contenido relacionado con canales de alto volumen que encuentres.
- Método: GET
- URL: https://zylalabs.com/api/14/youtube-data-api/61/video-comments
- Parámetros requeridos:
part(string): snippetvideoId(string): por ejemplo, 7ghhRHRP6t4maxResults(string): por ejemplo, 100
cURL:
Calcular “videos por canal” con una sola solicitud
Cuando no tienes un endpoint de descubrimiento de canal, el camino más rápido es comenzar desde un video conocido que represente tu tema y contar cuántos videos relacionados provienen de cada canal. Esto es a menudo suficiente para:
- Encontrar qué canales dominan un clúster de temas.
- Construir “canales principales” sugeridos para una barra lateral de recomendaciones.
- Pre-filtrar canales para contactar para una asociación o incluir en un feed curado.
Ejemplo en Python: contar canales desde Videos Similares
Este script llama a Videos Similares, agrupa por snippet.channelId, y devuelve una lista ordenada de canales por conteo. Utiliza el endpoint y parámetros exactos del listado del hub.
import os
import requests
from collections import Counter
API_KEY = os.environ.get("ZYLALABS_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/14/youtube-data-api/56/similar-videos"
params = {
"relatedToVideoId": "7ghhRHRP6t4",
"part": "id,snippet",
"type": "video",
"maxResults": "50"
}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, headers=headers, params=params, timeout=30)
resp.raise_for_status()
data = resp.json()
# Agregar videos por channelId
channel_counts = Counter()
videos_by_channel = {}
for item in data.get("items", []):
snippet = item.get("snippet", {})
channel_id = snippet.get("channelId")
video_id = item.get("id", {}).get("videoId")
title = snippet.get("title")
if channel_id and video_id:
channel_counts[channel_id] += 1
videos_by_channel.setdefault(channel_id, []).append({
"videoId": video_id,
"title": title
})
# Imprimir los principales canales por conteo
for channel_id, count in channel_counts.most_common():
print(f"{channel_id}: {count} videos")
# Opcionalmente listar los IDs de video para construir enlaces o una lista de reproducción
for v in videos_by_channel[channel_id]:
print(f" - {v['videoId']} :: {v.get('title','')}")
# Nota: los datos pueden incluir 'nextPageToken' si hay más resultados disponibles.
# Consulta la página de la API para obtener más páginas cuando sea necesario.
Notas de implementación que ahorran tiempo:
- Los conteos reflejan la porción que obtienes. Si deseas una cobertura más amplia, elige videos semilla que representen bien tu tema y repite la agregación a través de múltiples semillas.
publishedAtes ISO 8601 en UTC. Puedes filtrar a una ventana de tiempo antes de contar para enfocarte en la actividad reciente.- Si hay un
nextPageTokenpresente, hay más resultados disponibles. Consulta la página de la API para el uso exacto de paginación para continuar obteniendo. - Cachea el JSON para cada solicitud claveado por parámetros. Para una iteración rápida, persiste la respuesta cruda y vuelve a ejecutar la agregación localmente sin volver a obtener.
Alternativa: contar un conjunto conocido de IDs de video (usando Detalles del Video)
Si ya tienes una lista de IDs de video (por ejemplo, subidas que rastreas, enlaces de campaña, o un CSV), llama a Detalles del Video para cada uno para resolver su snippet.channelId y luego contar por canal. Esto produce un desglose exacto por canal sobre tu conjunto de entrada.
Pasos de alto nivel:
- Itera los IDs de video en tu lista.
- Para cada uno, GET
https://zylalabs.com/api/14/youtube-data-api/62/video-details?id=VIDEO_ID. - Lee
items[0].snippet.channelIde incrementa un contador.
Consejo: Almacena un pequeño mapa local de {videoId: channelId} para evitar volver a llamar a la API para el mismo elemento durante el desarrollo.
Usa señales de compromiso al clasificar canales
Una vez que tengas conteos por canal, es posible que desees clasificar más allá del volumen puro. Un enfoque ligero es obtener comentarios recientes para un video representativo de los principales canales y usar likeCount, publishedAt, o la longitud del texto para generar heurísticas simples (por ejemplo, “los canales con comentarios recientes de muchos likes obtienen un ligero impulso”). El endpoint de Comentarios del Video devuelve:
textOriginalyauthorDisplayName: para NLP simple y atribuciones.likeCount,publishedAt: para puntuaciones rápidas y ventanas de recencia.
Llamando desde agentes de IA a través de MCP
Si orquestas desde un agente IDE (Claude Code, Cursor, Windsurf o cualquier cliente compatible con MCP), usa el endpoint MCP de Zyla. Proporciona tu clave de API y deja que el agente invoque los endpoints del hub directamente desde tu editor. Consulta el punto de entrada MCP aquí: MCP. El mismo encabezado de Autorización se aplica detrás de escena, y cada llamada de herramienta se mapea al endpoint correspondiente de la API de Zyla. Si necesitas una clave de cuenta, crea una en Zyla API Hub y luego apunta tu agente al endpoint MCP con tu clave.
Consejos operativos
- Auth: Siempre incluye
Authorization: Bearer YOUR_API_KEY. - Cuotas y facturación: Zyla utiliza suscripción + cuota (no pago por llamada). Para esta API, puedes comenzar una prueba de 7 días desde el listado. Consulta la página de la API para las opciones de acceso actuales y precios.
- Marcas de tiempo: Campos como
publishedAtson ISO 8601 UTC (Z). Normaliza a UTC en tu almacén de datos. - Paginación: Si la respuesta incluye
nextPageToken, existen más resultados. Consulta la página de la API para continuar la paginación según sea necesario; persiste tu último token al construir trabajos por lotes. - Deducción: Usa
id.videoIdcomo la clave canónica para deduplicar al agregar a través de múltiples videos semilla. - Respuestas parciales: Solo confía en los campos mostrados en los ejemplos o especificados en la documentación de la API. Maneja los campos ausentes defensivamente en tu código.
Ejemplo de flujo de trabajo de extremo a extremo
Objetivo: producir una tabla de clasificación de canales para un tema dado sin un endpoint dedicado de listado de canales.
- Elige de 3 a 5 videos semilla representativos para el tema (por ejemplo, uno por subtema).
- Para cada semilla, llama a Videos Similares con
part=id,snippetytype=video. ManténmaxResultsen 50 para amplitud. Cachea archivos JSON crudos. - Combina todos los elementos, agrupa por
snippet.channelId, y cuenta. - Opcionalmente, para los N principales canales, muestrea 1-2 videos y llama a Comentarios del Video para recopilar pistas rápidas de compromiso.
- Renderiza: ID del canal y conteo de videos; opcionalmente lista algunos videos representativos por canal.
Por qué esto funciona rápidamente para “videos por canal”
Estás trabajando con IDs de canal devueltos directamente de cada snippet de video. Contarlos es sencillo y evita el descubrimiento en múltiples pasos. Si tu producto realmente necesita el total de subidas públicas por canal (es decir, tamaño completo del catálogo), utiliza una cobertura de semilla más amplia y repite la obtención de Videos Similares a través de varios anclajes conocidos; luego persiste y deduplica con el tiempo. Para muchos casos de uso (curación, recomendaciones, divulgación), el volumen relativo dentro de un clúster temático es lo que deseas, y este enfoque lo entrega con una solicitud y una pequeña agregación.
Referencia: detalles del endpoint en un solo lugar
Videos Similares
- GET https://zylalabs.com/api/14/youtube-data-api/56/similar-videos
- Parámetros:
- relatedToVideoId (requerido): 7ghhRHRP6t4
- part (requerido): id,snippet
- type (requerido): video
- maxResults (opcional): 50
Detalles del Video
- GET https://zylalabs.com/api/14/youtube-data-api/62/video-details
- Parámetros:
- id (requerido): 7ghhRHRP6t4
Comentarios del Video
- GET https://zylalabs.com/api/14/youtube-data-api/61/video-comments
- Parámetros:
- part (requerido): snippet
- videoId (requerido): 7ghhRHRP6t4
- maxResults (requerido): 100
FAQ
¿Cómo me autentico?
Envía tu clave en el encabezado: Authorization: Bearer YOUR_API_KEY.
¿Puedo obtener más de 50 videos relacionados?
La respuesta muestra nextPageToken cuando existen más resultados. Consulta la página de la API para saber cómo continuar la paginación más allá de la primera página.
¿Qué campos identifican el canal y el video?
Usa items[].id.videoId para la identidad del video y items[].snippet.channelId para el canal.
¿Hay un plan gratuito?
No hay Plan Gratuito. Puedes comenzar una prueba de 7 días desde el listado de la API. Consulta la página de la API para las opciones de acceso actuales y precios.
¿Puedo llamar a esto desde un agente de IA?
Sí. Usa el endpoint MCP de Zyla con tu clave de API para permitir que los clientes compatibles con MCP llamen a los mismos endpoints.
¿Listo para enviar tu agregación de “videos por canal”? Comienza tu prueba de 7 días y obtén tu clave de API en el listado: API de Datos de Youtube en Zyla. Una clave funciona en todo el hub, por lo que puedes expandir tu integración a medida que avanzas.
Respuesta oficial de la API
{"kind":"youtube#searchListResponse","nextPageToken":"CDIQAA","pageInfo":{"totalResults":108,"resultsPerPage":50},"items":[{"kind":"youtube#searchResult","id":{"kind":"youtube#video","videoId":"mj0XInqZMHY"},"snippet":{"publishedAt":"2019-06-27T14:44:32Z","channelId":"UC0C-w0YjGpqDXGB8IHb662A","title":"Ed Sheeran - Beautiful People (feat. Khalid) [Official Music Video]","description":"El video musical oficial de Ed Sheeran - Beautiful People (feat. @khalid)\nSubtract, el nuevo álbum, disponible el 05.05.2023. Pre-orden: https://es.lnk.to/subtract\n \nTomado de No.6 Collaborations Project lanzado en 2019, que presentó los sencillos exitosos 'I Don't Care', 'Cross Me', 'Beautiful People', 'Blow', 'Best Part of Me', 'Antisocial', 'South of the Border' &'Take Me Back To London'. \n \nSuscríbete al canal de Ed Sheeran para todos los mejores y más recientes videos musicales oficiales, detrás de cámaras y presentaciones en vivo. \nhttp://bit.ly/SubscribeToEdSheeran \n \nVe más videos oficiales de Ed Sheeran aquí: \nhttps://www.youtube.com/watch?v=ryJgDL9jzKk&list=PLjp0AEEJ0-fGKG_3skl0e1FQlJfnx-TJz \n\nEscucha más del No. 6 Collaborations Project aquí : \nhttps://www.youtube.com/playlist?list=PLjp0AEEJ0-fHZDWhxhKo0wG08bMUcRy3l\n \nSigue a Ed Sheeran en: \nInstagram: http://instagram.com/teddysphotos\nTikTok: https://www.tiktok.com/@edsheeran\nFacebook: http://www.facebook.com/EdSheeranMusic\nTwitter: http://twitter.com/edsheeran\nDiscord: http://discord.gg/edsheeran\nSitio web oficial: http://edsheeran.com \n\nSobre Ed Sheeran: \nEd Sheeran puede ser la estrella pop por excelencia de los 2010s: un cantante/compositor aclamado internacionalmente y ganador de múltiples premios que parece no reconocer límites entre estilos o épocas con elementos de folk, hip-hop, pop, dance, soul y rock entrelazados en su música. \n\nSu increíble catálogo incluye los álbumes de estudio ‘+’ (plus), ‘x’ (multiply) y ‘÷’ (divide) que generaron sencillos exitosos como ‘The A team’ , ’Lego House’, ‘Sing', ‘Thinking Out Loud’, ‘Photograph’, ‘Shape Of You’, ‘Castle on The Hill’ y ‘Perfect’. \n \nEn 2019, Ed Sheeran lanzó el ‘No.6 Collaborations Project’ que abarcó varios géneros y presentó una amplia gama de artistas incluyendo ‘Justin Bieber’, ‘Camilla’ Cabello’, ‘Travis Scott’, ‘Eminem’, ‘Cardi B, ‘Paulo Londra’, ‘Bruno Mars’ y ‘Stormzy’ entre muchos otros, produciendo éxitos como ‘I Don’t Care’, ‘Beautiful People’, ‘South of The Border’ y ‘Take Me Back To London’. \n \n#EdSheeran #Khalid #BeautifulPeople","thumbnails":{"…