YouTube Video and Transcript API
Get a YouTube video's details from any video link, including Shorts and live streams: title, description, channel, duration, view and like counts, publish date, keywords and thumbnails, plus its timed transcript in the language you choose.
- Endpoint
- POST /youtube/get-video
- Price
- 1 credit per request
- SDK
- client.youtube.getVideo()
- MCP tool
- youtube_get_video
curl -X POST "https://api.bridgly.app/youtube/get-video" \ -H "Authorization: Bearer $BRIDGLY_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "transcriptLanguage": "en"}'import osimport requestsresponse = requests.post( "https://api.bridgly.app/youtube/get-video", headers={"Authorization": f"Bearer {os.environ['BRIDGLY_KEY']}"}, json={ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "transcriptLanguage": "en", },)data = response.json()const response = await fetch("https://api.bridgly.app/youtube/get-video", { method: "POST", headers: { Authorization: `Bearer ${process.env.BRIDGLY_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "transcriptLanguage": "en" }),});const data = await response.json();import { Bridgly } from "@bridgly/sdk";const client = new Bridgly({ apiKey: "bgly_YOUR_KEY" });const res = await client.youtube.getVideo({ url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ", transcriptLanguage: "en"});if (res.type === "success") { console.log(res.data);}What does the YouTube Video and Transcript API return?
YouTube transcript API: get any video’s timed transcript plus title, description, channel, duration, views, likes and keywords from its link, as JSON. Every response has the same envelope: the result in data, plus timeMs and the creditsCost of the call.
Request body
urlstringrequired- The video to fetch. Accepts any YouTube video link — watch, youtu.be, Shorts, embed, or live — or a bare 11-character video ID.
includeTranscriptboolean · default true- Whether to also fetch the timed transcript in the same call. Defaults to true.
transcriptLanguagestring- Preferred transcript language as a BCP-47 code, e.g. "en" or "pt-BR". Defaults to the video's own default caption track.
Example response
{ "timeMs": 1840, "creditsCost": 1, "data": { "id": "string", "url": "string", "title": "string", "description": "string", "durationSeconds": 0, "viewCount": 0, "likeCount": 0, "publishedAt": "string", "category": "string", "keywords": [ "string" ], "thumbnails": [ { "url": "string", "width": 0, "height": 0 } ], "channel": { "id": "string", "name": "string", "url": "string", "handle": "string" }, "isLive": true, "isPrivate": true, "isUnlisted": true, "isFamilySafe": true, "captionTracks": [ { "languageCode": "string", "languageName": "string", "isAutoGenerated": true } ], "transcript": { "languageCode": "string", "isAutoGenerated": true, "text": "string", "segments": [ { "startMs": 0, "durationMs": 0, "text": "string" } ] } }}What can you build with the YouTube Video and Transcript API?
Summarize videos
Feed the transcript to a model to summarize or answer questions.
Search spoken content
Index transcripts so people can find the moment something was said.
Track performance
Record views and likes on videos you manage or follow.
YouTube Video and Transcript API questions
How do I get the transcript of a YouTube video with an API?
Send any video link or the 11-character video ID. The transcript comes back as timed lines and as one block of text, in the language you set with transcriptLanguage or the video’s default caption track.
Does it work with auto-generated captions?
Yes. When a video only has YouTube’s automatic captions, those are returned and marked as auto-generated. A video with no captions returns its details with an empty transcript.
Does it work with Shorts and live streams?
Yes. It accepts watch, youtu.be, Shorts, embed and live links, as well as a bare video ID.
Can I summarize YouTube videos with an LLM?
Yes. Pass the transcript text to the model, with the title and description for context. It is the usual first step for video summaries, notes and question answering over videos.
How do I use the YouTube Video and Transcript API?
Send a POST request to https://api.bridgly.app/youtube/get-video with url in the JSON body and your API key in the Authorization header. In the TypeScript SDK, call client.youtube.getVideo(). AI agents connected to Bridgly over MCP can call the youtube_get_video tool.
How much does the YouTube Video and Transcript API cost?
Costs 1 credit per request. Credits cost $2.00 per 1,000 on pay-as-you-go and as low as $1.00 per 1,000 at volume. New accounts on a business email start with 100 free credits, and failed requests are never charged.
Try it with a free tool
Look up a public example in your browser before connecting the API. No account needed.
Try the YouTube Video and Transcript API
100 free credits on business email, no card. Your first call takes a minute.