YouTube Transcript Scraper: Captions, Metadata & Playlists avatar

YouTube Transcript Scraper: Captions, Metadata & Playlists

Pricing

from $6.00 / 1,000 transcript scrapeds

Go to Apify Store
YouTube Transcript Scraper: Captions, Metadata & Playlists

YouTube Transcript Scraper: Captions, Metadata & Playlists

Get YouTube transcripts with timestamps and video metadata for videos, playlists and channels. Pick languages, translate captions, chunk for RAG. Pay per transcript.

Pricing

from $6.00 / 1,000 transcript scrapeds

Rating

0.0

(0)

Developer

Neon Innovation Lab

Neon Innovation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Get the transcript of any YouTube video with timestamps, plus title, channel, publish date, views and length. Give it video links, whole playlists or channels and it returns one row per video. Choose languages, auto-translate captions, and split transcripts into ready-to-embed chunks for RAG, summaries and AI agents.

Videos without captions, private or unavailable videos are never charged. Only delivered transcripts are billed.

What you get

FieldDescription
statusok, no_captions, unavailable or error
videoId, url, titleVideo identity
channelName, channelId, channelUrlChannel
publishDate, lengthSeconds, viewCountMetadata
language, isAutoGenerated, isTranslationWhich captions were used
transcript, wordCountFull transcript text
segments[{ start, duration, text }] timestamps (optional)
chunks[{ start, end, text }] fixed-length pieces for embeddings (optional)
availableLanguagesAll caption languages the video offers
{
"status": "ok",
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up",
"channelName": "Rick Astley",
"language": "en",
"isAutoGenerated": false,
"wordCount": 342,
"transcript": "[Music] We're no strangers to love ...",
"segments": [{ "start": 18.64, "duration": 3.24, "text": "We're no strangers to love" }]
}

(Shortened example.)

Input

FieldDefaultNotes
urlsrequiredVideo URLs/ids, playlist URLs, channel URLs or @handles
languages["en"]Preferred languages in order. Manual captions are preferred over auto-generated. If none match, captions are auto-translated into the first language when the video allows it
maxVideosPerSource50Limit per playlist or channel
includeSegmentstrueTimestamped segments
chunkSeconds0Set e.g. 60 to get RAG chunks
includeDescriptionfalseAdds the video description
{ "urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ", "@mkbhd"], "languages": ["en", "es"], "maxVideosPerSource": 20, "chunkSeconds": 60 }

Pricing (pay per event)

EventPrice
Transcript scraped$0.006 per transcript delivered
Actor start$0.00005 per run

That is $6 per 1,000 transcripts. 100 videos cost about $0.60. Set a maximum cost per run in the Apify console and the run stops cleanly when it is reached.

Why it is reliable

YouTube blocks most automated traffic from data-center IPs. This Actor routes through residential proxies by default, rotates the IP and retries on bot checks and rate limits, and reports a clear status per video instead of silently skipping it.

Limits

  • Only videos that have captions (written or auto-generated) can return a transcript. Auto-generated captions can contain errors.
  • Private, deleted, age-restricted or members-only videos return unavailable.
  • Live streams without captions yet return no_captions.
  • Very large channels are capped by maxVideosPerSource.
  • Respect YouTube's terms and the rights of content owners when using transcripts.

FAQ

Can I get transcripts for a whole channel? Yes. Pass the channel URL or @handle and set maxVideosPerSource.

Can I get a language the video does not offer? If the video allows translation, captions are auto-translated into your first preferred language and marked isTranslation: true.

How do I use it with an AI agent or RAG pipeline? Set chunkSeconds and embed the chunks, or pass transcript directly to your LLM. The Actor can also be called over MCP through Apify.

Something broke? Open an issue from the Issues tab with the run URL and the video link.

More from Neon Innovation Lab