~/social/youtube-transcript-scraper

YouTube Subtitle & Transcript Scraper——JSON、SRT、VTT、LLM 多格式输出

从视频、Shorts、播放列表与频道中提取 YouTube 字幕与文字稿,输出为 JSON、SRT、VTT、纯文本,或适合 LLM 使用的干净文本。支持 100+ 种语言、丰富的元数据、无需 API 密钥——提取失败不收费。

媒体 TypeScriptInnerTube 全球
proooxy/youtube-transcript-scraper — 规格
分类social / 媒体
语言TypeScript
技术栈TypeScript, InnerTube
市场全球
输出干净、RAG 就绪的 JSON

核心特性

单一输入即可处理视频、Shorts、youtu.be 短链接、播放列表与频道——可在同一次运行中混合使用

五种输出格式——JSON(带时间戳)、SRT、VTT、纯文本,以及 LLM 就绪格式(去除 [Music]、[Applause] 与说话人标签)

支持 100+ 种语言,可设置优先级语言列表,并可切换是否回退到自动生成字幕

丰富的元数据——标题、频道、简介、发布日期、播放量、缩略图、时长与可用语言

批量处理整个播放列表与频道,支持 maxVideos 上限与 1–10 的并发数

支持住宅代理,并可选提供 cookie 以减少机器人检测拦截

多层提取机制——最多跨 InnerTube 客户端提供九级回退,并以 yt-dlp PO-token 作为最后手段

熔断机制与逐条错误处理,确保大批量任务持续运行

应用场景

  • AI/ML 团队基于视频语音构建 RAG 或微调数据集(输出 LLM 就绪文本)
  • 内容团队将文字稿二次创作为博客文章、节目笔记与社交媒体文案
  • SEO 营销人员提取可检索的视频文本,用于收录与关键词研究
  • 需要标准 SRT/VTT 字幕文件的编辑与出版方
  • 批量采集整个频道或播放列表文字稿的研究人员
  • 无需 YouTube API 密钥即可获取结构化、带时间戳字幕的开发者

输入参数

参数类型必填说明
urlsarray可选YouTube URL 或裸 ID——视频、Shorts、youtu.be 链接、播放列表或频道。运行时为必填。
outputFormatstring可选文字稿格式:json、srt、vtt、text 或 llm(默认:json)。
languagesarray可选按优先级排序的字幕语言偏好,使用 ISO 639-1 代码(默认:en)。
includeAutoGeneratedboolean可选当没有人工字幕时,是否回退到自动生成字幕(默认:true)。
maxVideosnumber可选每次运行处理的视频数量上限,例如用于播放列表/频道场景(默认:0 表示不限)。
maxConcurrencynumber可选并行处理的视频数,1–10(默认:3)。
proxyConfigurationobject可选代理设置;默认使用固定为美国的 Apify 住宅代理。
youtubeCookiesstring可选可选的 YouTube cookie(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}

价格

按事件计费:每份成功提取的文字稿只收费一次——提取失败的视频永远不收费。你可以直接输入整个频道或播放列表,只为实际拿到的字幕付费。

使用建议

  • RAG 与微调场景请使用 outputFormat: llm——它会移除非语音标注,让你的向量嵌入只看到干净的文本。
  • 请保持住宅代理开启。 YouTube 会激进地封锁数据中心 IP;该 Actor 默认使用美国住宅代理正是出于这个原因。
  • 大批量任务请将 maxConcurrency 从 1–3 开始,再逐步提高——并发过高会增加大型频道抓取时触发速率限制的风险。

常见问题

我需要 YouTube API 密钥或登录吗?
不需要。该 Actor 直接提取字幕——无需 YouTube Data API 密钥,也无需登录。你可以选择性提供 cookie 输入,以减少部分视频出现的“Sign in to confirm you're not a bot”拦截。
支持哪些语言与字幕类型?
支持 100 多种语言。提供一份按优先级排序的 ISO 639-1 代码列表(默认:en);该 Actor 会优先使用人工创建的字幕,并在未关闭 includeAutoGenerated 的情况下回退到自动生成字幕。
提取失败的视频会收费吗?
不会。计费方式为按事件计费,仅在文字稿成功保存后才会产生一次计费事件。提取失败的视频会在输出中显示 error 字段,且不会产生费用。
可以获取适合 RAG 使用的干净 LLM 就绪文本吗?
可以。将 outputFormat 设为 'llm',即可去除 [Music]/[Applause] 等标注与说话人标签,生成适合生成向量嵌入与微调的干净文本。

~/social 下的相关工具

运行 YouTube Subtitle & Transcript Scraper——JSON、SRT、VTT、LLM 多格式输出,或定制专属方案

几分钟内即可在 Apify 上开始提取数据,或聘请我为你的目标源和 schema 定制专属爬虫与 RAG 管道。

在 Apify 上运行 获取定制数据