ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un detector de tendencias de YouTube
Tutorial

Cómo crear un detector de tendencias de YouTube

Detecte temas crecientes en YouTube mediante el seguimiento del recuento de vistas de palabras clave específicas a lo largo del tiempo utilizando la API de búsqueda de Scavio. Cron diario con almacenamiento SQLite y puntuación de tendencias.

Obtener clave API gratisDocumentacion API

Un detector de tendencias de YouTube busca palabras clave específicas a través de la API de Scavio con una plataforma configurada en YouTube, almacena el recuento de vistas diariamente en SQLite e identifica temas en aumento calculando el crecimiento del recuento de vistas semana tras semana.

Requisitos previos

  • Python 3.9+
  • Clave API de Scavio
  • SQLite (stdlib)

Guia paso a paso

Paso 1: Busque en YouTube una palabra clave

Utilice plataforma: youtube para obtener listados de videos con recuentos de vistas para cualquier consulta.

Python
import requests

API_KEY = "your-scavio-api-key"

def search_youtube(query: str, n: int = 10) -> list:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        json={"query": query, "platform": "youtube", "num_results": n},
        headers={"x-api-key": API_KEY},
        timeout=15
    )
    r.raise_for_status()
    return r.json().get("organic_results", [])

Paso 2: Analizar el recuento de vistas a partir de los resultados

Extraiga el recuento total de visualizaciones de los vídeos principales para la palabra clave.

Python
import re

def parse_views(views_str: str) -> int:
    if not views_str:
        return 0
    s = views_str.upper().replace(",","")
    m = re.search(r"([\d.]+)([KMB])?", s)
    if not m:
        return 0
    num = float(m.group(1))
    mult = {"K": 1_000, "M": 1_000_000, "B": 1_000_000_000}.get(m.group(2), 1)
    return int(num * mult)

def total_views_for_keyword(query: str) -> int:
    videos = search_youtube(query, n=5)
    return sum(parse_views(v.get("views","")) for v in videos)

Paso 3: Seguimiento y detección de tendencias

Almacene sumas de visualizaciones diarias y reciba alertas cuando las visualizaciones de una palabra clave aumenten más del 50 % semana tras semana.

Python
import sqlite3
from datetime import date, timedelta

NICHE_KEYWORDS = ["vibe coding", "ai agent tools", "local llm setup", "cursor vs copilot", "claude code tutorial"]

def init_db(path="youtube_trends.db"):
    conn = sqlite3.connect(path)
    conn.execute("CREATE TABLE IF NOT EXISTS trends (date TEXT, keyword TEXT, total_views INTEGER, PRIMARY KEY (date, keyword))")
    conn.commit()
    return conn

def run_trend_detector():
    conn = init_db()
    today = str(date.today())
    week_ago = str(date.today() - timedelta(days=7))
    results = []
    for kw in NICHE_KEYWORDS:
        views = total_views_for_keyword(kw)
        conn.execute("INSERT OR REPLACE INTO trends VALUES (?,?,?)", (today, kw, views))
        conn.commit()
        prev = conn.execute("SELECT total_views FROM trends WHERE keyword=? AND date=?", (kw, week_ago)).fetchone()
        growth = ((views - prev[0]) / prev[0] * 100) if prev and prev[0] > 0 else None
        results.append({"keyword": kw, "views": views, "growth_pct": growth})
    results.sort(key=lambda x: x.get("growth_pct") or 0, reverse=True)
    for r in results:
        g = f"+{r['growth_pct']:.0f}%" if r["growth_pct"] else "no prior data"
        print(f"{r['keyword']:<35} {r['views']:>10,} views | WoW: {g}")

run_trend_detector()

Ejemplo en Python

Python
import requests
import sqlite3
import re
from datetime import date, timedelta

API_KEY = "your-scavio-api-key"
KEYWORDS = ["vibe coding", "ai agent tools", "local llm setup", "cursor vs copilot", "claude code tutorial"]

def search_youtube(query, n=5):
    r = requests.post("https://api.scavio.dev/api/v1/search",
                      json={"query": query, "platform": "youtube", "num_results": n},
                      headers={"x-api-key": API_KEY}, timeout=15)
    r.raise_for_status()
    return r.json().get("organic_results", [])

def parse_views(s):
    if not s: return 0
    m = re.search(r"([\d.]+)([KMB])?", s.upper().replace(",",""))
    if not m: return 0
    return int(float(m.group(1)) * {"K":1000,"M":1_000_000,"B":1_000_000_000}.get(m.group(2),1))

def total_views(query):
    return sum(parse_views(v.get("views","")) for v in search_youtube(query))

def init_db():
    conn = sqlite3.connect("youtube_trends.db")
    conn.execute("CREATE TABLE IF NOT EXISTS trends (date TEXT, keyword TEXT, views INTEGER, PRIMARY KEY (date, keyword))")
    conn.commit()
    return conn

def run():
    conn = init_db()
    today = str(date.today())
    week_ago = str(date.today() - timedelta(days=7))
    rows = []
    for kw in KEYWORDS:
        views = total_views(kw)
        conn.execute("INSERT OR REPLACE INTO trends VALUES (?,?,?)", (today, kw, views))
        conn.commit()
        prev = conn.execute("SELECT views FROM trends WHERE keyword=? AND date=?", (kw, week_ago)).fetchone()
        growth = ((views - prev[0]) / prev[0] * 100) if prev and prev[0] else None
        rows.append((kw, views, growth))
    rows.sort(key=lambda x: x[2] or 0, reverse=True)
    print(f"YouTube Trend Report — {today}")
    for kw, views, g in rows:
        g_str = f"+{g:.0f}%" if g else "no prior"
        print(f"  {kw:<35} {views:>10,} | {g_str}")

if __name__ == "__main__":
    run()

Ejemplo en JavaScript

JavaScript
const API_KEY = 'your-scavio-api-key';
const KEYWORDS = ['vibe coding', 'ai agent tools', 'local llm setup'];

async function searchYoutube(query, n = 5) {
  const res = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'x-api-key': API_KEY },
    body: JSON.stringify({ query, platform: 'youtube', num_results: n })
  });
  const data = await res.json();
  return data.organic_results ?? [];
}

function parseViews(s) {
  if (!s) return 0;
  const m = s.toUpperCase().replace(/,/g,'').match(/([\d.]+)([KMB])?/);
  if (!m) return 0;
  return Math.round(parseFloat(m[1]) * ({K:1e3,M:1e6,B:1e9}[m[2]] ?? 1));
}

for (const kw of KEYWORDS) {
  const videos = await searchYoutube(kw);
  const total = videos.reduce((s, v) => s + parseViews(v.views), 0);
  console.log(`${kw}: ${total.toLocaleString()} total views`);
}

Salida esperada

JSON
YouTube Trend Report - 2026-05-22
  vibe coding                         24,892,441 | +187%
  ai agent tools                      18,441,209 | +94%
  cursor vs copilot                   12,209,882 | +71%
  local llm setup                      8,891,022 | +43%
  claude code tutorial                 4,102,441 | +28%

Tutoriales relacionados

  • Cómo crear un panel de estadísticas del canal de YouTube
  • Cómo crear un rastreador de hashtags de TikTok
  • Cómo crear un agente de investigación de fuentes múltiples

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.9+. Clave API de Scavio. SQLite (stdlib). Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

La mejor API de datos de YouTube en 2026

Read more
Best Of

Las mejores API de datos de YouTube sin límites de cuota (2026)

Read more
Solution

Encuentre personas influyentes de YouTube a través de API en lugar de scraping

Read more
Workflow

YouTube Influencer SERP Research Workflow

Read more
Glossary

Extracción de comentarios de YouTube

Read more
Comparison

Scavio vs Apify (YouTube actors)

Read more

Empieza a construir

Detecte temas crecientes en YouTube mediante el seguimiento del recuento de vistas de palabras clave específicas a lo largo del tiempo utilizando la API de búsqueda de Scavio. Cron diario con almacenamiento SQLite y puntuación de tendencias.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad