YouTube es una fuente principal de investigación para reseñas de productos, tutoriales y análisis de la industria. Buscar y revisar vídeos manualmente lleva mucho tiempo. Este tutorial crea un flujo de trabajo n8n que busca videos en YouTube sobre un tema, obtiene metadatos para cada resultado y compila un informe de investigación estructurado. El flujo de trabajo utiliza la API de Scavio para la búsqueda en YouTube y se puede programar para que se ejecute diariamente para un seguimiento continuo del tema.
Requisitos previos
- Instancia n8n autohospedada o en la nube
- Una clave API de Scavio de scavio.dev
- Familiaridad básica con los nodos n8n
- Un tema de investigación para seguir
Guia paso a paso
Paso 1: Construya el nodo de búsqueda de YouTube
Cree un nodo de solicitud HTTP en n8n que busque en YouTube a través de la API de Scavio. Esto devuelve títulos de videos, canales, recuentos de vistas y URL.
// n8n Function node: YouTube search via Scavio API
const SCAVIO_KEY = $env.SCAVIO_API_KEY;
const topic = $input.first().json.topic || 'AI tools for developers';
const response = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: {
'x-api-key': SCAVIO_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: `${topic} site:youtube.com`,
country_code: 'us',
num_results: 10
})
});
const data = await response.json();
const videos = (data.organic_results || [])
.filter(r => r.link.includes('youtube.com/watch'))
.map(r => ({
title: r.title,
url: r.link,
snippet: r.snippet || '',
video_id: r.link.match(/v=([^&]+)/)?.[1] || '',
}));
return videos.map(v => ({ json: v }));Paso 2: Recopilar el informe de investigación
Agregue datos de video en un informe de investigación estructurado con hallazgos clave, canales principales y temas de contenido.
// n8n Function node: Compile YouTube research report
const videos = $input.all().map(i => i.json);
const report = {
topic: 'AI tools for developers',
date: new Date().toISOString().slice(0, 10),
video_count: videos.length,
videos: videos.map((v, i) => ({
rank: i + 1,
title: v.title,
url: v.url,
key_point: v.snippet.slice(0, 120),
})),
summary: `Found ${videos.length} relevant YouTube videos. Top themes: ${videos.slice(0, 3).map(v => v.title.split(' ').slice(0, 4).join(' ')).join(', ')}.`,
};
console.log(`Report: ${report.video_count} videos on "${report.topic}"`);
return [{ json: report }];Paso 3: Programar y entregar el informe
Agregue un activador cron para la ejecución diaria y un correo electrónico o un nodo de Slack para entregar el informe a su equipo.
// n8n workflow structure:
// 1. Cron Trigger (daily at 9 AM)
// 2. Set Node (define research topics)
// 3. HTTP Request Node (Scavio YouTube search)
// 4. Function Node (compile report)
// 5. Email/Slack Node (deliver report)
// Set Node configuration:
const topics = [
'AI developer tools review 2026',
'API development tutorial',
'developer productivity tips',
];
// Cost estimate: 3 topics x $0.005 = $0.015/day
console.log(`Daily YouTube research: ${topics.length} topics`);
console.log(`Estimated daily cost: $${(topics.length * 0.005).toFixed(3)}`);Ejemplo en Python
import os, requests, time, re
SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}
def youtube_research(topic, num=10):
resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'query': f'{topic} site:youtube.com', 'country_code': 'us', 'num_results': num})
results = resp.json().get('organic_results', [])
videos = []
for r in results:
if 'youtube.com/watch' in r.get('link', ''):
vid_match = re.search(r'v=([^&]+)', r['link'])
videos.append({'title': r['title'], 'url': r['link'],
'video_id': vid_match.group(1) if vid_match else '', 'snippet': r.get('snippet', '')})
print(f'YouTube research: "{topic}" -> {len(videos)} videos')
for v in videos[:5]:
print(f' {v["title"][:55]}')
return videos
youtube_research('AI tools for developers 2026')Ejemplo en JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;
async function youtubeResearch(topic) {
const resp = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: `${topic} site:youtube.com`, country_code: 'us', num_results: 10 })
});
const data = await resp.json();
const videos = (data.organic_results || [])
.filter(r => r.link.includes('youtube.com/watch'))
.map(r => ({ title: r.title, url: r.link, snippet: r.snippet || '' }));
console.log(`"${topic}": ${videos.length} videos`);
videos.slice(0, 5).forEach(v => console.log(` ${v.title.slice(0, 55)}`));
}
youtubeResearch('AI developer tools 2026');Salida esperada
YouTube research: "AI tools for developers 2026" -> 8 videos
Top 10 AI Coding Tools Every Developer Needs in 202
Cursor vs GitHub Copilot vs Claude Code: Full Compa
How I Use AI to Build Apps 10x Faster
The Best Free AI Tools for Developers
AI Code Review Tools That Actually Work
Report: 8 videos on "AI tools for developers"
Daily YouTube research: 3 topics
Estimated daily cost: $0.015