Black Friday · 30% off

Get 30% off
Назад в блог
Интеграции

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 · ОБНОВЛЕНО OCT 09, 2026

Краткий ответ

Установите youtube-transcript-api для быстрого локального скрипта, или вызывайте размещённый REST API, если не хотите разбираться с блокировкой IP и проблемами PoToken после деплоя. Оба варианта разобраны ниже с рабочим кодом.
01

Установите библиотеку с открытым исходным кодом

youtube-transcript-api - это хорошо поддерживаемый Python-пакет, который напрямую получает собственные данные субтитров YouTube - без API-ключа, без квоты YouTube Data API.

pip install youtube-transcript-api

Получите расшифровку по ID видео:

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

Где это ломается после деплоя

На ноутбуке это работает надёжно. При деплое на облачный сервер могут возникнуть реальные, хорошо задокументированные сбои - блокировка IP, PoTokenRequired и ошибка 'расшифровка отключена', которая не всегда означает то, что кажется. Точные причины и решения смотрите в полном чек-листе диагностики.

03

Получите API-ключ (если не хотите разворачивать своё решение)

Возьмите бесплатный ключ в панели управления - 100 бесплатных кредитов, без карты.

pip install requests
04

Вызов размещённого API из Python

Без пула прокси, без обслуживания блокировки IP - просто 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"])

Неудачный запрос возвращает объект ошибки вместо выброса специфичного для библиотеки исключения, поэтому одна и та же обработка ошибок работает для любого эндпоинта.

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

Получение нескольких видео

Перебор списка ID видео работает так же - просто следите за лимитом запросов в минуту вашего тарифа. Логику backoff и повторов смотрите в руководстве по лимитам запросов.

Оба подхода возвращают одну и ту же информацию - разница в том, кто поддерживает инфраструктуру в рабочем состоянии. Смотрите полные цены (100 бесплатных кредитов, без карты) или читайте документацию API по каждому эндпоинту.

FAQ по расшифровкам YouTube на Python

Q01

Какой подход мне использовать?

youtube-transcript-api для быстрого локального скрипта или прототипа. Размещённый API - когда вы деплоите в продакшен и не хотите сами поддерживать обходные пути с прокси/блокировкой IP.

Q02

Нужна ли для размещённого API библиотека youtube-transcript-api?

Нет - это обычный REST API. Вызывайте его любым HTTP-клиентом (requests, httpx, даже curl); специфичная для Python зависимость не нужна.

Q03

Могу ли я получить таймкоды для каждой строки, а не только полный текст?

Да. Добавьте timestamps=true к запросу транскрипта, и в ответе также будет segments: по одному {start, duration, text} на каждую строку субтитров, время в секундах. Библиотека с открытым исходным кодом возвращает такие же отметки времени для каждого фрагмента.

Q04

Что произойдёт, если у видео нет расшифровки?

Оба подхода возвращают конкретную ошибку вместо пустой строки - что означает каждый код ошибки, смотрите в чек-листе диагностики.

Похожие материалы

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