🚀 YouTube Multilingual Video Details & Transcript Scraper🚀 avatar
🚀 YouTube Multilingual Video Details & Transcript Scraper🚀

Pricing

$4.00/month + usage

Go to Store
🚀 YouTube Multilingual Video Details & Transcript Scraper🚀

🚀 YouTube Multilingual Video Details & Transcript Scraper🚀

Developed by

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Scrape full video metadata (title, description, channel info, publish date, view/like counts, tags, categories, thumbnails), channel details, and all engagement metrics. Plus: Download complete video transcripts in any available or auto-translated language, with clean plain-text output.

5.0 (1)

Pricing

$4.00/month + usage

0

Total users

48

Monthly users

10

Runs succeeded

89%

Last modified

17 hours ago

YouTube Video Details Scraper

Unlock the power of in-depth YouTube video analytics with our Video Details Scraper. Extract comprehensive metadata, engagement metrics, and now full video transcripts in any language you want.

Overview

This actor allows you to scrape detailed information about YouTube videos, including title, description, view count, keywords, thumbnail URLs, and more. You can also download the full transcript of the video in any available language (original or auto-translated). It provides valuable insights for content creators, marketers, and researchers looking to analyze video performance, metadata, and spoken content.

Features

  • Detailed Video Information: Extract comprehensive metadata about each video.
  • Thumbnail URLs: Get links to various sizes of video thumbnails.
  • Channel Details: Retrieve information about the video's channel.
  • Engagement Metrics: Capture view counts and other relevant statistics.
  • Keywords and Categories: Extract video tags and categories for better understanding of content.
  • Transcripts in Any Language: Download the full transcript in the original or any supported/translated language.
  • Customizable: Flexible configuration options to suit various scraping needs.
  • Proxy Support: Built-in proxy configuration to enhance scraping reliability and avoid blocks.
  • Scrape 35+ critical data points from any YouTube video, including:

🎯 Core Metrics

  • View counts (live/archived)
  • Engagement: Likes/Dislikes ratio, comment density
  • Monetization: Ad placements, sponsor segments
  • Performance: CTR %, retention graphs (when available)

📊 Engagement Analytics

  • Real-time subscriber deltas
  • Share tracking (platform-specific breakdown)
  • Heatmap-style interaction patterns
  • Audience demographics (age/gender distributions)

📜 Content Details

  • Multilingual Transcripts
    • Raw timestamped data
    • Clean text-only versions
    • 100+ language support (auto-translate enabled)
  • Enhanced metadata:
    • Chapters/markers analysis
    • Hashtag performance metrics
    • Cards/end screens inventory

🛠 Technical Features

  • Automatic resolution of:
    • All YouTube URL formats (including embeds/shorts)
    • Video ID extraction from complex parameters

How to Use

  1. Set Up: Ensure you have an Apify account and access to the Apify platform.
  2. Configure Input: Set the YouTube video URL(s) you want to scrape details for (see Input Configuration section).
  3. (Optional) Adjust additional parameters like concurrency, proxy settings, and transcript language.
  4. Run the Scraper: Execute the scraper on the Apify platform.
  5. Data Collection: The scraper will output detailed data about the specified YouTube video(s), including transcripts.

Input Configuration

Here's an example of how to set up the input for the YouTube Video Details Scraper:

{
"startUrls": [
{
"url": "https://www.youtube.com/watch?v=K07bw2bKI8U&t=985s&ab_channel=CohhCarnage"
}
],
"maxConcurrency": 10,
"minConcurrency": 1,
"maxRequestRetries": 10,
"proxy": {
"useApifyProxy": true
},
"includeTranscript": true,
"language": "en"
}

Input Fields Explanation

  • startUrls: Array of YouTube video URLs to scrape details from.
  • maxConcurrency: Maximum number of pages processed simultaneously (default: 10).
  • minConcurrency: Minimum number of pages processed simultaneously (default: 1).
  • maxRequestRetries: Number of retries for failed requests (default: 10).
  • proxy: Proxy configuration for enhanced scraping reliability.
  • includeTranscript: Whether to include the transcript of the video in the output.
  • language: Select the language for the transcript. If not available, will fall back to the default language.

Output Structure

The output data includes detailed information about each video. Here's a sample of the structure:

{
"videoId": "HZz34KLKv1g",
"title": "Mein EXKLUSIV-Interview mit BJÖRN HÖCKE!",
"lengthSeconds": "2185",
"channelId": "UCf3Ns5rI0nV4EnO-KNxxtLA",
"isOwnerViewing": false,
"shortDescription": "Björn Höcke von der AfD packt im Exklusiv-Interview vor den wichtigen Wahlen aus! Er spricht in diesem Interview exklusiv über seine Pläne nach der Wahl, über eine Wende in der Migrationspolitik, über die Abschaffung des Rundfunkbeitrages und den Erhalt der deutschen Kultur. Während die Mainstream-Medien Höcke von der Alternative für Deutschland kaum zu Wort kommen lassen, habe ich mit ihm bewusst ein Interview geführt, in welchem er fair und ohne dauernd unterbrochen zu werden über seine Inhalte sprechen darf. So kann sich jeder ein unabhängiges eigenes Bild ohne Framing des Mainstreams machen. Dieses Interview sollte vor den Wahlen jeder sehen! \n\nDass ich als junger freier Journalist so unabhängig für euch arbeiten kann und euch so etwas Besonderes wie dieses Exklusiv-Interview mit Björn Höcke bieten kann, ist nur Dank eurer Unterstützung möglich! Danke daher an jeden, der meine journalistische Arbeit jetzt hier freiwillig finanziell unterstützt:\nhttps://www.paypal.com/donate/?hosted_button_id=MLC396RJK2PDS\nBankverbindung: IBAN: DE21610500000049098011 BIC: GOPSDE6GXXX Kontoinhaber: Niklas Lotz",
"isCrawlable": true,
"thumbnail": {
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLA4gtlktS5Ty7HA31rCM6oRQFFZTw",
"width": 168,
"height": 94
},
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/hqdefault.jpg?sqp=-oaymwEmCMQBEG5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLAbjVtcTc1VkTOpza6dVQ_bfwFn-w",
"width": 196,
"height": 110
},
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/hqdefault.jpg?sqp=-oaymwEnCPYBEIoBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLD4O-5JI7IMjc4AreZXc9iOVngqwQ",
"width": 246,
"height": 138
},
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLB442qs88pBFKFINrEQSC4hE2ga2g",
"width": 336,
"height": 188
},
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/maxresdefault.jpg",
"width": 1920,
"height": 1080
}
]
},
"allowRatings": true,
"viewCount": "169805",
"author": "Neverforgetniki",
"isPrivate": false,
"isUnpluggedCorpus": false,
"isLiveContent": false,
"microformat": {
"playerMicroformatRenderer": {
"thumbnail": {
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/HZz34KLKv1g/maxresdefault.jpg",
"width": 1280,
"height": 720
}
]
},
"embed": {
"iframeUrl": "https://www.youtube.com/embed/HZz34KLKv1g?start=985",
"width": 1280,
"height": 720
},
"title": {
"simpleText": "Mein EXKLUSIV-Interview mit BJÖRN HÖCKE!"
},
"description": {
"simpleText": "Björn Höcke von der AfD packt im Exklusiv-Interview vor den wichtigen Wahlen aus! Er spricht in diesem Interview exklusiv über seine Pläne nach der Wahl, über eine Wende in der Migrationspolitik, über die Abschaffung des Rundfunkbeitrages und den Erhalt der deutschen Kultur. Während die Mainstream-Medien Höcke von der Alternative für Deutschland kaum zu Wort kommen lassen, habe ich mit ihm bewusst ein Interview geführt, in welchem er fair und ohne dauernd unterbrochen zu werden über seine Inhalte sprechen darf. So kann sich jeder ein unabhängiges eigenes Bild ohne Framing des Mainstreams machen. Dieses Interview sollte vor den Wahlen jeder sehen! \n\nDass ich als junger freier Journalist so unabhängig für euch arbeiten kann und euch so etwas Besonderes wie dieses Exklusiv-Interview mit Björn Höcke bieten kann, ist nur Dank eurer Unterstützung möglich! Danke daher an jeden, der meine journalistische Arbeit jetzt hier freiwillig finanziell unterstützt:\nhttps://www.paypal.com/donate/?hosted_button_id=MLC396RJK2PDS\nBankverbindung: IBAN: DE21610500000049098011 BIC: GOPSDE6GXXX Kontoinhaber: Niklas Lotz"
},
"lengthSeconds": "2185",
"ownerProfileUrl": "http://www.youtube.com/@Neverforgetnikichannel",
"externalChannelId": "UCf3Ns5rI0nV4EnO-KNxxtLA",
"isFamilySafe": true,
"availableCountries": [
"AD",
"AE",
"AF",
...
],
"isUnlisted": false,
"hasYpcMetadata": false,
"viewCount": "169805",
"category": "People & Blogs",
"publishDate": "2024-08-21T08:52:57-07:00",
"ownerChannelName": "Neverforgetniki",
"uploadDate": "2024-08-21T08:52:57-07:00",
"isShortsEligible": false,
"externalVideoId": "HZz34KLKv1g",
"likeCount": "24943"
}
},
"captions": {
"playerCaptionsTracklistRenderer": {
"captionTracks": [
{
"baseUrl": "https://www.youtube.com/api/timedtext?v=HZz34KLKv1g&ei=Wh8jaPDAMMSb2_gPrMfM-Qs&caps=asr&opi=112496729&xoaf=5&hl=hr&ip=0.0.0.0&ipbits=0&expire=1747157450&sparams=ip,ipbits,expire,v,ei,caps,opi,xoaf&signature=A901FA0AA41398ECA9D8EEAAD3869C140D4D149A.6E21805878ADE3CB7D3D65034D2B5044F0D5C1C7&key=yt8&kind=asr&lang=de",
"name": {
"simpleText": "Njemački (automatski generirano)"
},
"vssId": "a.de",
"languageCode": "de",
"kind": "asr",
"isTranslatable": true,
"trackName": ""
}
],
"audioTracks": [
{
"captionTrackIndices": [
0
]
}
],
"translationLanguages": [
{
"languageCode": "ab",
"languageName": {
"simpleText": "Abhaski"
}
},
{
"languageCode": "aa",
"languageName": {
"simpleText": "Afarski"
}
},
{
"languageCode": "af",
"languageName": {
"simpleText": "Afrikaans"
}
}...
],
"defaultAudioTrackIndex": 0
}
},
"transcript": [
{
"text": "A warm welcome to all viewers.",
"startMs": "2159",
"endMs": "6279",
"startTimeText": "0:02"
},
{
"text": "We are entering the hot phase of the",
"startMs": "4359",
"endMs": "7680",
"startTimeText": "0:04"
},
{
"text": "election campaign before the important",
"startMs": "6279",
"endMs": "9880",
"startTimeText": "0:06"
},
{
"text": "state elections in eastern Germany and the",
"startMs": "7680",
"endMs": "11880",
"startTimeText": "0:07"
},
{
"text": "whole of Germany is currently talking about the",
"startMs": "9880",
"endMs": "14080",
"startTimeText": "0:09"
},
{
"text": "Alternative for Germany, which",
"startMs": "11880",
"endMs": "15839",
"startTimeText": "0:11"
},
{
"text": "is climbing in the polls. The whole of",
"startMs": "14080",
"endMs": "17760",
"startTimeText": "0:14"
},
...
],
"transcript_only_text": "A warm welcome to all viewers. We are entering the hot phase of the election campaign before the important state elections in eastern Germany and the whole of Germany is currently talking about the Alternative for Germany, which is climbing in the polls......."
}

Output Fields Explanation

  • videoId: Unique identifier for the YouTube video.
  • title: The full title of the video.
  • lengthSeconds: Duration of the video in seconds.
  • channelId: Unique identifier for the channel that published the video.
  • isOwnerViewing: Boolean indicating if the video owner is viewing the video (usually false for scraped data).
  • shortDescription: The full description of the video as shown on YouTube.
  • isCrawlable: Boolean indicating if the video is indexable by search engines.
  • thumbnail: Object containing various sizes of thumbnail images for the video.
    • thumbnails: Array of objects, each with url, width, and height for different thumbnail sizes.
  • allowRatings: Boolean indicating if viewers can rate (like/dislike) the video.
  • viewCount: Number of times the video has been viewed.
  • author: Name of the channel or content creator.
  • isPrivate: Boolean indicating if the video is set to private.
  • isUnpluggedCorpus: Boolean related to YouTube's content classification (usually false).
  • isLiveContent: Boolean indicating if the video is or was a live stream.
  • microformat: Object containing additional metadata about the video.
    • playerMicroformatRenderer: Contains details such as:
      • thumbnail: Main thumbnail image.
      • embed: Embed information (iframe URL, width, height).
      • title: Video title.
      • description: Video description.
      • lengthSeconds: Video duration in seconds.
      • ownerProfileUrl: URL to the channel's profile.
      • externalChannelId: Channel ID.
      • isFamilySafe: Boolean indicating if the video is family-friendly.
      • availableCountries: Array of country codes where the video is available.
      • isUnlisted: Boolean indicating if the video is unlisted.
      • hasYpcMetadata: Boolean for YouTube Premium content.
      • viewCount: Video view count.
      • category: Video category (e.g., "People & Blogs").
      • publishDate: Date and time when the video was published.
      • ownerChannelName: Name of the channel owner.
      • uploadDate: Date and time when the video was uploaded.
      • isShortsEligible: Boolean indicating if the video is eligible for YouTube Shorts.
      • externalVideoId: Video ID.
      • likeCount: Number of likes.
  • captions: Object containing information about available captions and translation languages.
    • playerCaptionsTracklistRenderer: Contains:
      • captionTracks: Array of available caption tracks (subtitles), each with:
        • baseUrl: URL to fetch the captions.
        • name: Name of the caption track.
        • vssId: Caption track ID.
        • languageCode: Language code of the captions.
        • kind: Type of captions (e.g., "asr" for auto-generated).
        • isTranslatable: Boolean indicating if the captions can be auto-translated.
        • trackName: Name of the track (if any).
      • audioTracks: Array of audio track objects.
      • translationLanguages: Array of available translation languages, each with:
        • languageCode: Language code.
        • languageName: Object with simpleText (full language name).
      • defaultAudioTrackIndex: Index of the default audio track.
  • transcript: Array of transcript segments, each with:
    • text: The spoken text for that segment.
    • startMs: Start time in milliseconds.
    • endMs: End time in milliseconds.
    • startTimeText: Human-readable start time (e.g., "0:02").
  • transcript_only_text: The full transcript as a single plain text string, with all

Support

Additional Services