![YouTube Transcript Master Lite [EASY] avatar](https://images.apifyusercontent.com/UyXbkWe-EZ4ITSu9wB2lRZCLROPq4wuJD0LXDd6OHwg/rs:fill:250:250/cb:1/aHR0cHM6Ly9hcGlmeS1pbWFnZS11cGxvYWRzLXByb2QuczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20veUl2ZXZPMVkzYUY0bmJxZjYtYWN0b3ItaHNTQ245c2pndUNkZDU0OTItckJjOTU4cDlHNC1saXRlLnBuZw.webp)
YouTube Transcript Master Lite [EASY]
Pricing
$10.00 / 1,000 transcripts
![YouTube Transcript Master Lite [EASY]](https://images.apifyusercontent.com/UyXbkWe-EZ4ITSu9wB2lRZCLROPq4wuJD0LXDd6OHwg/rs:fill:250:250/cb:1/aHR0cHM6Ly9hcGlmeS1pbWFnZS11cGxvYWRzLXByb2QuczMudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20veUl2ZXZPMVkzYUY0bmJxZjYtYWN0b3ItaHNTQ245c2pndUNkZDU0OTItckJjOTU4cDlHNC1saXRlLnBuZw.webp)
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.
0.0 (0)
Pricing
$10.00 / 1,000 transcripts
1
Total users
16
Monthly users
16
Runs succeeded
>99%
Last modified
6 hours ago
📜 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.