YouTube Transcript Extractor — Captions & Timestamps avatar

YouTube Transcript Extractor — Captions & Timestamps

Pricing

from $4.90 / 1,000 transcript extracteds

Go to Apify Store
YouTube Transcript Extractor — Captions & Timestamps

YouTube Transcript Extractor — Captions & Timestamps

Extract available YouTube transcripts and captions with timestamps, languages, metadata, and text exports for research or RAG workflows.

Pricing

from $4.90 / 1,000 transcript extracteds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

1

Bookmarked

12

Total users

2

Monthly active users

14 days ago

Last modified

Share

Extract available transcripts, captions, and subtitles from public YouTube videos. Get full text, timed segments, video metadata, channel info, and word counts. Supports multiple languages, auto-generated captions, and SRT/VTT/JSON/plain text output formats. Batch process up to 500 input videos with an intentionally bounded one-video default.

Features

  • Extract available transcripts from public YouTube videos with captions enabled
  • Multiple output formats: plain text, SRT subtitles, WebVTT subtitles, or raw JSON segments
  • Timed segments with start time and duration for each text block
  • Full video metadata: title, channel name, channel URL, duration, view count, publish date
  • Multi-language support with automatic fallback to available languages
  • Auto-generated caption support — falls back to YouTube's auto-captions when manual captions are unavailable
  • Batch processing — extract transcripts from up to 500 videos in a single run
  • Word count per video for content analysis
  • Accepts all YouTube URL formats: standard, short (youtu.be), embed, and shorts
  • Bounded zero-config default — attempts one known public video
  • Pay-per-event pricing — only pay for transcripts successfully extracted

Proxy Requirements

Residential proxies are strongly recommended because YouTube may block datacenter IP addresses.

  • Accounts with residential proxy access can use the default proxy configuration.
  • Other users can provide their own proxy URL or allow the actor to attempt a direct request.
  • If YouTube blocks every route, the actor records an uncharged KVS diagnostic rather than a paid transcript row.

Input

All fields are optional. The actor runs with defaults and requires no configuration.

FieldTypeDefaultDescription
urlsstring[]Example videoList of YouTube video URLs to extract transcripts from
languagestring"en"Preferred transcript language code (e.g., en, es, fr, de, ja)
includeTimestampsbooleantrueInclude timed segments with start time and duration
includeAutoGeneratedbooleantrueFall back to auto-generated captions if manual captions are unavailable
outputFormatstring"text"Output format: text, srt, vtt, or json
maxVideosinteger1Maximum videos to process (1-500)
proxyConfigurationobjectApify residentialProxy settings; direct fallback is attempted when proxy access is unavailable

Output

Each successfully extracted transcript is stored in the default dataset. Caption-unavailable, blocked, and extraction-error details are stored as uncharged KVS diagnostics.

FieldTypeDescription
videoUrlstringCanonical YouTube URL
videoIdstringYouTube video ID
titlestring or nullVideo title
channelNamestring or nullChannel name
channelUrlstring or nullChannel URL
durationstring or nullVideo duration in ISO 8601 format (e.g., PT5M30S)
viewCountnumber or nullTotal view count
publishedAtstring or nullPublish date
languagestring or nullLanguage code of the extracted transcript
isAutoGeneratedboolean or nullWhether the transcript is auto-generated by YouTube
transcriptstring or nullFull transcript text in the requested format
segmentsarray or nullTimed segments with text, start, and duration (when includeTimestamps is true)
wordCountnumber or nullTotal word count of the transcript
errorstring or nullReserved field; successful rows use null and failures are recorded in KVS
scrapedAtstringISO 8601 timestamp of extraction

Output Example

{
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up",
"channelName": "Rick Astley",
"channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"duration": "PT3M33S",
"viewCount": 1500000000,
"publishedAt": "2009-10-25",
"language": "en",
"isAutoGenerated": true,
"transcript": "We're no strangers to love You know the rules and so do I...",
"segments": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },
{ "text": "You know the rules and so do I", "start": 21.5, "duration": 3.0 }
],
"wordCount": 287,
"error": null,
"scrapedAt": "2025-06-01T12:00:00.000Z"
}

Use Cases

  • Content repurposing — convert video content into blog posts, articles, or social media copy
  • SEO and keyword research — analyze transcript text for keywords and topic coverage
  • Accessibility — generate text versions of video content for hearing-impaired users
  • Research and analysis — extract and analyze spoken content from educational or news videos
  • Subtitle generation — export SRT or VTT files for use in video editors or players
  • AI and NLP pipelines — feed transcript text into summarization, sentiment analysis, or embedding models
  • Content monitoring — track what competitors or influencers are saying in their videos

Integrations

Connect this actor with other tools in your workflow:

  • Apify API — trigger runs programmatically and retrieve results via REST API
  • Webhooks — get notified when extraction completes
  • Scheduling — set up recurring runs to monitor new video transcripts
  • Apify integrations — connect to Google Sheets, Slack, Zapier, Make, and more

Ready-to-run public tasks

  • Extract one readable transcript — one public video, clean text, no timestamps.
  • Export timestamped segments — one public video with structured caption timing.
  • Check another public video — a second bounded source demonstrating timestamp-aware text output.

All three tasks cap the run at one video and use the current includeAutoGenerated input field.

Pricing

This actor uses Pay-Per-Event (PPE) pricing: $4.90 per 1,000 transcripts extracted ($0.0049 per transcript-extracted event). Apify platform usage follows the live Store pricing entry.

FAQ

What YouTube URL formats are supported?

The actor accepts standard watch URLs (youtube.com/watch?v=), short URLs (youtu.be/), embed URLs (youtube.com/embed/), shorts URLs (youtube.com/shorts/), and bare video IDs.

What if a video has no captions?

The actor records an uncharged KVS diagnostic for that video and continues processing the remaining videos. You are not charged for unavailable transcripts.

Why does this actor need a residential proxy?

YouTube may block requests from datacenter IP addresses. Residential routing can improve reliability, but no route is guaranteed; blocked responses are reported honestly.

Can I use this on Apify's free plan?

The actor can attempt direct requests when residential proxy access is unavailable. Reliability depends on YouTube's current network controls; provide a compatible proxy when direct requests are blocked.