Get Video Transcript
Extract transcript from any supported online video (YouTube, Vimeo, Twitter/X, TikTok, Facebook, Dailymotion, Loom, etc.) with optional language selection. The endpoint auto-detects the platform from the URL and routes internally.
The URL inside video_url is what determines the upstream behavior.
Note: for Instagram videos, use /transcribe instead (speech-to-text).
Options:
transcript_text=true: Returns the transcript as a single plain-text string instead of an array of segments.metadata_only=true: Returns only video metadata (no transcript).fallback_to_metadata=true: If transcript is unavailable, returns video metadata with an empty transcript instead of a 404 error (ignored whenmetadata_only=true).
Billing depends on the URL:
- YouTube (full transcript OR
metadata_only=true) → 1×residential_request(the transcript fetch routes through the residential proxy) - Non-YouTube → 1×
standard_request(some platforms internally use residential and would be billed accordingly)
The charge applies whether or not a transcript is returned (mirrors the proxy hop we paid for). Set include_usage=true to receive a usage block in the response.
video_url and routes internally. (The old /youtube/transcript endpoint has been merged into /transcript.)Billing
Billing depends on the URL:- YouTube (full transcript or
metadata_only: true) → 1×residential_request(the fetch routes through the residential proxy). - Non-YouTube → 1×
standard_request(some platforms internally require residential and are billed asresidential_requestaccordingly).
include_usage: true to receive a usage block in the response.
Overview
This endpoint automatically extracts rich video metadata and transcripts from online videos with high accuracy.Supported Platforms
VidNavigator can retrieve transcripts from a wide variety of sources. Below is the list of platforms currently supported by this endpoint:- YouTube (uses residential proxy infrastructure for reliable access)
- X / Twitter (just copy the tweet video link)
- Facebook (public videos only)
- TikTok
- Dailymotion
- Loom
- Vimeo
Use Cases
Content Analysis
Search & Discovery
Accessibility
Content Creation
Request Parameters
Example Usage
Transcript as Plain Text (transcript_text=true)
Use transcript_text=true to return the transcript as a single plain-text string instead of an array of { text, start, end } segments:
Getting Metadata Only
If you only need video metadata without the transcript (faster and still counts as usage):metadata_only: true still routes through the residential proxy and is billed as a residential_request.Getting Usage Disclosure (include_usage=true)
Set include_usage: true to receive a usage block describing exactly what was charged:
Limitations
https://fb.watch/<video_id>format is not supported, use thehttps://www.facebook.com/watch/?v=<video_id>format instead.
Troubleshooting
- Invalid URL: Ensure the video URL is complete and valid. This endpoint supports direct links from YouTube, X (a tweet), Vimeo, TikTok, etc.
- Transcript Not Found: Please ensure that the video has subtitles available (either manually added or auto-generated). If no subtitles are present, the transcript cannot be extracted. Consider using
fallback_to_metadata: trueto get metadata even when transcript is unavailable. - Language Not Supported: Sometimes the selected subtitles language is not available. In which case, you will get a clear message stating that. Verify that the chosen language is available for the video. We recommend not using the language input if you are unsure.
- For Instagram videos: This endpoint does not transcribe Instagram. Please use the /transcribe endpoint instead.
Success Response (200 OK)
Returns avideo_info object and a transcript object.
Response with transcript_text: true
When you set transcript_text: true, the transcript is returned as a single string:
Response with metadata_only: true
When you set metadata_only: true, only the video metadata is returned:
Authorizations
API key authentication. Include your VidNavigator API key in the X-API-Key header.
Body
URL of the video to retrieve transcript for
"https://twitter.com/user/status/123456789"
ISO2 language code (optional)
2"en"
When true, returns only video metadata without transcript. Usage is still recorded.
When true, returns video metadata with an empty transcript if transcript is unavailable (200). Ignored if metadata_only is true.
When true, returns the transcript as a single plain-text string instead of an array of segments.
When true, the response includes a usage block listing every meter charged during this request, the total credits deducted, and the user's remaining balance.
Response
Transcript retrieved successfully
success Per-call usage disclosure. Returned only when the caller passes include_usage=true in the request body. Lists every meter that fired during this request and the credits actually deducted. Multiple charges of the same meter inside one request are consolidated into a single entry (their quantities and credits are summed). When a charge was waived through a cache-hit sponsorship (e.g. NGO), it carries waived: true + credits_saved, and a top-level waived.credits_saved summary appears.
For endpoints that involve LLM analysis (/extract/video, /extract/file, /analyze/video, /analyze/file, /youtube/search), the consolidated analysis_request charge entry carries a nested tokens object reporting the LLM input/output token tally for the request.

