Black Friday · 30% off

Get 30% off
Voltar ao blog
Integrações

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 · ATUALIZADO OCT 09, 2026

Resposta rápida

Instale o youtube-transcript-api para um script local rápido, ou chame uma API REST hospedada se não quiser lidar com bloqueio de IP e problemas de PoToken ao implantar. Ambas as opções estão cobertas abaixo com código funcional.
01

Instale a biblioteca open-source

youtube-transcript-api é um pacote Python bem mantido que busca os dados de legenda do próprio YouTube diretamente - sem chave de API, sem cota da YouTube Data API.

pip install youtube-transcript-api

Obtenha uma transcrição com um ID de vídeo:

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

Onde isso falha ao implantar

Isso funciona de forma confiável em um notebook. Ao implantar em um servidor na nuvem, pode encontrar falhas reais e bem documentadas - bloqueio de IP, PoTokenRequired, e um erro de 'legendas desativadas' que nem sempre é o que parece. Veja o checklist de diagnóstico completo para as causas e correções exatas.

03

Consiga uma chave de API (se preferir não hospedar você mesmo)

Pegue uma chave grátis no painel - 100 créditos grátis, sem cartão.

pip install requests
04

Chame a API hospedada a partir do Python

Sem pool de proxy, sem manutenção de bloqueio de IP - apenas uma requisição 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"])

Uma requisição com falha retorna um objeto de erro em vez de lançar uma exceção específica da biblioteca, então o mesmo tratamento de erro funciona em todos os endpoints.

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

Buscando mais de um vídeo

Percorrer uma lista de IDs de vídeo funciona da mesma forma - só fique de olho no limite de requisições por minuto do seu plano. Veja o guia de limite de taxa para lógica de retry e backoff.

As duas abordagens retornam a mesma informação - a diferença é quem mantém a infraestrutura funcionando. Veja o preço completo (100 créditos grátis, sem cartão) ou leia a documentação da API para cada endpoint.

FAQ de transcrições do YouTube em Python

Q01

Qual abordagem devo usar?

youtube-transcript-api para um script local rápido ou protótipo. Uma API hospedada quando você for implantar em produção e não quiser manter workarounds de proxy/bloqueio de IP você mesmo.

Q02

A API hospedada exige a biblioteca youtube-transcript-api?

Não - é uma API REST simples. Chame com qualquer cliente HTTP (requests, httpx, até curl); nenhuma dependência específica de Python é necessária.

Q03

Posso obter marcações de tempo por linha, não só o texto completo?

Sim. Adicione timestamps=true à requisição de transcrição e a resposta também inclui segments: um {start, duration, text} por linha de legenda, com os tempos em segundos. A biblioteca open source retorna o mesmo tipo de marcação de tempo por trecho.

Q04

O que acontece se um vídeo não tiver transcrição?

As duas abordagens retornam um erro específico em vez de uma string vazia - veja o checklist de diagnóstico para saber o que cada código de erro significa.

Relacionados

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