YouTube Transcript Master Lite [EASY] avatar
YouTube Transcript Master Lite [EASY]

Pricing

$10.00 / 1,000 transcripts

Go to Store
YouTube Transcript Master Lite [EASY]

YouTube Transcript Master Lite [EASY]

Developed by

Zerohour

Zerohour

Maintained by Community

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:

FieldTypeDescriptionRequiredDefault
sourcesArrayA list of YouTube URLs. Can include video URLs (watch?v=), playlist URLs (playlist?list=), or channel URLs (@handle, /c/, /user/).Yes[]
maxVideosIntegerOptional. 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.No0
languageStringThe two-letter language code for the desired transcript (e.g., en, es, de).No"en"
useApifyProxyBooleanIf true, uses Apify's residential proxies for fetching. Highly recommended to avoid blocks. If false, uses the container's direct IP.Notrue
delayBetweenVideosIntegerAn optional delay in milliseconds to wait between processing each video. Useful for mitigating rate limits on very large lists.No3000

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:

FieldTypeDescription
urlStringThe original YouTube video URL processed.
languageStringThe language code requested for the transcript.
titleStringThe title of the video (N/A or 'Processing Error' if extraction failed).
durationIntegerThe duration of the video in seconds (0 or -1 if extraction failed).
videoLinkStringSame as url, provided for convenience.
uploadDateString|nullThe publication date of the video (YYYY-MM-DD format), if found.
textString|nullThe plain text transcript, if found (with improved handling for \").
errorString|nullAn error message if processing the video or fetching the transcript failed for this video.
detailsString|nullAdditional 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.