VidNavigator is the ultimate video to text solution for extracting subtitles and captions from online videos, giving you all the essential information at your fingertips! Need full transcripts, timestamps, or video metadata? We’ve got it all. The JSON output is ready for instant integration into AI-powered applications.
VidNavigator provides different endpoints for different video platforms:
YouTube Videos
Use /transcript/youtube for YouTube videos. This endpoint uses residential proxy infrastructure for reliable access.
Other Platforms
Use /transcript for TikTok, X/Twitter, Facebook, Vimeo, Dailymotion, Loom, and other platforms.
Why separate endpoints? YouTube has implemented strict bot detection that requires residential proxy infrastructure to bypass. This dedicated endpoint allows for transparent pricing and optimized infrastructure.
from vidnavigator import VidNavigatorClient, VidNavigatorErrorclient = VidNavigatorClient()try: result = client.get_youtube_transcript( video_url="https://www.youtube.com/watch?v=dQw4w9WgXcQ" ) print("Video Title:", result.data.video_info.title) print("Available Languages:", result.data.video_info.available_languages) # Each item in the transcript is a segment with text, start, and end times for segment in result.data.transcript: print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text}")except VidNavigatorError as e: print(f"An error occurred: {e.message}")
If you only need video information without the transcript, use the metadata_only parameter. This is faster and, for YouTube, bypasses the residential proxy (making it more cost-effective):
If you want to get metadata even when a transcript isn’t available (instead of receiving a 404 error), use the fallback_to_metadata parameter:
result = client.get_youtube_transcript( video_url="https://www.youtube.com/watch?v=dQw4w9WgXcQ", fallback_to_metadata=True)# If transcript is unavailable, you'll still get video_info# but transcript will be empty
The metadata_only parameter takes precedence over fallback_to_metadata. If both are set, only metadata will be returned.
Sometimes a platform doesn’t expose captions we can fetch directly (e.g., many Instagram Reels). In that case, the transcript endpoint will return an error such as 404 transcript_not_available.When this happens you can fall back to the /transcribe endpoint, which runs speech-to-text to generate a fresh transcript.