YouTube Transcript Scraper avatar

YouTube Transcript Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
YouTube Transcript Scraper

YouTube Transcript Scraper

Get timestamped transcripts from any YouTube video or Short, in the spoken language or auto-translated into any language, plus title, channel, views and likes. Pay only for videos that return a transcript.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

Muhammad Noman Riaz

Muhammad Noman Riaz

Maintained by Community

Actor stats

1

Bookmarked

25

Total users

2

Monthly active users

14 days ago

Last modified

Share

Get the full transcript of any YouTube video or Short, with timestamps, in the original language or translated into any language YouTube supports. Each result also includes the video's title, channel, views, likes, description, thumbnails and publish date.

You only pay for videos that return a transcript. Videos that are removed, private, have no captions, or fail after all retries are skipped and not charged. They are listed in FAILED_VIDEOS in the run's key-value store with the reason.

What you can use it for

  • Feed transcripts to ChatGPT, Claude or your own LLM for summaries, Q&A and RAG
  • Turn videos into blog posts, newsletters and social posts
  • Research competitors, podcasts, lectures and interviews at scale
  • Build subtitle, search or translation datasets

Features

  • Any URL format: watch?v=, youtu.be, /shorts/, /embed/
  • Language choice: pick a language and get the human-made track if one exists, otherwise the auto-generated one
  • Auto-translation: if the language you pick has no track, YouTube translates the video's captions for you (isTranslated: true)
  • Spoken language by default: with default, you get the transcript in the language actually spoken in the video
  • Timestamped and plain text: every segment has startMs, endMs and startTimeText, plus one transcript_only_text string ready for an LLM
  • Retries with fresh residential IPs when YouTube rate-limits or asks for a bot check
  • Lean output: the raw player response is off by default, so datasets stay small and fast to download

Input

{
"startUrls": [
{ "url": "https://www.youtube.com/watch?v=qp0HIF3SfI4" },
{ "url": "https://www.youtube.com/shorts/tPEE9ZwTmy0" }
],
"language": "default",
"includeTranscript": true,
"includeFullPlayerResponse": false,
"maxConcurrency": 10,
"maxRequestRetries": 10,
"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldWhat it does
startUrlsYouTube video or Shorts URLs
languagedefault for the spoken language, or a code such as en, es, zh-Hans
includeTranscriptTurn off to get metadata only
includeFullPlayerResponseAdds YouTube's raw player response. Large, off by default
maxConcurrencyVideos processed at the same time
maxRequestRetriesAttempts per video before it is skipped
proxyResidential proxies are strongly recommended

Output

{
"transcript": [
{ "text": "How do you explain when things don't go as we assume?", "startMs": 7490, "endMs": 10690, "startTimeText": "0:07" }
],
"transcript_only_text": "How do you explain when things don't go as we assume? ...",
"transcriptLanguage": "en",
"isAutoGenerated": false,
"isTranslated": false,
"videoId": "qp0HIF3SfI4",
"title": { "simpleText": "How Great Leaders Inspire Action | Simon Sinek | TED" },
"author": "TED",
"channelId": "UCAuUUnT6oDeKwE6v1NGQxug",
"lengthSeconds": "1115",
"viewCount": "21503849",
"likeCount": "512000",
"publishDate": "2010-05-04",
"category": "Education",
"shortDescription": "Visit http://TED.com to get our entire library of TED Talks...",
"thumbnail": { "thumbnails": [{ "url": "https://i.ytimg.com/vi/qp0HIF3SfI4/hqdefault.jpg", "width": 168, "height": 94 }] },
"isShortsEligible": false,
"isLiveContent": false
}

Also included: canonicalUrl, ownerChannelName, ownerProfileUrl, uploadDate, isFamilySafe, isUnlisted, embed, captions (all available caption tracks) and other flags from YouTube.

FAQ

A video was skipped. Was I charged? No. Only results written to the dataset are charged. Check FAILED_VIDEOS for the reason.

The video has no captions at all. It is skipped. YouTube has no transcript to return.

Can I use it from an AI agent? Yes. It works through the Apify MCP server, and transcript_only_text is ready to pass to a model.

More scrapers by the same developer

Questions or a broken video? Open an issue on the actor's Issues tab and it will be looked at quickly.