ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear una canalización de agentes de datos de YouTube
Tutorial

Cómo crear una canalización de agentes de datos de YouTube

Cree un agente de inteligencia artificial que investigue canales de YouTube, analice tendencias de videos y genere informes utilizando la búsqueda de Scavio en YouTube a $0,005/consulta.

Obtener clave API gratisDocumentacion API

Los datos de búsqueda de YouTube revelan qué contenido funciona en cualquier nicho, qué creadores dominan y qué brechas existen. Este canal crea un agente que investiga un tema en YouTube, clasifica los canales según su coherencia y genera un informe del panorama competitivo. Cada búsqueda en YouTube cuesta $0,005 a través de Scavio, lo que hace un análisis de nicho completo por menos de $0,10.

Requisitos previos

  • Python 3.8+
  • solicita biblioteca
  • Una clave API de Scavio de scavio.dev
  • Apunte a nichos o temas para investigar

Guia paso a paso

Paso 1: Busque en YouTube la cobertura de temas

Consulta en YouTube vídeos sobre un tema y extrae datos del canal.

Python
import os, requests, json
from collections import Counter, defaultdict

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

def youtube_search(query):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': query, 'platform': 'youtube', 'country_code': 'us'}).json()
    results = data.get('organic_results', data.get('video_results', []))[:10]
    return [{'title': r.get('title', ''), 'channel': r.get('channel', {}).get('name', r.get('channel_name', '')),
             'views': r.get('views', 0), 'date': r.get('published_date', ''),
             'link': r.get('link', '')} for r in results]

videos = youtube_search('python web scraping tutorial 2026')
print(f'Found {len(videos)} videos')
for v in videos[:5]: print(f'  {v["channel"]:25} | {v["title"][:50]}')

Paso 2: Mapear el panorama del canal

Busque múltiples ángulos para construir un mapa de quién cubre el tema.

Python
def map_landscape(topic, angles=None):
    if not angles:
        angles = [f'{topic} tutorial', f'{topic} guide 2026', f'{topic} for beginners',
                  f'best {topic}', f'{topic} tips']
    channels = defaultdict(lambda: {'videos': 0, 'total_views': 0, 'titles': []})
    for angle in angles:
        videos = youtube_search(angle)
        for v in videos:
            ch = v['channel'] or 'Unknown'
            channels[ch]['videos'] += 1
            channels[ch]['total_views'] += v.get('views', 0) if isinstance(v.get('views'), int) else 0
            channels[ch]['titles'].append(v['title'][:60])
    cost = len(angles) * 0.005
    print(f'\nLandscape for "{topic}" ({len(angles)} queries, ${cost:.3f}):')
    sorted_ch = sorted(channels.items(), key=lambda x: x[1]['videos'], reverse=True)
    for name, data in sorted_ch[:10]:
        print(f'  {name:25} | {data["videos"]} videos | views: {data["total_views"]:,}')
    return dict(channels), cost

channels, cost = map_landscape('web scraping')

Paso 3: Identificar lagunas de contenido

Encuentre subtemas con poca competencia o cobertura desactualizada.

Python
def find_gaps(topic, subtopics):
    gaps = []
    for sub in subtopics:
        query = f'{topic} {sub}'
        videos = youtube_search(query)
        recent = [v for v in videos if '2026' in v.get('date', '') or '2025' in v.get('date', '')]
        total = len(videos)
        print(f'  {sub:25} | {total} results | {len(recent)} recent')
        if total < 5 or len(recent) < 2:
            gaps.append({'subtopic': sub, 'total': total, 'recent': len(recent),
                'opportunity': 'low competition' if total < 5 else 'outdated content'})
    print(f'\nGaps found: {len(gaps)}')
    for g in gaps:
        print(f'  {g["subtopic"]}: {g["opportunity"]} ({g["total"]} total, {g["recent"]} recent)')
    return gaps

subtopics = ['playwright', 'scrapy', 'beautifulsoup', 'selenium', 'httpx', 'curl_cffi']
gaps = find_gaps('web scraping', subtopics)

Paso 4: Generar el informe panorámico

Combine el mapeo de canales y el análisis de brechas en un informe.

Python
def generate_report(topic, subtopics=None):
    if not subtopics:
        subtopics = ['beginner', 'advanced', 'tools', 'automation', 'api']
    print(f'=== YouTube Landscape Report: {topic} ===')
    channels, map_cost = map_landscape(topic)
    print(f'\n--- Content Gaps ---')
    gaps = find_gaps(topic, subtopics)
    gap_cost = len(subtopics) * 0.005
    total_cost = map_cost + gap_cost
    top_channels = sorted(channels.items(), key=lambda x: x[1]['videos'], reverse=True)[:5]
    report = {
        'topic': topic,
        'total_channels': len(channels),
        'top_5': [{'name': n, 'videos': d['videos']} for n, d in top_channels],
        'gaps': gaps,
        'cost': total_cost
    }
    with open(f'yt_report_{topic.replace(" ", "_")}.json', 'w') as f:
        json.dump(report, f, indent=2)
    print(f'\nTotal cost: ${total_cost:.3f}. Saved report.')
    return report

generate_report('web scraping')

Ejemplo en Python

Python
import os, requests
from collections import Counter
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def yt_landscape(topic):
    channels = Counter()
    for suffix in ['tutorial', 'guide 2026', 'for beginners']:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': f'{topic} {suffix}', 'platform': 'youtube', 'country_code': 'us'}).json()
        for r in data.get('organic_results', [])[:10]:
            channels[r.get('channel', {}).get('name', 'Unknown')] += 1
    print(f'{topic} YouTube landscape ({len(channels)} channels):')
    for ch, count in channels.most_common(5):
        print(f'  {ch}: {count} videos')

yt_landscape('web scraping')

Ejemplo en JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function ytLandscape(topic) {
  const channels = {};
  for (const suffix of ['tutorial', 'guide 2026', 'for beginners']) {
    const data = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: SH,
      body: JSON.stringify({ query: `${topic} ${suffix}`, platform: 'youtube', country_code: 'us' })
    }).then(r => r.json());
    for (const r of (data.organic_results || []).slice(0, 10)) {
      const ch = r.channel?.name || 'Unknown';
      channels[ch] = (channels[ch] || 0) + 1;
    }
  }
  const sorted = Object.entries(channels).sort((a,b) => b[1]-a[1]);
  console.log(`${topic}: ${sorted.length} channels`);
  sorted.slice(0, 5).forEach(([ch, n]) => console.log(`  ${ch}: ${n} videos`));
}
ytLandscape('web scraping').catch(console.error);

Salida esperada

JSON
Landscape for "web scraping" (5 queries, $0.025):
  Tech With Tim              | 4 videos | views: 2,340,000
  Corey Schafer              | 3 videos | views: 1,890,000
  John Watson Rooney         | 3 videos | views: 456,000
  NetworkChuck               | 2 videos | views: 3,200,000
  Fireship                   | 2 videos | views: 5,100,000

--- Content Gaps ---
  playwright                 | 8 results | 3 recent
  scrapy                     | 9 results | 2 recent
  beautifulsoup              | 10 results | 1 recent
  httpx                      | 3 results | 1 recent
  curl_cffi                  | 2 results | 0 recent

Gaps found: 2
  httpx: low competition (3 total, 1 recent)
  curl_cffi: low competition (2 total, 0 recent)

Total cost: $0.055. Saved report.

Tutoriales relacionados

  • Cómo crear un canal de contenido con datos en vivo
  • Cómo crear un panel de SEO personalizado con una API de búsqueda
  • Cómo monitorear las superficies de búsqueda más allá del rango

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.8+. solicita biblioteca. Una clave API de Scavio de scavio.dev. Apunte a nichos o temas para investigar. 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
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Comparison

Scavio vs Apify (YouTube actors)

Read more
Comparison

TubeMine vs YouTube Data API (via Scavio)

Read more

Empieza a construir

Cree un agente de inteligencia artificial que investigue canales de YouTube, analice tendencias de videos y genere informes utilizando la búsqueda de Scavio en YouTube a $0,005/consulta.

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