YouTube Transcript Pro avatar

YouTube Transcript Pro

Pricing

$1.00 / 1,000 results

Go to Apify Store
YouTube Transcript Pro

YouTube Transcript Pro

Extract clean YouTube transcripts, closed captions, and rich video metadata into structured data. Perfect for AI pipelines, SEO, and content research. Cheap and no API key required!

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Danny

Danny

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract YouTube video transcripts, subtitles, captions, and video metadata in a clean Apify dataset. YouTube Transcript Pro is built for researchers, content teams, SEO workflows, AI pipelines, and anyone who needs YouTube spoken content as structured text at a competitive price.

Provide a YouTube video URL, choose the transcript language, and the Actor returns timestamped transcript segments, a plain text transcript, available caption languages, and useful video metadata such as title, uploader, views, duration, thumbnails, and publication date.

Simple pricing: $1.00 per 1,000 results.

Key Features

  • Extract complete YouTube transcripts from public caption tracks
  • Get both timestamped transcript segments and one plain text transcript
  • Choose a preferred transcript language from a readable dropdown, while the Actor receives clean codes such as en, de, es, or pt-BR
  • Automatically falls back to an available caption track when the requested language is not available
  • Supports creator-provided captions and auto-generated captions when YouTube exposes them
  • Collects video metadata including title, description, uploader details, views, duration, thumbnails, and publish date
  • Works with common YouTube URL formats, including watch URLs, youtu.be links, Shorts, embedded URLs, and youtube-nocookie URLs
  • Saves results as structured JSON that can be exported from Apify as JSON, CSV, Excel, XML, RSS, or HTML
  • No YouTube API key required

Use Cases

  • Content research: turn videos into text for review, analysis, and note-taking
  • SEO and marketing: extract spoken keywords, topics, and competitor video metadata
  • AI and automation: feed transcripts into summarizers, RAG systems, chatbots, or classification workflows
  • Journalism and media monitoring: quickly search and reference spoken content
  • Accessibility: create text versions of video content where captions are available
  • Data analysis: build structured datasets from YouTube video captions
  • Content repurposing: convert video transcripts into briefs, blog drafts, newsletters, or social posts

How to Use

  1. Open the Actor on Apify.
  2. Paste a YouTube video URL into youtube_url.
  3. Optionally choose a preferred transcript language from the dropdown.
  4. Click Start.
  5. Open the dataset and export the results in your preferred format.

Input

Provide a YouTube video URL. The language field is optional.

FieldTypeDescriptionRequired
youtube_urlStringFull YouTube video URL. Supports regular videos, Shorts, youtu.be links, embedded URLs, live replay URLs, and youtube-nocookie URLs.Yes for video runs
languageStringOptional preferred transcript language. The Apify UI shows readable language names and sends the language code to the Actor. Defaults to en. You can also type a custom YouTube/BCP-47 code if needed.No

Example Input

{
"youtube_url": "https://www.youtube.com/watch?v=CMNry4PE93Y",
"language": "en"
}

Output

The Actor stores one dataset item per processed video. A successful result includes transcript data, video metadata, language information, and status fields.

FieldTypeDescription
video_idStringYouTube video ID
urlStringNormalized YouTube video URL
titleStringVideo title
descriptionStringVideo description
channel_idStringYouTube channel ID
channel_nameStringChannel name
channel_usernameStringChannel handle or username when available
channel_thumbnailStringChannel thumbnail URL when available
subscriber_countNumberSubscriber count when visible
view_countNumberVideo view count
like_countNumberLike count when visible
comment_countNumberComment count when visible
duration_secondsNumberVideo duration in seconds
published_atStringVideo publication date when available
timestampNumberPublication date as a Unix timestamp when available
thumbnailStringVideo thumbnail URL
transcriptArrayTimestamped transcript segments with text, start, end, and duration
transcript_textStringFull transcript as a single plain text field
languageStringLanguage code used for the returned transcript
available_languagesArrayCaption languages found for the video
selected_languageStringHuman-readable caption language selected by the Actor
is_auto_generatedBooleanWhether the selected transcript is auto-generated
geo_restrictString or nullGeographic restriction information when available
statusStringsuccess or error
messageStringHuman-readable status message
error_codeStringError code, included only for error results

Some YouTube metadata fields can be hidden, disabled, or unavailable on the public video page. When that happens, the Actor keeps the output shape stable by returning an empty string, 0, or null depending on the field.

Sample Output

{
"channel_id": "UCPlpJXGoNKFYAGgqse4mQ2g",
"channel_name": "CaptJax458",
"channel_thumbnail": "https://yt3.ggpht.com/ytc/AIdro_mBVSntnsFTVjkUyckIXNURw8ap8E9xPAdPpx6O_vwnrg=s800-c-k-c0x00ffffff-no-rj",
"channel_username": "CaptJax458",
"subscriber_count": 20000,
"comment_count": 0,
"duration_seconds": 18,
"language": "en",
"like_count": 530179,
"timestamp": 1181549064,
"title": "Zombie Kid Likes Turtles",
"transcript": [
{
"duration": 4.641,
"end": 5.04,
"start": 0.399,
"text": "back here live at the waterfront village"
},
{
"duration": 4.159,
"end": 6.879,
"start": 2.72,
"text": "with my friend the zombie jonathan"
}
],
"transcript_text": "back here live at the waterfront village ...",
"published_at": "2007-06-11T08:04:24Z",
"url": "https://www.youtube.com/watch?v=CMNry4PE93Y",
"video_id": "CMNry4PE93Y",
"view_count": 76586974,
"geo_restrict": null,
"status": "success",
"message": "Successfully fetched the transcript for the video with ID 'CMNry4PE93Y'",
"available_languages": ["English (auto-generated)"],
"selected_language": "English (auto-generated)",
"is_auto_generated": true,
"description": "",
"thumbnail": "https://i.ytimg.com/vi/CMNry4PE93Y/hqdefault.jpg"
}

Error Output

If the video cannot be processed, the Actor still writes a dataset item with status: "error" so your workflow can handle failures cleanly.

{
"url": "https://www.youtube.com/watch?v=example",
"language": "en",
"status": "error",
"error_code": "transcript_not_available",
"message": "No transcript languages are available for this video."
}

Common error codes include:

  • invalid_input: the input URL or settings are not valid
  • not_found: the video is unavailable or cannot be found
  • transcript_disabled: captions are disabled for the video
  • transcript_not_available: YouTube does not expose a transcript for the video
  • language_not_available: the requested transcript language is not available
  • rate_limited: YouTube temporarily limited transcript requests
  • api_error: the transcript request failed unexpectedly

Pricing

YouTube Transcript Pro uses simple pay-per-result pricing:

  • $1.00 per 1,000 results
  • $0.001 per processed video result
  • One saved dataset item counts as one result
  • Each run processes one YouTube video URL

Example: processing 1,000 videos costs $1.00. Processing 10,000 videos costs $10.00.

Troubleshooting

Invalid URL

Use a public YouTube video URL, such as:

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/shorts/VIDEO_ID
  • https://www.youtube-nocookie.com/embed/VIDEO_ID

No Transcript Returned

Not every YouTube video has captions. Check that the video has subtitles or auto-generated captions available on YouTube. Private, deleted, restricted, or caption-disabled videos may return an error result.

Requested Language Not Returned

The Actor tries to use your requested language first. If it is not available, it selects another available caption track. Check available_languages, selected_language, and is_auto_generated in the output to see exactly what was returned.

Missing Likes, Comments, or Subscriber Counts

YouTube does not always expose every metric publicly. Some creators hide counts, comments can be disabled, and YouTube page data can vary by region or video type. Missing numeric fields are returned as 0.

FAQ

Does it work with YouTube Shorts?

Yes, if YouTube exposes captions for the Short.

Does it work with auto-generated captions?

Yes. The output includes is_auto_generated so you can tell whether the selected transcript came from YouTube auto-captions.

Do I need a YouTube API key?

No. The Actor reads public caption tracks and public video metadata.

What can I export?

You can export the dataset from Apify in formats such as JSON, CSV, Excel, XML, RSS, and HTML.