YouTube Transcript Master Lite [EASY]
Pricing
$10.00 / 1,000 transcripts
YouTube Transcript Master Lite [EASY]
Pay per result! Get YouTube transcripts and captions by bulk via channel, playlist, and video URLs. A "lite" version of YouTube Transcript Master.
Pricing
$10.00 / 1,000 transcripts
Rating
0.0
(0)
Developer

Zerohour
Actor stats
2
Bookmarked
29
Total users
15
Monthly active users
7 months ago
Last modified
Categories
Share
๐ YouTube Transcript Master (Lite)
Pay Per Results
This Lite Actor extracts plain text transcripts from YouTube videos using a mix of sources like: channel URLs, playlist URLs, and video URLs. It fetches video metadata (title, duration, upload date) alongside the text transcript.
โญ This is the Lite version of YouTube Transcript Master
๐ Features
- Retrieve plain text transcripts in bulk with a mix of inputs like: YouTube channels, playlists, or individual video links.
- Extracts video title, duration, and upload date.
- Supports specifying the desired transcript language.
- Uses efficient HTML scraping minimizing CPU usage.
- Includes enhanced retry logic for network requests to improve reliability.
- Optionally uses Apify's residential proxies for consistent results.
- Allows setting a maximum number of videos to process.
โ๏ธ Input
The actor takes a JSON object as input with the following properties:
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
sources | Array | A list of YouTube URLs. Can include video URLs (watch?v=), playlist URLs (playlist?list=), or channel URLs (@handle, /c/, /user/). | Yes | [] |
maxVideos | Integer | Optional. Limit the number of videos processed. If set, the actor stops after processing this many videos. Leave empty or set to 0 for no limit. | No | 0 |
language | String | The two-letter language code for the desired transcript (e.g., en, es, de). | No | "en" |
useApifyProxy | Boolean | If true, uses Apify's residential proxies for fetching. Highly recommended to avoid blocks. If false, uses the container's direct IP. | No | true |
delayBetweenVideos | Integer | An optional delay in milliseconds to wait between processing each video. Useful for mitigating rate limits on very large lists. | No | 3000 |
Input Example
{"sources": ["https://www.youtube.com/watch?v=b_nep8vMnkc","https://www.youtube.com/@Apify","https://www.youtube.com/playlist?list=PLObrtcm1Kw6PEnu5BpeEFb8XEoQXMw0g7"],"maxVideos": 100, // Optional limit"language": "en", // Two letter language codes: 'es', 'fr', 'pl', etc."useApifyProxy": true,"delayBetweenVideos": 3000 // Milliseconds}
๐ฅ Output
The actor outputs data to the default Apify dataset. Each item in the dataset represents a processed video and has the following structure:
| Field | Type | Description |
|---|---|---|
url | String | The original YouTube video URL processed. |
language | String | The language code requested for the transcript. |
title | String | The title of the video (N/A or 'Processing Error' if extraction failed). |
duration | Integer | The duration of the video in seconds (0 or -1 if extraction failed). |
videoLink | String | Same as url, provided for convenience. |
uploadDate | String|null | The publication date of the video (YYYY-MM-DD format), if found. |
text | String|null | The plain text transcript, if found (with improved handling for \"). |
error | String|null | An error message if processing the video or fetching the transcript failed for this video. |
details | String|null | Additional error details (like HTTP status code or stack trace) if an error occurred. |
Output Example (Success)
{"url": "https://www.youtube.com/watch?v=b_nep8vMnkc","language": "en","title": "Example Video Title","duration": 123,"videoLink": "https://www.youtube.com/watch?v=b_nep8vMnkc","uploadDate": "2023-10-27","text": "This is the extracted plain text transcript...","error": null,"details": null}
Output Example (Failure - general processing error)
{"url": "https://www.youtube.com/watch?v=invalidVideoId","language": "en","title": "Processing Error","duration": -1,"videoLink": "https://www.youtube.com/watch?v=invalidVideoId","uploadDate": null,"text": null,"error": "Failed to process: Failed to extract valid playerResponse from HTML after 2 attempts.","details": "Error: Failed to extract valid playerResponse from HTML after 2 attempts.\n at processVideos (/actor/main.js:266:23)\n at ..."}
๐ Usage Notes
- Recent Uploads: Recently uploaded videos may not have transcripts available immediately.
- Private or Deleted Videos: Attempting to process these videos will result in errors.
- Live Streams: Processing live or upcoming streams may result in errors or incomplete data, as transcripts are generated after the stream concludes.
๐ฌ Support
If you encounter issues or have questions, please refer to the actor's logs or contact me @ https://x.com/t_zerohour.