YouTube Transcript Scraper — with speech-to-text fallback avatar

YouTube Transcript Scraper — with speech-to-text fallback

Pricing

$8.00 / 1,000 transcript extracteds

Go to Apify Store
YouTube Transcript Scraper — with speech-to-text fallback

YouTube Transcript Scraper — with speech-to-text fallback

Extract transcripts from YouTube videos, playlists, and channels. Falls back to speech recognition when a video has no captions.

Pricing

$8.00 / 1,000 transcript extracteds

Rating

0.0

(0)

Developer

Daniel Gulla

Daniel Gulla

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

YouTube Transcript Scraper

Extract transcripts from YouTube videos, playlists, and entire channels — as clean full text, timestamped segments, and ready-to-use SRT subtitles.

The difference: this actor also handles videos that have no captions. Most transcript scrapers return an error the moment a video has no subtitle track. This one transcribes the audio with speech recognition instead, so you get a usable transcript either way.

Quick start

Paste a video URL and run it. That is the whole setup.

{
"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]
}

Or point it at a whole channel or playlist:

{
"channelUrl": "https://www.youtube.com/@mkbhd",
"maxVideos": 25,
"languages": ["en"],
"includeSrt": true
}

What you get back

FieldDescription
transcriptThe full transcript as clean, continuous text
segmentsTimestamped segments — start, end, duration, text
srtReady-to-use SRT subtitle content (optional)
languageLanguage code of the transcript
transcriptSourceyoutube-captions, youtube-auto-captions, or speech-recognition
wordCountNumber of words in the transcript
title · channel · channelIdVideo and channel metadata
durationSeconds · viewCountVideo statistics
availableLanguagesEvery caption language the video offers
scrapedAtISO timestamp of extraction

The transcriptSource field always tells you where the text came from, so you know whether you are reading human-written captions, YouTube's auto-captions, or speech recognition.

Example output

{
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"channel": "Rick Astley",
"durationSeconds": 213,
"language": "en",
"transcriptSource": "youtube-captions",
"wordCount": 486,
"transcript": "♪ We're no strangers to love ♪ ♪ You know the rules and so do I ♪ ...",
"segments": [
{ "start": 18.64, "duration": 3.28, "end": 21.92, "text": "♪ We're no strangers to love ♪" }
],
"availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"],
"scrapedAt": "2026-07-31T09:47:39.257Z"
}

Input options

OptionDefaultWhat it does
videoUrls[]Video URLs or IDs. Accepts watch links, youtu.be, Shorts, embeds, or bare 11-character IDs
playlistUrlTranscribes every video in a playlist
channelUrlTranscribes a channel's most recent uploads. Works with @handle, /channel/, /c/, and /user/ URLs
maxVideos50Hard cap on videos per run
languages["en"]Language codes in order of preference. First available match wins
preferManualCaptionstruePrefer human-written captions over auto-generated ones — they are noticeably more accurate
asrFallbacktrueTranscribe the audio when no captions exist at all
includeSegmentstrueReturn timestamped segments alongside the full text
includeSrtfalseAlso return an SRT subtitle string

You can combine videoUrls, playlistUrl, and channelUrl in a single run. Duplicates are removed automatically.

What people use it for

  • Content repurposing — turn long videos into blog posts, newsletters, and social clips
  • AI and RAG pipelines — feed video content into embeddings, summarisation, or Q&A
  • Research at scale — search across hundreds of videos by what was actually said
  • Subtitling and localisation — export SRT, then translate
  • SEO — publish transcripts so video content becomes indexable text
  • Accessibility — provide text alternatives for video content
  • Competitive and market research — track how topics are discussed across channels

Pricing

Pay per transcript. You are charged only for transcripts actually delivered — videos that are private, deleted, region-blocked, or otherwise fail cost you nothing. Failed videos still appear in the dataset with an error field explaining why, so nothing disappears silently.

Reliability notes

  • Videos are processed independently. One failure never aborts the run.
  • Requests are retried automatically on transient network and rate-limit errors.
  • Private, deleted, and age-restricted videos cannot be transcribed.
  • Live streams can only be transcribed once they have finished processing.
  • Speech recognition is used only when a video has no captions in any requested language. It is accurate for clear speech and less so over heavy background music or overlapping speakers.
  • Very long videos are truncated when falling back to speech recognition.

This actor reads publicly available data only. It does not access private videos, bypass age restrictions, or require you to provide YouTube credentials. You are responsible for ensuring your use of the extracted data complies with YouTube's Terms of Service and with copyright law in your jurisdiction.

Support

Missing a field, need another output format, or hit a video that should work but does not? Open an issue on the Issues tab of this actor. Reports that come with the video URL are usually fixed quickly.