YouTube Downloader API Documentation
.MP3 Audio
Initialize a Download (Process Audio)
Initializes (processes) the audio download of a YouTube video, using the video ID.
The response of this request will be a video download resource, with an ID that can be used in the Get A Download method, to retrieve the actual file URL for download.
After the video download is created, a background job will start processing the request and fetch the audio file from YouTube servers. This process could be fast for short videos, but could take up to 10 minutes for long videos.
The MP3 file will be available anytime for download, once the process has been completed. If you want a new download link generated, you simply need to send another ‘Get A Download’ request with the downloadID.
If you initialize a download more than once and we have a successful download existing for the file, we will return the download object instead of initiating the process again - this avoids accidental duplicate credit charges for the user.
Endpoint
POST https://dashboard.transcriptdownloader.com/api/downloads/audio
Body
{
"youtube_video_id": "<string>"
}
Example responses
Successful response - when the download process has been initialized.
{
"data": {
"id": "01JW72M0AGW3M6R3QDCS30RD2P",
"youtube_video_id": "Fqdz6A-5d04",
"type": "audio",
"duration": "01:47:55",
"cost": "1.079",
"status": "pending",
"created_at": "2025-01-23T00:30:50.000000Z",
"audio_url": null
}
}
Subsequent response - prior to completion, processing the audio and readying for download
{
"error": "You already have a pending download for this video",
"id": "01JW72M0AGW3M6R3QDCS30RD2P"
}
Get A Download (Direct URL Link To Download)
A download can be accessed through the API by using the following endpoint:
Endpoint
GET https://dashboard.transcriptdownloader.com/downloads/{downloadId}
Example responses
Success - Download has been processed correctly
{
"data": {
"id": "01JW72M0AGW3M6R3QDCS30RD2P",
"youtube_video_id": "Fqdz6A-5d04",
"type": "audio",
"duration": "01:47:55",
"cost": "1.079",
"status": "success",
"created_at": "2025-01-23T00:30:50.000000Z",
"audio_url": "https://drive.transcriptdownloader.com/audios/youtube-tBBaHQoPZR0.mp3?Expires=..."
}
}
Success - Download still processing
{
"data": {
"id": "01JW72M0AGW3M6R3QDCS30RD2P",
"youtube_video_id": "Fqdz6A-5d04",
"type": "audio",
"duration": "01:47:55",
"cost": "1.079",
"status": "pending",
"created_at": "2025-01-23T00:30:50.000000Z",
"audio_url": null
}
}
Failed download
{
"data": {
"id": "01JW72M0AGW3M6R3QDCS30RD2P",
"youtube_video_id": "Fqdz6A-5d04",
"type": "audio",
"duration": "01:47:55",
"cost": "1.079",
"status": "failed",
"created_at": "2025-01-23T00:30:50.000000Z",
"audio_url": null
}
}
Error responses
- 401 Forbidden - Invalid API key. Double check your API key is correct or regenerate a new one
- 404 Error - Item does not exist or has been deleted
- 429 Error - Too many requests. Reduce polling rate frequency to stay within limit
- 503 Error - Down for maintenance
Transcripts & Metadata
Get Profile Information & Full Channel List
Our API retrieves a YouTube channel’s profile and full media list with partial metadata. For complete metadata, use the ‘initialize transcription & metadata’ endpoint on individual media. Results may take a moment to compile.
Endpoint
POST https://dashboard.transcriptdownloader.com/api/channel/profile
Body
{
"url": "<string>"
}
Example Response
The response will include the channel’s profile metadata, and partial metadata info for all media in list.
{
"status": "success",
"youtube_id": "UCuD-OWq0lLKLGkuWuNs35sA",
"title": "State Of Mind",
"url": "https://www.youtube.com/@state-of-mind",
"thumbnail": "https://yt3.ggpht.com/...",
"description": "Channel description...",
"total_media": 3,
"creation_date": "2014-01-29 23:41:51",
"subscriber_count": 62800,
"total_views": 2155260,
"country": "US",
"cost": "0.500",
"source": "api",
"videos": [
{
"youtube_id": "p8x9NVSZ0r4",
"title": "Video Title",
"thumbnail": "https://i.ytimg.com/vi/p8x9NVSZ0r4/default.jpg",
"published_at": "2024-07-12 00:00:25",
"duration": 490
}
],
"download": {
"id": "01K31YQ38SNP30F7218NX4SMN7",
"youtube_video_id": "UCuD-OWq0lLKLGkuWuNs35sA",
"type": "list",
"cost": "0.500",
"status": "success",
"response": null,
"created_at": "2025-08-19T20:01:17.000000Z"
}
}
Error responses
- 400 Error - Incorrect ID or media restricted
- 401 Error - Insufficient credits
- 401 Forbidden - Invalid API key
- 429 Error - Too many requests
- 503 Error - Down for maintenance
Initialize Transcription & Metadata using YouTube Video ID and Language
Our API allows you to get a Youtube Video Transcripts & Metadata in real time.
Endpoint
POST https://dashboard.transcriptdownloader.com/api/transcripts
Body
{
"youtube_video_id": "<string>",
"language": "<string>",
"include_comments": boolean
}
Example response
{
"status": "ok",
"video": {
"youtube_id": "AyOjAEn36b8",
"link": "https://youtube.com/watch?v=AyOjAEn36b8",
"title": "Video Title",
"description": "",
"publishedAt": "2025-05-29 17:00:09",
"duration": "00:00:58",
"viewCount": 2828633,
"likeCount": 101223,
"commentCount": 3260,
"channelId": "UC0biv5ldm7-TzRXdr79pqAw",
"channelName": "Channel Name",
"transcriptsWithTimeStamps": [
{
"dur": "2.08",
"text": "transcript text",
"start": "0.16"
}
],
"transcripts": "Full transcript text..."
},
"download": {
"id": "123DDJNRUND",
"youtube_video_id": "AyOjAEn36b8",
"type": "captions",
"cost": "1.600",
"status": "success",
"created_at": "2025-06-16T21:34:43.000000Z"
}
}
Error responses
- 401 Forbidden - Invalid API key
- 401 Error - Insufficient credits
- 404 Error - Item does not exist or has been deleted
- 429 Error - Too many requests
- 503 Error - Down for maintenance
Get a Previously Generated Transcript & Metadata, Using Download ID
Endpoint
GET https://dashboard.transcriptdownloader.com/api/transcripts/{downloadID}
The response data structure will be similar to when you process a transcript for the first time, with the exception that this does not generate a new process and does not have an extra cost for you.
Rate Limiting
The API has a rate limit of 75 requests per minute, 1.25 requests per second.
Support
If you need assistance or have any questions about using the API, please contact our support team at https://transcriptdownloader.com/#contact.