ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Workflows
  3. Pipeline quotidien de recherche et d'indexation des transcriptions YouTube
Workflow

Pipeline quotidien de recherche et d'indexation des transcriptions YouTube

Rechercher quotidiennement sur YouTube des vidéos par sujet, extraire les transcriptions et les indexer dans MongoDB pour la recherche en texte intégral.

Commencez gratuitementDocumentation API

Aperçu

Les équipes construisant des bases de connaissances à partir de contenu vidéo ont besoin d'un pipeline reproductible pour découvrir de nouvelles vidéos YouTube sur leurs sujets, extraire les transcriptions et les rendre consultables. Ce workflow s'exécute quotidiennement à 6h, recherche sur YouTube via Scavio vos sujets configurés, extrait les données de transcription des meilleurs résultats, indexe le contenu dans MongoDB avec la recherche en texte intégral activée, et exécute une requête de vérification pour confirmer que le nouveau contenu est récupérable. Pas de chasse manuelle aux vidéos ni de copier-coller de transcriptions.

Déclencheur

Planification Cron (quotidien à 6h UTC)

Planification

Quotidien à 6h UTC

Étapes du workflow

1

Rechercher des sujets sur YouTube

Interroger la plateforme YouTube de Scavio pour chaque sujet configuré. Collecter les ID, titres et descriptions des vidéos parmi les meilleurs résultats.

2

Extraire les transcriptions

Pour chaque vidéo découverte, récupérer le texte de la transcription. Ignorer les vidéos déjà dans la base de données pour éviter les doublons.

3

Indexer dans MongoDB

Insérer les documents de transcription avec métadonnées (ID vidéo, titre, chaîne, date de publication, sujet) dans MongoDB avec un index de texte.

4

Exécuter la vérification de recherche

Exécuter une requête test sur l'index de texte MongoDB pour confirmer que les nouvelles transcriptions sont récupérables et correctement classées.

Implémentation Python

Python
import requests, os, json
from datetime import datetime

H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}

TOPICS = ["search api integration 2026", "ai agent grounding tools", "serp api tutorial"]

def search_youtube_topics(topic):
    """Search YouTube for a topic and return video metadata."""
    r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
        json={"platform": "youtube", "query": topic}, timeout=10).json()
    videos = []
    for item in r.get("organic", [])[:5]:
        videos.append({
            "video_id": item.get("link", "").split("v=")[-1] if "v=" in item.get("link", "") else "",
            "title": item.get("title", ""),
            "description": item.get("snippet", ""),
            "link": item.get("link", ""),
            "topic": topic,
            "indexed_at": datetime.utcnow().isoformat()
        })
    return videos

# Collect all videos
all_videos = []
for topic in TOPICS:
    videos = search_youtube_topics(topic)
    all_videos.extend(videos)
    print(f"[YOUTUBE] {topic}: {len(videos)} videos found")

# MongoDB insert (pseudo-code - replace with your pymongo connection)
# from pymongo import MongoClient
# db = MongoClient(os.environ["MONGO_URI"]).transcripts
# db.videos.create_index([("title", "text"), ("description", "text")])
# for v in all_videos:
#     db.videos.update_one({"video_id": v["video_id"]}, {"$set": v}, upsert=True)

print(f"\nTotal videos to index: {len(all_videos)}")
for v in all_videos[:3]:
    print(f"  {v['title'][:80]} | {v['link']}")

Implémentation JavaScript

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};

const TOPICS = ["search api integration 2026", "ai agent grounding tools", "serp api tutorial"];

async function searchYoutubeTopics(topic) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({platform: "youtube", query: topic})
  }).then(r => r.json());
  return (r.organic || []).slice(0, 5).map(item => ({
    videoId: (item.link || "").includes("v=") ? item.link.split("v=").pop() : "",
    title: item.title || "",
    description: item.snippet || "",
    link: item.link || "",
    topic,
    indexedAt: new Date().toISOString()
  }));
}

(async () => {
  const allVideos = [];
  for (const topic of TOPICS) {
    const videos = await searchYoutubeTopics(topic);
    allVideos.push(...videos);
    console.log(`[YOUTUBE] ${topic}: ${videos.length} videos found`);
  }
  // MongoDB insert (pseudo-code - replace with your mongodb connection)
  // const { MongoClient } = require("mongodb");
  // const db = (await MongoClient.connect(process.env.MONGO_URI)).db("transcripts");
  // await db.collection("videos").createIndex({title: "text", description: "text"});
  // for (const v of allVideos) {
  //   await db.collection("videos").updateOne({videoId: v.videoId}, {$set: v}, {upsert: true});
  // }
  console.log(`\nTotal videos to index: ${allVideos.length}`);
  allVideos.slice(0, 3).forEach(v => console.log(`  ${v.title.slice(0, 80)} | ${v.link}`));
})();

Plateformes utilisées

YouTube

Recherche de vidéos avec transcriptions et métadonnées

Questions fréquentes

Les équipes construisant des bases de connaissances à partir de contenu vidéo ont besoin d'un pipeline reproductible pour découvrir de nouvelles vidéos YouTube sur leurs sujets, extraire les transcriptions et les rendre consultables. Ce workflow s'exécute quotidiennement à 6h, recherche sur YouTube via Scavio vos sujets configurés, extrait les données de transcription des meilleurs résultats, indexe le contenu dans MongoDB avec la recherche en texte intégral activée, et exécute une requête de vérification pour confirmer que le nouveau contenu est récupérable. Pas de chasse manuelle aux vidéos ni de copier-coller de transcriptions.

Ce workflow utilise un planification cron (quotidien à 6h utc). Quotidien à 6h UTC.

Ce workflow utilise les plateformes Scavio suivantes : youtube. Chaque plateforme est appelée via le même point de terminaison API unifié.

Oui. L'offre gratuite de Scavio comprend 50 crédits à l'inscription sans carte bancaire. Cela suffit pour tester et valider ce workflow avant de le passer à l'échelle.

Pipeline quotidien de recherche et d'indexation des transcriptions YouTube

Rechercher quotidiennement sur YouTube des vidéos par sujet, extraire les transcriptions et les indexer dans MongoDB pour la recherche en texte intégral.

Obtenez votre clé APILire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité