Содержание
Коротко
На Dev.to опубликован гайд по получению транскриптов YouTube через REST API вместо браузерного скрейпинга, который ломается при каждом изменении вёрстки. Ответ — JSON с таймкодами, простым текстом или сырыми временными метками: удобно для суммаризации LLM, RAG по видеоконтенту и генерации субтитров.
Что произошло
Автор (создатель YouTube Transcript API на RapidAPI) описывает типичную боль: приложения для пересказа роликов, семантического поиска по каналу или автоматических субтитров нуждаются в стабильном тексте с привязкой ко времени. Парсинг страницы или недокументированные эндпоинты живут неделями, пока YouTube не меняет разметку.
Предлагаемый путь — один HTTP-запрос к get-youtube-transcript.p.rapidapi.com с заголовками X-RapidAPI-Key и X-RapidAPI-Host. Параметр video_id — 11 символов или полная ссылка через url. Формат ответа задаётся format: json для пайплайнов с метаданными, text для простой суммаризации, raw для SRT-подобных сценариев. Языки — через languages=en,pt и аналоги.
В статье — минимальный пример на curl и на Python с requests: цикл по data["transcript"] печатает [start]s text. Тариф Basic — 100 бесплатных запросов в месяц; Ultra — до 100k запросов за $9 для пакетной индексации сотен роликов. Перед продакшеном автор советует прогнать публичный video_id в тестовой консоли RapidAPI.
Почему это важно
Видео — огромный корпус знаний, но LLM не «смотрят» ролики напрямую: нужен текст. Надёжный транскрипт с таймкодами позволяет резать контент на чанки для векторной базы, ссылаться на момент в плеере и строить доступность без ручной правки SRT.
Отказ от скрейпинга снижает операционные риски: меньше прокси, капч и ночных починок после обновления YouTube. Для минимального продукта и внутренних инструментов платный API с предсказуемым контрактом часто дешевле инженерного времени на поддержку парсера.
На практике
- Зарегистрируйтесь на RapidAPI — подключите YouTube Transcript API, получите ключ.
- Проверьте один ролик —
curlсformat=json, убедитесь, что язык и таймкоды подходят под задачу. - Суммаризация — склеивайте
textили передавайте чанки сstart/durationв промпт GPT/Claude. - RAG — режьте временные метки на перекрывающиеся сегменты, индексируйте с
video_idи смещением во времени в метаданных. - Пакетная индексация канала — оцените объём, при необходимости перейдите на Ultra; добавьте ограничение частоты запросов и повторы на 429/5xx.
- Языки — явно указывайте
languages, если нужен не только автосгенерированный английский.
| format | Когда использовать |
|---|---|
json |
LLM, метаданные + таймкоды |
text |
Быстрый пересказ без структуры |
raw |
Субтитры, экспорт в SRT |
Итог
Гайд — практичный чеклист «текст из YouTube без скрейпинга». Если собираете бота для пересказа лекций или RAG по видеоблогу, начните с REST-контракта и тестовой консоли RapidAPI, а не с парсера разметки страницы — и заложите бюджет запросов под массовую индексацию.