Black Friday · 30% off

Get 30% off
Retour au blog
Intégrations

How to Get YouTube Transcripts in Python

Two ways to pull YouTube transcripts in Python: the open-source youtube-transcript-api library, and a hosted REST API. Working code for both, and where the self-hosted approach breaks in production.

00:07:00 · SEP 26, 2026 · MIS À JOUR OCT 09, 2026

Réponse rapide

Installez youtube-transcript-api pour un script local rapide, ou appelez une API REST hébergée si vous ne voulez pas gérer les blocages d'IP et les problèmes de PoToken une fois déployé. Les deux sont couverts ci-dessous avec du code fonctionnel.
01

Installer la bibliothèque open-source

youtube-transcript-api est un package Python bien maintenu qui récupère directement les données de sous-titres de YouTube - pas de clé API, pas de quota YouTube Data API.

pip install youtube-transcript-api

Récupérez une transcription avec un ID de vidéo :

from youtube_transcript_api import YouTubeTranscriptApi

api = YouTubeTranscriptApi()
transcript = api.fetch("dQw4w9WgXcQ", languages=["en"])

for snippet in transcript:
    print(snippet.text, snippet.start, snippet.duration)
02

Où cela casse une fois déployé

Cela fonctionne parfaitement sur un ordinateur portable. Déployé sur un serveur cloud, cela peut rencontrer de vrais échecs bien documentés - blocage d'IP, PoTokenRequired, et une erreur de 'sous-titres désactivés' qui n'est pas toujours ce qu'elle semble être. Consultez la checklist de diagnostic complète pour les causes et solutions exactes.

03

Obtenez une clé API (si vous préférez ne pas auto-héberger)

Récupérez une clé gratuite depuis le tableau de bord - 100 crédits gratuits, sans carte.

pip install requests
04

Appeler l'API hébergée depuis Python

Pas de pool de proxy, pas de maintenance de blocage d'IP - juste une requête HTTP :

import requests

response = requests.get(
    "https://getyoutubetranscript.com/api/v1/transcript",
    params={"v": "dQw4w9WgXcQ"},
    headers={"Authorization": "Bearer sk_live_..."},
)
result = response.json()

print(result["data"]["transcript"])
print(result["data"]["word_count"])

Une requête échouée renvoie un objet d'erreur au lieu de lever une exception spécifique à une bibliothèque, donc la même gestion d'erreurs fonctionne sur tous les endpoints.

{ "success": false, "code": "...", "message": "..." }
05

Récupérer plus d'une vidéo

Boucler sur une liste d'IDs de vidéos fonctionne de la même façon - surveillez juste la limite de requêtes par minute de votre offre. Consultez le guide des limites de débit pour la logique de nouvelle tentative et d'attente.

Les deux approches renvoient la même information - la différence, c'est qui maintient l'infrastructure qui continue de fonctionner. Voir les tarifs complets (100 crédits gratuits, sans carte) ou lire la documentation de l'API pour chaque endpoint.

FAQ transcriptions YouTube en Python

Q01

Quelle approche dois-je utiliser ?

youtube-transcript-api pour un script local rapide ou un prototype. Une API hébergée dès que vous déployez en production et ne voulez pas maintenir vous-même les contournements de proxy/blocage d'IP.

Q02

L'API hébergée nécessite-t-elle la bibliothèque youtube-transcript-api ?

Non - c'est une API REST classique. Appelez-la avec n'importe quel client HTTP (requests, httpx, même curl) ; aucune dépendance spécifique à Python n'est nécessaire.

Q03

Puis-je obtenir des horodatages par ligne, pas seulement le texte complet ?

Oui. Ajoutez timestamps=true à la requête de transcription et la réponse inclut aussi segments : un {start, duration, text} par ligne de sous-titres, avec les temps en secondes. La bibliothèque open source renvoie le même type d'horodatage par extrait.

Q04

Que se passe-t-il si une vidéo n'a pas de transcription ?

Les deux approches renvoient une erreur spécifique plutôt qu'une chaîne vide - consultez la checklist de diagnostic pour savoir ce que signifie chaque code d'erreur.

À lire aussi

Featured on aitoolfame.comFeatured on Aura++Featured on DeepLaunch.ioFeatured on Dofollow.ToolsFeatured on EasyDoFollowFeatured on EarlyHuntFeatured on Findly.toolsFeatured on FoundrListGood AI ToolsFeatured on IndieHuntFeatured on LaunchBuffFeatured on launched.toolsFeatured on Launch Llama ToolsFeatured on LemonLaunchLiftOff launch badgeMy Launch StashGetYouTubeTranscript on Nick LaunchesOpenHunts Club MemberFeatured on saasfame.comShinyLaunchFeatured on ShowMeBestAIFeatured on toolfame.comListed on Turbo0Featured on Twelve ToolsHuzzler Embed BadgeFeatured on CodeHypeGetYouTubeTranscript on Better LaunchDokeyAIFeatured on WayfindioFeatured on LaunchZoneFeatured on NoonlaunchFeatured on WhatsthebigdataSurfaced on CodeTrendyFeatured on ScrollLaunchFeatured on ufind.bestFeatured on ShipBoostProduct WingWe Like ToolsAppa ListAcid ToolsPower Up ToolsToshi ListAIGC 160Appsy ToolsHunt for ToolsBeam ToolsTool Find DirTool SignalSaaS Tools DirSoftware BoltProduct List DirStack DirectorySaaS FieldSaaS WheelSaaS RootsStartup BenchmarksUnite ListTrustinerBest Tool VaultSolver ToolsAsh ListSmart Kit HubAI X CollectionAI Tech ViralMillion Dot HomepageThat App ShowLaunch ScrollMy Start ToolsLatest AI UpdatesSuper AI BoomTools Under RadarThe Key ToolsTool JourneyTools List HQThe App ToolsThe Mega ToolsSource DirTool CosmosTop Trend ToolsTiny Tool HubTool PrismStartup AIdeasFeatured on WonderLaunchFeatured on ShipycornFeatured on ToolsClawListed on ProofStoriesFeatured on ToolListedLaunched on Launch Streak