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 - это хорошо поддерживаемый 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)Где это ломается после деплоя
На ноутбуке это работает надёжно. При деплое на облачный сервер могут возникнуть реальные, хорошо задокументированные сбои - блокировка IP, PoTokenRequired и ошибка 'расшифровка отключена', которая не всегда означает то, что кажется. Точные причины и решения смотрите в полном чек-листе диагностики.
Получите API-ключ (если не хотите разворачивать своё решение)
Возьмите бесплатный ключ в панели управления - 100 бесплатных кредитов, без карты.
pip install requestsВызов размещённого 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": "..." }Получение нескольких видео
Перебор списка ID видео работает так же - просто следите за лимитом запросов в минуту вашего тарифа. Логику backoff и повторов смотрите в руководстве по лимитам запросов.
Оба подхода возвращают одну и ту же информацию - разница в том, кто поддерживает инфраструктуру в рабочем состоянии. Смотрите полные цены (100 бесплатных кредитов, без карты) или читайте документацию API по каждому эндпоинту.
FAQ по расшифровкам YouTube на Python
Какой подход мне использовать?
youtube-transcript-api для быстрого локального скрипта или прототипа. Размещённый API - когда вы деплоите в продакшен и не хотите сами поддерживать обходные пути с прокси/блокировкой IP.
Нужна ли для размещённого API библиотека youtube-transcript-api?
Нет - это обычный REST API. Вызывайте его любым HTTP-клиентом (requests, httpx, даже curl); специфичная для Python зависимость не нужна.
Могу ли я получить таймкоды для каждой строки, а не только полный текст?
Да. Добавьте timestamps=true к запросу транскрипта, и в ответе также будет segments: по одному {start, duration, text} на каждую строку субтитров, время в секундах. Библиотека с открытым исходным кодом возвращает такие же отметки времени для каждого фрагмента.
Что произойдёт, если у видео нет расшифровки?
Оба подхода возвращают конкретную ошибку вместо пустой строки - что означает каждый код ошибки, смотрите в чек-листе диагностики.
Похожие материалы
- We Read 191 Starter Story Founder Interviews. Here Is What Actually Got Them Customers
- How to Get the Transcript of a YouTube Video (Computer, Phone, and Download)
- n8n YouTube Transcript Failing on Your Server? Why YouTube Blocks It and How to Fix It
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- Migrating from TranscriptAPI.com: A Field Guide
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- How to Build a RAG Pipeline with YouTube Transcripts
- The Best YouTube Transcript APIs in 2026
- GetYouTubeTranscript против TranscriptAPI
- GetYouTubeTranscript против youtubetotranscript.com
- GetYouTubeTranscript против youtube-transcript.io
- GetYouTubeTranscript против NoteGPT
- GetYouTubeTranscript против Tactiq
- GetYouTubeTranscript против Glasp
- GetYouTubeTranscript против Eightify
- GetYouTubeTranscript vs Supadata
- GetYouTubeTranscript и DownSub
- GetYouTubeTranscript vs youtubetranscript.dev