Get a YouTube video's transcript
Return the transcript text for a YouTube video, by video ID, as ordered timestamped segments plus a concatenated plain-text field. Picks the caption track for the requested `lang` (default English, then the first available track), fetches its timed-text and parses it server-side. Returns 404 when the video has no captions.
Pricing — $ · min $0.001
Billed per record at 1 credit ($0.001) each, with a 1-credit ($0.001) minimum per call.
Authorization
bearerAuth UnifAPI API key. Provider credentials are managed by UnifAPI.
In: header
Path Parameters
1 <= lengthQuery Parameters
Caption language code to transcribe, e.g. en or es. Defaults to English.
2 <= length <= 35Header Parameters
Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md
"2026-07-01"Value in
- "2026-07-01"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/youtube/videos/string/transcript"{ "request_id": "string", "data": { "video_id": "string", "language_code": "string", "language_name": "string", "available_languages": [ { "language_code": "string", "language_name": "string" } ], "segments": [ { "start": 0, "dur": 0, "text": "string" } ], "text": "string" }, "billing": { "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true }}