YouTube Scraper + AI Transcript & Summary
Pricing
from $2.50 / 1,000 video results
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
(1)
Developer
Api Geek
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 minutes ago
Last modified
Categories
Share
A fast, low-cost YouTube data extraction API for Apify. Scrape YouTube Videos, Shorts, Live Streams, Channels, Playlists, Comments, Replies, and Filtered Search with optional AI Speech-to-Text Transcripts and AI Video Summaries.
⚡ Key Features
- ⚡ Fast & Efficient: Designed for reliable, lightweight YouTube data collection.
- 🔍 Full YouTube Search: Search by keywords with YouTube search filters (sorting, date posted, video duration, HD, 4K, live, captions).
- 📹 Video Metadata & Metadata Enrichment: Extract detailed video records including views, likes, comments count, subscriber count, duration, hashtags, keywords, and live stream status.
- 📱 Shorts & Live Streams: Native support for YouTube Shorts and Live Streams across channels and search modes.
- 📺 Channels & Playlists: Channel extraction and playlist scraping with positional tracking.
- 💬 Comments & Replies: Scrape top-level comments and nested replies sorted by Top or Newest.
- 🎙️ AI Transcript: Optional speech-to-text transcription generated directly from video audio.
- 📝 AI Summary: Concise factual summary and key topics generated from the video transcript.
- 🏷️ Hashtag Discovery: Discover videos for any
#hashtag.
Note: AI Transcript and AI Summary are temporarily unavailable and will be enabled soon.
💳 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 Type | Event Code | Unit Price | Price / 1,000 Units |
|---|---|---|---|
| Actor Start | apify-actor-start | $0.00005 / run | $0.05 / 1,000 runs |
| Video Result | video-result | $0.0025 / item | $2.50 / 1,000 videos |
| Comment / Reply | comment-result | $0.0015 / item | $1.50 / 1,000 comments |
| AI Transcript | ai-transcript | $0.007 / started audio-min | $7.00 / 1,000 audio-mins |
| AI Summary | ai-summary | $0.001 / summary | $1.00 / 1,000 summaries |
Pricing Examples
- 100 Video Results:
$0.00005 (start) + 100 × $0.0025 = $0.25005 - 1 Video with AI Transcript (3 min video):
$0.00005 (start) + $0.0025 (video) + 3 × $0.007 (transcript) = $0.02355 - 1 Video with AI Transcript & Summary (3 min video):
$0.00005 (start) + $0.0025 (video) + 3 × $0.007 (transcript) + $0.001 (summary) = $0.02455
🛠️ Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | Array of Strings | [] | Search keywords or phrases to scrape. |
startUrls | Array of Objects | [] | YouTube URLs to scrape (Video, Short, Channel, Playlist, Search, Hashtag). |
maxResults | Integer | 20 | Maximum number of videos/results to return per query or channel. |
sortingOrder | String Enum | "relevance" | Sort search results: relevance, date, viewCount, rating. |
dateFilter | String Enum | null | Filter search by upload date: hour, today, week, month, year. |
videoType | String Enum | "video" | Filter search by type: video, channel, playlist, movie. |
lengthFilter | String Enum | null | Filter search by duration: short, medium, long. |
isHD | Boolean | false | Filter search results for HD videos. |
hasSubtitles | Boolean | false | Filter search results for videos with subtitles/CC. |
isLive | Boolean | false | Filter search results for live streams. |
maxComments | Integer | 0 | Maximum top-level comments per video (0 = disabled). |
maxRepliesPerComment | Integer | 0 | Maximum nested replies per top-level comment. |
commentSort | String Enum | "TOP" | Sort comments by TOP or NEWEST. |
enrichVideoMetadata | Boolean | false | Enable enhanced metadata (likes, comments count, subscriber count). |
aiTranscript | Boolean | false | Generate an AI transcript for supported YouTube videos. Optional and charged per started audio minute. |
aiSummary | Boolean | false | Generate a concise AI summary of the video's transcript. |
aiLanguage | String | null | Target language code for AI processing (e.g. "en", "es"). |
maxAiVideos | Integer | 10 | Maximum number of videos to process with AI per run. |
📋 Sample Input
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=jNQXAC9IVRw" }],"maxResults": 1,"aiTranscript": true,"aiSummary": true}
📄 Sample Output (Public Dataset Item)
{"type": "VIDEO","id": "jNQXAC9IVRw","url": "https://www.youtube.com/watch?v=jNQXAC9IVRw","title": "Me at the zoo","description": null,"thumbnailUrl": "https://i.ytimg.com/vi/jNQXAC9IVRw/hqdefault.jpg","channelId": "UC4QobU6STFB0P71PMvOGN5A","channelName": "jawed","channelUrl": "https://www.youtube.com/channel/UC4QobU6STFB0P71PMvOGN5A","subscriberCount": 6380000,"viewCount": 403515717,"likesCount": 19000000,"publishedAt": "2005-04-23T00:00:00.000Z","duration": "00:19","durationSeconds": 19,"isShort": false,"isLive": false,"liveStatus": "NONE","commentsCount": 10000000,"subtitlesAvailable": false,"scrapedAt": "2026-08-07T22:30:41.988Z","aiTranscript": {"status": "SUCCESS","language": "en","characters": 193},"aiSummary": {"status": "SUCCESS","summary": "The video highlights an elephant, noting its exceptionally long front.","keyTopics": ["Elephant", "Long front", "Animal observation"]}}