ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo extraer notas de vídeos de YouTube a Obsidian
Tutorial

Cómo extraer notas de vídeos de YouTube a Obsidian

Cree un canal automatizado que encuentre videos relevantes de YouTube, extraiga metadatos y cree notas estructuradas de Obsidian con frontmatter.

Obtener clave API gratisDocumentacion API

Ver conferencias y tutoriales de YouTube es común para aprender, pero el conocimiento se disipa sin notas. Este tutorial crea una canalización: busque videos relevantes a través de API, extraiga metadatos estructurados (título, canal, descripción) y cree notas de Obsidian con el contenido y los enlaces adecuados.

Requisitos previos

  • Python 3.8+
  • Bóveda de obsidiana con carpeta de notas
  • Una clave API de Scavio

Guia paso a paso

Paso 1: Buscar vídeos relevantes

Encuentre videos de YouTube sobre un tema y devuelva metadatos estructurados.

Python
import requests, os
from pathlib import Path
from datetime import date

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

def find_videos(topic: str, max_results: int = 5) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'youtube', 'query': topic}, timeout=10)
    videos = resp.json().get('organic', [])[:max_results]
    return [{
        'title': v.get('title', ''),
        'url': v.get('link', ''),
        'channel': v.get('channel', ''),
        'description': v.get('snippet', ''),
        'views': v.get('views', ''),
        'date': v.get('date', ''),
    } for v in videos]

Paso 2: Generar contenido de nota de obsidiana

Formatee los metadatos del vídeo como una nota Markdown compatible con Obsidian con frontmatter.

Python
def video_to_obsidian_note(video: dict, topic: str) -> str:
    today = date.today().isoformat()
    title = video['title'].replace(':', ' -').replace('/', '-')
    
    note = f"""---
title: "{title}"
channel: "{video['channel']}"
url: "{video['url']}"
topic: "{topic}"
date_added: {today}
type: video-note
tags:
  - youtube
  - {topic.replace(' ', '-')}
---

# {title}

Channel: [[{video['channel']}]]
Views: {video['views']}
Published: {video['date']}

## Summary

{video['description']}

## Key Takeaways

- 
- 
- 

## Notes



## Related

- [[{topic}]]
"""
    return note

Paso 3: Escribir notas en la bóveda de obsidiana

Guarde las notas generadas en el directorio de su bóveda de Obsidian.

Python
def save_to_vault(videos: list, topic: str, vault_path: str = '~/Documents/Obsidian/Research') -> list:
    vault = Path(vault_path).expanduser() / 'YouTube Notes'
    vault.mkdir(parents=True, exist_ok=True)
    
    saved = []
    for video in videos:
        note_content = video_to_obsidian_note(video, topic)
        filename = video['title'][:60].replace(':', '-').replace('/', '-').replace('?', '') + '.md'
        filepath = vault / filename
        
        if not filepath.exists():
            filepath.write_text(note_content)
            saved.append(str(filepath))
    
    return saved

# Usage:
videos = find_videos('FastAPI advanced patterns 2026')
saved = save_to_vault(videos, 'FastAPI')
print(f"Created {len(saved)} new notes")

Paso 4: Crear un flujo de trabajo de sesión de investigación

Combine búsqueda, creación de notas y una nota índice para un tema de investigación.

Python
def research_session(topic: str, vault_path: str = '~/Documents/Obsidian/Research') -> dict:
    videos = find_videos(topic, max_results=10)
    saved = save_to_vault(videos, topic, vault_path)
    
    # Create index note for this research session
    vault = Path(vault_path).expanduser() / 'YouTube Notes'
    index_content = f"""---
type: research-session
topic: "{topic}"
date: {date.today().isoformat()}
---

# Research: {topic}

## Videos Found\n\n"""
    for v in videos:
        title = v['title'][:60].replace(':', '-').replace('/', '-').replace('?', '')
        index_content += f"- [[{title}]] by {v['channel']}\n"
    
    index_file = vault / f"Research - {topic} - {date.today().isoformat()}.md"
    index_file.write_text(index_content)
    
    return {'topic': topic, 'videos_found': len(videos), 'notes_created': len(saved), 'index': str(index_file)}

Ejemplo en Python

Python
import requests, os
from pathlib import Path

def yt_to_obsidian(topic, vault='~/Documents/Obsidian'):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'},
        json={'platform': 'youtube', 'query': topic}).json()
    for v in r.get('organic',[])[:5]:
        note = f"# {v['title']}\nChannel: {v.get('channel','')}\nURL: {v.get('link','')}\n\n## Notes\n\n"
        Path(vault).expanduser().joinpath(f"{v['title'][:50]}.md").write_text(note)

Ejemplo en JavaScript

JavaScript
async function ytToObsidian(topic) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
    body: JSON.stringify({platform: 'youtube', query: topic})
  });
  return (await r.json()).organic?.slice(0,5).map(v => ({
    title: v.title, channel: v.channel, url: v.link,
    obsidianNote: `# ${v.title}\nChannel: ${v.channel}\n\n## Notes\n\n`
  }));
}

Salida esperada

JSON
An automated pipeline that searches YouTube, creates structured Obsidian notes with frontmatter, and generates research session index files.

Tutoriales relacionados

  • Cómo obtener transcripciones de YouTube a través de API

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+. Bóveda de obsidiana con carpeta de notas. Una clave API de Scavio. 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 para bots de resumen de vídeos de YouTube (2026)

Read more
Solution

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

Read more
Use Case

API de búsqueda de YouTube para investigación de SEO de vídeos

Read more
Workflow

YouTube Influencer SERP Research Workflow

Read more
Glossary

Extracción de comentarios de YouTube

Read more

Empieza a construir

Cree un canal automatizado que encuentre videos relevantes de YouTube, extraiga metadatos y cree notas estructuradas de Obsidian con frontmatter.

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