API
Extract a YouTube transcript programmatically. Same facts live in /AGENTS.md.
Base URL
https://getvideotranscript.com/api/
Authentication
Most videos need an API key. Pass it as ?api_key=, Authorization: Bearer, or JSON api_key. Email support@getvideotranscript.com for a key. The demo id dQw4w9WgXcQ is open.
GET /api/youtube
Extract a transcript. Send url or video_id. Also accepts POST.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes* | Full YouTube URL |
video_id | string | Yes* | 11-character video ID |
api_key | string | Optional | Your API key |
clean | boolean | Optional | Set true to clean with AI |
* Either url or video_id is required.
GET https://getvideotranscript.com/api/youtube?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ
POST https://getvideotranscript.com/api/youtube
Content-Type: application/json
{
"video_id": "dQw4w9WgXcQ",
"api_key": "YOUR_API_KEY",
"clean": true
}
{
"success": true,
"video_id": "dQw4w9WgXcQ",
"total_entries": 123,
"transcript": [
{ "text": "We're no strangers to love", "start": 0.5, "duration": 2.3 }
]
}
GET /api/health
Liveness check.
{
"status": "healthy",
"service": "YouTube Transcript API",
"version": "1.0.0"
}
HTTP status codes
| Status | Description |
|---|---|
200 | Transcript retrieved |
400 | Missing or invalid parameters — do not retry |
401 | Missing or invalid API key — do not retry |
404 | No transcript — do not retry |
500 | Server error — back off |
Supported URL formats
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDVIDEO_ID