YouTube Scraper + AI Transcript & Summary avatar

YouTube Scraper + AI Transcript & Summary

Pricing

from $2.50 / 1,000 video results

Go to Apify Store
YouTube Scraper + AI Transcript & Summary

YouTube Scraper + AI Transcript & Summary

Fast, low-cost YouTube scraper for videos, search results, channels, Shorts, live streams, playlists, comments, replies, subtitles, and transcripts. Extract structured data, engagement metrics, and filtered search results at scale.

Pricing

from $2.50 / 1,000 video results

Rating

5.0

(3)

Developer

API Geek

API Geek

Maintained by Community

Actor stats

4

Bookmarked

8

Total users

6

Monthly active users

5 days ago

Last modified

Share

YouTube Scraper + Subtitles & AI Summary

A fast, reliable, and cost-effective YouTube data extraction API for Apify. Scrape YouTube Videos, Shorts, Live Streams, Channels, Playlists, Comments, Replies, and Filtered Search with native Subtitle Downloads, AI Transcripts, and AI Video Summaries.


⚡ Key Features

  • Fast & Lightweight: High-performance YouTube data collection optimized for speed and reliability.
  • 💬 Native Subtitles & Captions: Download video subtitles/closed captions in multiple formats (text, json, srt, vtt) directly to Apify Key-Value Store. Supports auto-generated and manual caption tracks.
  • 📝 AI Video Summary: Generate concise factual summaries and key topics for videos. Automatically uses native subtitles as the primary text source for faster and more cost-effective processing.
  • 🎙️ Optional AI Transcript: Optional speech-to-text transcription. Uses native subtitles when present (with zero STT audio charges) or audio transcription fallback when explicitly enabled.
  • 🔍 Full YouTube Search: Search by keywords with YouTube filters (sorting, date posted, video duration, HD, 4K, live streams, and captions).
  • 📹 Rich Video Metadata: Extract detailed video records including views, likes, comments count, subscriber count, duration, hashtags, keywords, and live stream status.
  • 📱 Shorts & Live Streams: First-class support for YouTube Shorts and Live Streams across channels and search queries.
  • 📺 Channels & Playlists: Scrape entire channels and playlists with positional index tracking.
  • 💬 Comments & Replies: Scrape top-level comments and nested reply threads sorted by Top or Newest.
  • 🏷️ Hashtag Discovery: Discover and extract videos matching any #hashtag.

💳 Simple & Transparent Pricing (Pay-Per-Event)

This Actor uses predictable Pay-Per-Event (PPE) pricing. Platform usage costs are included in the event pricing so you never get surprise compute bills.

Event TypeEvent CodeUnit PricePrice / 1,000 UnitsDescription
Actor Startapify-actor-start$0.00005 / run$0.05 / 1,000 runsBase run initialization
Video Resultvideo-result$0.0025 / item$2.50 / 1,000 videosVideo, Short, or Stream item
Subtitle Downloadsubtitle-result$0.001 / item$1.00 / 1,000 subtitlesDownloaded subtitle file saved to KVS
Comment / Replycomment-result$0.0015 / item$1.50 / 1,000 commentsTop-level comment or reply item
AI Summaryai-summary$0.005 / summary$5.00 / 1,000 summariesAI summary & key topics
AI Transcriptai-transcript$0.007 / started audio-min$7.00 / 1,000 audio-minsCharged only when audio STT is executed. 0 STT charge when native subtitles are used.

Pricing Examples

  • 100 Video Results: $0.00005 (start) + 100 × $0.0025 = $0.25005
  • 100 Videos with Subtitle Downloads: $0.00005 (start) + 100 × $0.0025 (video) + 100 × $0.001 (subtitle) = $0.35005
  • 1 Video with AI Summary (using native subtitles): $0.00005 (start) + $0.0025 (video) + $0.005 (summary) = $0.00755 (No audio minute fees)
  • 1 Video with AI Summary & Audio STT Fallback (3 min video): $0.00005 (start) + $0.0025 (video) + 3 × $0.007 (transcript) + $0.005 (summary) = $0.02855

🛠️ Input Parameters

General & Search Settings

ParameterTypeDefaultDescription
startUrlsArray of Objects[]YouTube URLs to scrape (Video, Short, Channel, Playlist, Search, or Hashtag).
searchQueriesArray of Strings[]Search keywords or phrases to scrape.
maxResultsInteger20Maximum number of results to return per query, URL, or channel.
sortingOrderString Enum"relevance"Sort search results: relevance, date, viewCount, rating.
dateFilterString EnumnullFilter search by upload date: hour, today, week, month, year.
videoTypeString Enum"video"Filter search by type: video, channel, playlist, movie.
lengthFilterString EnumnullFilter search by duration: short (<4 min), medium (4–20 min), long (>20 min).
isHDBooleanfalseFilter search results for high-definition (HD) videos.
is4KBooleanfalseFilter search results for 4K resolution videos.
isLiveBooleanfalseFilter search results for active live streams.
hasSubtitlesBooleanfalseSearch Filter: Restrict search results to videos that have subtitles/closed captions.

Subtitle Options

ParameterTypeDefaultDescription
downloadSubtitlesBooleanfalseDownload native YouTube subtitle/caption files to the Key-Value Store for each scraped video.
subtitlesLanguageString"en"Preferred subtitle language code (e.g. "en", "es", "id", "fr").
subtitlesFormatString Enum"text"Subtitle output format: text (plain text), json (timestamped cues), srt (SubRip .srt), or vtt (WebVTT .vtt).

Comments & Enrichment

ParameterTypeDefaultDescription
maxCommentsInteger0Maximum top-level comments to scrape per video (0 = disabled).
maxRepliesPerCommentInteger0Maximum nested replies per top-level comment.
commentSortString Enum"TOP"Sort comments by TOP or NEWEST.
enrichVideoMetadataBooleanfalseFetch additional engagement metadata (likes, comments count, views, subscriber count).

AI Features & Decision Logic

ParameterTypeDefaultDescription
aiSummaryBooleanfalseGenerate an AI summary and key topics. Uses available native subtitle text directly for fast, efficient processing.
aiTranscriptBooleanfalseExplicit opt-in: Generate transcript text. If native subtitles exist, uses native subtitles with 0 STT fees. If subtitles are unavailable, enables audio transcription fallback.
aiLanguageStringnullTarget language code for AI processing (e.g. "en", "es", "de").
maxAiVideosInteger10Maximum number of videos to process with AI per run (max: 100).
maxAiDurationMinutesInteger60Maximum duration (in minutes) of an individual video eligible for AI processing.
maxAiMinutesPerRunInteger60Maximum combined duration limit across all AI-processed videos in a run.

AI Decision Logic & Optionality:

  • Native Subtitles as Primary Text Source: When aiSummary: true is requested and native subtitles exist, the summary is generated directly from native subtitles without downloading audio or charging speech-to-text fees.
  • STT Fallback Requires Explicit Opt-In: Audio transcription fallback is strictly disabled unless aiTranscript: true is explicitly configured. If native subtitles are unavailable and aiTranscript: false, AI Summary is skipped gracefully with zero audio extraction or unexpected fees.

📋 Sample Input

{
"startUrls": [
{ "url": "https://www.youtube.com/watch?v=BV4ab2l0Re4" }
],
"downloadSubtitles": true,
"subtitlesLanguage": "en",
"subtitlesFormat": "srt",
"aiSummary": true,
"aiTranscript": false,
"maxResults": 1
}

📄 Sample Output (Public Dataset Item)

{
"type": "VIDEO",
"id": "BV4ab2l0Re4",
"url": "https://www.youtube.com/watch?v=BV4ab2l0Re4",
"title": "How to Add Subtitles to YouTube Videos for FREE (+ Closed Captions)",
"description": "Learn how to add subtitles and closed captions to your YouTube videos easily...",
"thumbnailUrl": "https://i.ytimg.com/vi/BV4ab2l0Re4/hqdefault.jpg",
"channelId": "UC4QobU6STFB0P71PMvOGN5A",
"channelName": "Content Creator",
"channelUrl": "https://www.youtube.com/channel/UC4QobU6STFB0P71PMvOGN5A",
"subscriberCount": 150000,
"viewCount": 163503,
"likesCount": 4200,
"publishedAt": "2024-03-15T12:00:00.000Z",
"duration": "08:42",
"durationSeconds": 522,
"isShort": false,
"isLive": false,
"liveStatus": "NONE",
"commentsCount": 350,
"subtitlesAvailable": true,
"subtitleTracks": [
{
"languageCode": "en",
"languageName": "English",
"isAutoGenerated": false
}
],
"subtitle": {
"languageCode": "en",
"languageName": "English",
"isAutoGenerated": false,
"format": "srt",
"storageKey": "SUBTITLE_BV4ab2l0Re4_en_srt"
},
"aiSummary": {
"status": "SUCCESS",
"source": "native-subtitle",
"summary": "This tutorial explains the complete step-by-step process of adding subtitles and closed captions to YouTube videos using free tools.",
"keyTopics": [
"Subtitles & Captions",
"YouTube Studio Upload",
"SRT and VTT formatting"
],
"storageKey": "AI_SUMMARY_BV4ab2l0Re4"
},
"scrapedAt": "2026-08-21T08:38:06.126Z"
}

💾 Accessing Subtitles & AI Content from Key-Value Store

Downloaded subtitles, full AI transcripts, and AI summaries are saved in the Actor run's default Key-Value Store:

  • Subtitles: Stored under SUBTITLE_{videoId}_{languageCode}_{format} (e.g. SUBTITLE_BV4ab2l0Re4_en_srt).
  • AI Transcripts: Stored under AI_TRANSCRIPT_{videoId} containing full timestamped segments and metadata.
  • AI Summaries: Stored under AI_SUMMARY_{videoId} containing executive summary text and key topic tags.

You can retrieve these records directly via the Apify Console Key-Value Store tab or via the Apify API client.