YouTube Subtitle & Transcript Scraper — JSON, SRT, VTT, LLM
Извлекайте субтитры и транскрипты YouTube из видео, Shorts, плейлистов и каналов в форматах JSON, SRT, VTT, обычный текст или чистый текст, готовый для LLM. 100+ языков, богатые метаданные, без API-ключа — а неудачные извлечения бесплатны.
ключевые возможности
Один вход обрабатывает видео, Shorts, ссылки youtu.be, плейлисты и каналы — можно смешивать в одном запуске
Пять форматов вывода — JSON (с таймкодами), SRT, VTT, обычный текст и LLM-ready (убирает [Music], [Applause] и метки говорящих)
100+ языков со списком приоритетов и переключаемым откатом на автоматические субтитры
Богатые метаданные — заголовок, канал, описание, дата публикации, число просмотров, превью, длительность и доступные языки
Пакетная обработка целых плейлистов и каналов с лимитом maxVideos и параллелизмом 1–10
Поддержка резидентных прокси плюс опциональные cookie для снижения числа блокировок при проверке на бота
Многослойное извлечение — до девяти резервных вариантов среди клиентов InnerTube, с PO-токеном yt-dlp как последним средством
Circuit breaker и обработка ошибок на уровне каждого элемента позволяют крупным пакетам продолжать работу
сценарии использования
- ИИ/ML-команды, строящие датасеты для RAG или fine-tuning из устной речи в видео (вывод текста LLM-ready)
- Контент-команды, превращающие транскрипты в посты блога, описания выпусков и подписи для соцсетей
- SEO-маркетологи, извлекающие индексируемый текст видео для индексации и подбора ключевых слов
- Редакторы и издатели, которым нужны стандартные файлы субтитров SRT/VTT
- Исследователи, пакетно собирающие транскрипты по всему каналу или плейлисту
- Разработчики, которым нужны структурированные субтитры с таймкодами без API-ключа YouTube
входные параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
urls | array | опционально | URL YouTube или голые ID — видео, Shorts, ссылки youtu.be, плейлисты или каналы. Обязателен во время выполнения. |
outputFormat | string | опционально | Формат транскрипта: json, srt, vtt, text или llm (по умолчанию: json). |
languages | array | опционально | Предпочитаемые языки субтитров по приоритету, коды ISO 639-1 (по умолчанию: en). |
includeAutoGenerated | boolean | опционально | Откатываться на автоматически сгенерированные субтитры, если ручные отсутствуют (по умолчанию: true). |
maxVideos | number | опционально | Лимит на число обрабатываемых видео за запуск, например для плейлистов/каналов (по умолчанию: 0 = без ограничений). |
maxConcurrency | number | опционально | Видео, обрабатываемые параллельно, 1–10 (по умолчанию: 3). |
proxyConfiguration | object | опционально | Настройки прокси; по умолчанию Apify Residential, закрепленный за US. |
youtubeCookies | string | опционально | Опциональные cookie YouTube (заголовок Cookie или cookies.txt) для снижения числа блокировок при проверке на бота. |
Пример вывода
1{
2 "videoId": "dQw4w9WgXcQ",
3 "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
4 "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
5 "channelName": "Rick Astley",
6 "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
7 "publishDate": "2009-10-25",
8 "viewCount": 1761003712,
9 "availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"],
10 "language": "en",
11 "isAutoGenerated": false,
12 "duration": 213,
13 "wordCount": 487,
14 "segmentCount": 61,
15 "text": "We're no strangers to love, you know the rules and so do I...",
16 "segments": [{ "text": "We're no strangers to love", "start": 18.64, "end": 21.88 }],
17 "error": null
18}
Цена
Оплата за событие: тарифицируется один раз за успешно извлеченный транскрипт — за неудачные видео плата никогда не взимается. Передайте целый канал или плейлист и платите только за субтитры, которые реально получите.
Советы
- Используйте
outputFormat: llmдля RAG и fine-tuning — это убирает неречевые пометки, чтобы ваши эмбеддинги видели чистый текст. - Держите резидентный прокси включенным. YouTube агрессивно блокирует IP дата-центров; актор не просто так по умолчанию использует резидентные US.
- Начинайте с
maxConcurrency1–3 для крупных задач и повышайте постепенно — высокий параллелизм увеличивает риск ограничения частоты запросов при парсинге крупных каналов.
частые вопросы
Нужен ли мне API-ключ YouTube или вход в аккаунт?
Какие языки и типы субтитров поддерживаются?
Тарифицируются ли видео, для которых извлечение не удалось?
Можно ли получить чистый текст, готовый для LLM, для RAG?
похожие в ~/social
Bluesky Scraper — посты, профили, ленты и взаимодействия
Парсинг постов, профилей, лент и взаимодействий Bluesky.
открыть