Youtube Playlist Transcript Scraper
Pricing
$5.00 / 1,000 results
Youtube Playlist Transcript Scraper
Under maintenanceExtract transcripts from all videos in a YouTube playlist with enriched metadata including title, description, views, and timestamps. Utilizes two other existing actors to create a full workflow.
0.0 (0)
Pricing
$5.00 / 1,000 results
0
3
2
Last modified
11 days ago
Batch extract transcripts from entire YouTube playlists with enriched video metadata
Overview
This Apify actor automatically extracts transcripts from all videos in a YouTube playlist. Unlike single-video transcript scrapers, this tool processes entire playlists at once and enriches transcript data with comprehensive video metadata.
Perfect for:
- Content analysis and research
- Transcript archival
- SEO and content strategy
- Educational content processing
- Market research from video content
Features
- Batch Processing: Process entire playlists automatically
- Configurable Limits: Set maximum number of videos to process
- Rich Metadata: Each transcript includes video title, description, publication date, channel info, views, and duration
- Error Handling: Gracefully handles videos without transcripts
- Timestamped Transcripts: Full transcript data with precise timing information
Quick Start
Using in Apify Console
- Go to Apify Console
- Find "Playlist Transcript Scraper"
- Enter your playlist URL and desired max results
- Click Start and download results when complete
Example Input
{"playlistUrl": "https://www.youtube.com/playlist?list=PLjXib16-6_9Hj-QsEWLBGhaE1elDjo-et","maxResults": 10}
Example Output
Each transcript entry contains:
{"data": [{"start": "0.080","dur": "3.359","text": "a lot of it is social media..."}],"videoTitle": "Your new business partner: Social Media","videoDescription": "You don't need millions of followers...","videoPublicationDate": "2024-12-10T15:40:23.000Z","videoUrl": "https://www.youtube.com/watch?v=...","channelName": "Patric Shannon","viewCount": 168,"duration": "00:00:32"}
See examples/sample-output.json for a complete example.
Input Parameters
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
playlistUrl | String | Yes | Full YouTube playlist URL | - |
maxResults | Integer | No | Maximum number of videos to process (1-999) | 999 |
Output Schema
Each transcript object includes:
Transcript Data
data- Array of transcript segments with timestampsstart- Start time in secondsdur- Duration of segmenttext- Transcript text
Video Metadata
videoTitle- Video titlevideoDescription- Full video descriptionvideoPublicationDate- ISO 8601 format publication datevideoUrl- Direct link to videochannelName- YouTube channel nameviewCount- Total view countduration- Video length (HH:MM:SS)
Local Development
Prerequisites
- Node.js 16+
- Apify account
Setup
# Clone the repositorygit clone https://github.com/willscott-v2/youtube-playlist-transcript-scraper.gitcd youtube-playlist-transcript-scraper# Install dependenciesnpm install# Login to Apifyapify login# Run locallyapify run
Project Structure
.├── .actor/│ ├── INPUT_SCHEMA.json # Input field definitions│ └── actor.json # Actor metadata├── src/│ └── main.js # Main orchestration logic├── examples/│ └── sample-output.json # Example output├── README.md├── LICENSE├── CHANGELOG.md└── package.json
How It Works
This actor chains two existing Apify actors:
streamers/youtube-scraper- Extracts video URLs and metadata from the playlistpintostudio/youtube-transcript-scraper- Retrieves transcript for each video- Custom orchestrator - Merges transcript data with enriched video metadata
Technical Flow
Input: Playlist URL↓Extract all videos from playlist (streamers/youtube-scraper)↓Limit to maxResults↓For each video:- Get transcript (pintostudio/youtube-transcript-scraper)- Merge with video metadata- Handle errors gracefully↓Output: Array of enriched transcript objects
Limitations
- Only processes videos with available transcripts (auto-generated or manual)
- Respects YouTube's terms of service
- Processing time increases with playlist size
- Some videos may fail if transcripts are disabled
Troubleshooting
"Actor with this name was not found"
Verify the actor IDs are correct. Check the Apify Store.
Empty dataset returned
Ensure the playlist URL is valid and videos have transcripts available.
"playlistUrl is undefined"
Make sure INPUT_SCHEMA.json is in the .actor/ folder.
Roadmap
See CHANGELOG.md for version history.
Planned Enhancements (v2.0.0)
- Parallel processing for faster execution
- Language selection for multi-language transcripts
- Export to CSV/TXT formats
- Retry logic with exponential backoff
- Progress indicators and error tracking
Contributing
Contributions welcome! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Credits
Built with:
Support
- Issues: GitHub Issues
- Apify Discord: Join the community
- Documentation: Apify Docs
Built with ❤️ for the content analysis community
