BAUANLEITUNG · APP-ENTWICKLER

So bauen Sie eine Suchmaschine für das Gesprochene in YouTube-Videos

Die YouTube-Suche durchsucht Titel, Beschreibungen und Tags. Sie kann Ihnen nicht sagen, welche von 400 Podcast-Folgen einen bestimmten Gast, ein Buch oder eine Idee erwähnt – oder in welcher Minute. Eine Suchmaschine auf Transkriptbasis kann das, und sie gehört zu den schnellsten nützlichen Produkten, die Sie mit der API bauen können.

Für wen
Podcast-Netzwerke, Kursplattformen, Fan-Communities, interne Videobibliotheken
Bauzeit
Ein Wochenende
API-Endpunkte
/channels/resolve/batch/transcripts/{video_id}

Welches Problem es löst

Große Videobibliotheken sind praktisch nicht durchsuchbar. Fans spulen stundenlang durch Material, um einen Moment zu finden, an den sie sich nur halb erinnern, Kursteilnehmer schauen ganze Lektionen erneut, um eine einzige Erklärung zu finden, und Unternehmen verlieren Wissen, das in aufgezeichneten Vorträgen vergraben ist. Mit indexierten, zeitgestempelten Transkripten wird jede Bibliothek durchsuchbar wie ein Dokument – und die Treffer springen direkt zur richtigen Stelle.

Was in die erste Version gehört

  • Phrasen- und Stichwortsuche über alle Videos eines Kanals oder einer Playlist
  • Treffer mit dem passenden Satz und einem Link zum exakten Zeitstempel
  • Semantische Suche, damit „Wie lege ich meinen Preis fest“ auch „Stundensätze kalkulieren“ findet
  • Filter nach Datum, Video und Sprecher
  • Automatische Indexierung neuer Uploads

Schritt für Schritt bauen

  1. 01

    Videoliste sammeln

    Rufen Sie /channels/resolve oder /playlists/resolve mit dem Kanal-Handle bzw. der Playlist-URL auf, um alle Video-IDs und Titel zu erhalten.

  2. 02

    Transkripte gesammelt abrufen

    Senden Sie die IDs mit aktiviertem format.timestamp und format.paragraphs an /batch. Große Batches laufen asynchron – fragen Sie also /batch/{batch_id} ab oder nutzen Sie einen Webhook.

  3. 03

    Segmente indexieren

    Speichern Sie jeden Absatz mit Video-ID und Startzeit. Für die Stichwortsuche reicht die Postgres-Volltextsuche; für eine bedeutungsbasierte Suche ergänzen Sie Embeddings in pgvector oder einer Vektordatenbank.

  4. 04

    Such-UI bauen

    Geben Sie die besten Treffer mit umgebendem Text und einem Link im Format youtube.com/watch?v=ID&t=SEKUNDEN zurück, damit Nutzer genau an der richtigen Stelle landen.

  5. 05

    Aktuell halten

    Lassen Sie einen geplanten Job den Kanal erneut auflösen, neue Video-IDs finden und nur diese transkribieren.

Starter-Code

Diese Idee basiert auf dem Muster „Rezept 3: Eine Playlist gesammelt in eine Wissensdatenbank laden“. Setzen Sie Ihre eigenen Kanäle, Prompts und Speicherlösungen ein.

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

Warum es sich lohnt

Verkaufen Sie es an den Eigentümer der Bibliothek statt an die Zuschauer: Podcast-Netzwerke, Kursplattformen und Unternehmen mit internen Videoarchiven zahlen eine Monatsgebühr für eine Suche, die ihr Publikum bei der Stange hält. Für Fan-Communities funktioniert auch eine kostenlose öffentliche Suche mit einem bezahlten Tarif für Benachrichtigungen oder API-Zugriff.

Fehler, die Sie vermeiden sollten

  • Ganze Transkripte als ein einziges Dokument indexieren: Ohne Zeitstempel auf Absatzebene werden die Suchergebnisse nutzlos.
  • Bei jedem Update den gesamten Kanal neu transkribieren, statt festzuhalten, welche Video-IDs bereits verarbeitet wurden.
  • Sich nur auf exakte Stichworttreffer verlassen: Gesprochene Sprache ist unordentlich, also bauen Sie früh eine semantische Suche ein.

Fragen zu dieser Idee

Brauche ich eine Vektordatenbank, um YouTube-Transkripte zu durchsuchen?

Nein. Die Postgres-Volltextsuche bewältigt die Stichwortsuche für die meisten Bibliotheken gut. Ergänzen Sie Embeddings, wenn Treffer der Bedeutung statt dem exakten Wortlaut entsprechen sollen.

Wie verlinke ich einen Suchtreffer auf die genaue Stelle im Video?

Jedes Transkriptsegment enthält eine Startzeit in Sekunden. Hängen Sie &t= gefolgt von dieser Zahl an die YouTube-URL an.

Kann ich Videos ohne Untertitel indexieren?

Ja. Aktivieren Sie allow_asr mit einer Webhook-URL, dann transkribiert die API das Audio per KI-Spracherkennung, wenn keine Untertitel vorhanden sind.

Fangen Sie noch heute an

10 kostenlose Credits pro Monat. Keine Kreditkarte nötig.

YouTube-Videosuche bauen: Suche in Videoinhalten | YouTubeTranscript.dev