Skip to main content
Glama
openapi.json38.1 kB
{ "openapi": "3.0.0", "info": { "title": "Youtube Media Downloader", "version": "1.0.0", "description": "RapidAPI: DataFanatic/youtube-media-downloader" }, "servers": [ { "url": "https://youtube-media-downloader.p.rapidapi.com" } ], "paths": { "/v2/video/details": { "get": { "summary": "Get Video Details (Price: 1-3)", "description": "This endpoint fetches full details of a YouTube video, including URLs of videos, audios, thumbnails and subtitles as well as related videos and playlists.", "operationId": "get_video_details_(price:_1_3)", "parameters": [ { "name": "videoId", "in": "query", "required": true, "description": "YouTube video id. The value of v in YouTube player URL query parameters.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "urlAccess", "in": "query", "required": false, "description": "Accessibility to video/audio URLs. Defaults to normal. normal: Includes video/audio file URLs – 3 quota units blocked: Excludes video/audio file URLs – 1 quota unit", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "videos", "in": "query", "required": false, "description": "Whether to get video objects. Defaults to auto. true: Includes simplified objects. raw: Includes original format objects. false: Excludes objects. auto: If urlAccess=normal, sets videos=true. If urlAccess=blocked, sets videos=false.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "audios", "in": "query", "required": false, "description": "Whether to get audio objects. Defaults to auto. true: Includes simplified objects. raw: Includes original format objects. false: Excludes objects. auto: If urlAccess=normal, sets audios=true. If urlAccess=blocked, sets audios=false.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "subtitles", "in": "query", "required": false, "description": "Example value: ", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "related", "in": "query", "required": false, "description": "Example value: ", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/playlist/videos": { "get": { "summary": "List Playlist Videos", "description": "This endpoint lists **available** videos of a YouTube playlist (unavailable ones won't be listed by YouTube). Pagination scraping is supported. Thumbnails won't be blurred by age safety.", "operationId": "list_playlist_videos", "parameters": [ { "name": "playlistId", "in": "query", "required": false, "description": "Example value: PLeCdlPO-XhWFzEVynMsmosfdRsIZXhZi0", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Default to be en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, playlistId will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/playlist/details": { "get": { "summary": "Get Playlist Details", "description": "This endpoint fetches details of a YouTube playlist (user created playlist, album or radio playlist).", "operationId": "get_playlist_details", "parameters": [ { "name": "playlistId", "in": "query", "required": true, "description": "Example value: PLeCdlPO-XhWFzEVynMsmosfdRsIZXhZi0", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "videos", "in": "query", "required": false, "description": "Example value: ", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/misc/list-items": { "post": { "summary": "List Items with Next Token", "description": "An endpoint to list items with any type of `nextToken`. This allows longer `nextToken` (\\u003e4KB) by putting it in the request body instead of the URL/header, bypassing the usual size limit of the URL/header.", "operationId": "list_items_with_next_token", "parameters": [ { "name": "nextToken", "in": "query", "required": true, "description": "A string for getting the next page of data. You can only get this string from the response of listing endpoints in this API, like Video > List Video Comments, Search > Search for Channels, and Misc > List Items with Next Token.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/hashtag/videos": { "get": { "summary": "List Hashtag Videos", "description": "This endpoint lists YouTube videos related to the hashtag. Pagination scraping is supported.", "operationId": "list_hashtag_videos", "parameters": [ { "name": "tag", "in": "query", "required": false, "description": "A hashtag without #. Try lowercase (e.g., howtocook, not HowToCook) if no results.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "type", "in": "query", "required": false, "description": "Video type. Defaults to all.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, tag and type will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/channel/playlists": { "get": { "summary": "List Channel Playlists/Releases/Podcasts", "description": "This endpoint lists playlists, releases or podcasts of a YouTube channel. Pagination scraping is supported.", "operationId": "list_channel_playlists/releases/podcasts", "parameters": [ { "name": "channelId", "in": "query", "required": false, "description": "Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "type", "in": "query", "required": false, "description": "playlists - Playlists (default value) releases - Releases (sortBy will be omitted) podcasts - Podcasts (sortBy will be omitted)", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to dateAdded.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId, type and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/channel/videos": { "get": { "summary": "List Channel Videos/Shorts/Live", "description": "This endpoint lists videos, shorts or live streams of a YouTube channel. Pagination scraping is supported.", "operationId": "list_channel_videos/shorts/live", "parameters": [ { "name": "channelId", "in": "query", "required": false, "description": "Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "type", "in": "query", "required": false, "description": "Video type. Defaults to videos.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to newest.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId, type and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/search/channels": { "get": { "summary": "Search for Channels", "description": "This endpoint searches for YouTube channels. Pagination scraping is supported.", "operationId": "search_for_channels", "parameters": [ { "name": "keyword", "in": "query", "required": false, "description": "Search term.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to relevance.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/search/videos": { "get": { "summary": "Search for Videos (Movies)", "description": "This endpoint searches for YouTube videos (movies) with optional filters. Pagination scraping is supported. Thumbnails will not be blurred by age safety.", "operationId": "search_for_videos_(movies)", "parameters": [ { "name": "keyword", "in": "query", "required": false, "description": "Search term.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "movie", "in": "query", "required": false, "description": "Example value: ", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "uploadDate", "in": "query", "required": false, "description": "Upload date. Defaults to all.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "duration", "in": "query", "required": false, "description": "all - No duration limit (default value) short - Under 4 minutes medium - 4 - 20 minutes long - Over 20 minutes", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to relevance.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword, movie, uploadDate, duration and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/video/comments": { "get": { "summary": "List Video Comments", "description": "This endpoint lists comments of a YouTube video. Pagination scraping is supported.", "operationId": "list_video_comments", "parameters": [ { "name": "videoId", "in": "query", "required": false, "description": "YouTube video id. The value of v in YouTube player URL query parameters.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to top.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, videoId and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/video/related": { "get": { "summary": "List Related Videos and Playlists", "description": "This endpoint lists related videos and playlists of a YouTube video. Pagination scraping is supported. It's recommended to get the first page by calling `Video \\u003e Get Video Details`, and then get subsequent pages here.", "operationId": "list_related_videos_and_playlists", "parameters": [ { "name": "videoId", "in": "query", "required": false, "description": "YouTube video id. The value of v in YouTube player URL query parameters.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, videoId will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/search/playlists": { "get": { "summary": "Search for Playlists", "description": "This endpoint searches for YouTube playlists. Pagination scraping is supported. Thumbnails will not be blurred by age safety.", "operationId": "search_for_playlists", "parameters": [ { "name": "keyword", "in": "query", "required": false, "description": "Search term.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to relevance.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, keyword and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/search/suggestions": { "get": { "summary": "List Autocomplete Suggestions", "description": "This endpoint lists autocomplete predictions depending on the keyword.", "operationId": "list_autocomplete_suggestions", "parameters": [ { "name": "keyword", "in": "query", "required": true, "description": "Search term.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "region", "in": "query", "required": false, "description": "Region code (ISO 3166 alpha-2) for localized results. Defaults to US.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/post/comments": { "get": { "summary": "List Post Comments", "description": "This endpoint lists comments of a YouTube community post. Pagination scraping is supported.", "operationId": "list_post_comments", "parameters": [ { "name": "postId", "in": "query", "required": false, "description": "Example value: Ugkx-rW0UIVSt9Aw-ux-w16DlRW-wwKwfwnp", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "sortBy", "in": "query", "required": false, "description": "Sorting metrics. Defaults to top.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, postId and sortBy will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/post/details": { "get": { "summary": "Get Post Details", "description": "This endpoint fetches details of a YouTube community post.", "operationId": "get_post_details", "parameters": [ { "name": "postId", "in": "query", "required": true, "description": "Example value: Ugkx-rW0UIVSt9Aw-ux-w16DlRW-wwKwfwnp", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/channel/search": { "get": { "summary": "Search for Channel Videos and Playlists", "description": "This endpoint searches for videos and playlists in a YouTube Channel. Pagination scraping is supported.", "operationId": "search_for_channel_videos_and_playlists", "parameters": [ { "name": "channelId", "in": "query", "required": false, "description": "Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "keyword", "in": "query", "required": false, "description": "Search term.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId and keyword will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/channel/posts": { "get": { "summary": "List Channel Posts (Poll/Video/Image)", "description": "This endpoint lists poll, video, or image posts of a YouTube channel. Pagination scraping is supported.", "operationId": "list_channel_posts_(poll/video/image)", "parameters": [ { "name": "channelId", "in": "query", "required": false, "description": "Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "nextToken", "in": "query", "required": false, "description": "A string for getting the next page of data. If not specified, the first page of data will be returned. If specified, channelId will be ignored.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/channel/details": { "get": { "summary": "Get Channel Details", "description": "This endpoint fetches details of a YouTube channel.", "operationId": "get_channel_details", "parameters": [ { "name": "channelId", "in": "query", "required": true, "description": "Channel ID, custom URL name or handle. @ is required as a prefix for a channel handle.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "lang", "in": "query", "required": false, "description": "Language code (IETF language tag) for localized results. Defaults to en-US. Unsupported code will fallback to en-US.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } }, "/v2/video/subtitles": { "get": { "summary": "Translate, Convert, Download Subtitle", "description": "This endpoint lets you translate, convert and download a subtitle of a YouTube video. Before doing this, please call endpoint `Video \\u003e Get Video Details` to obtain subtitle URLs.", "operationId": "translate,_convert,_download_subtitle", "parameters": [ { "name": "subtitleUrl", "in": "query", "required": true, "description": "Subtitle URL of a YouTube video. To get this, please call Video > Get Video Details first.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "format", "in": "query", "required": false, "description": "Subtitle format. Defaults to srt.", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "fixOverlap", "in": "query", "required": false, "description": "Example value: ", "schema": { "type": "string", "default": null, "enum": null } }, { "name": "targetLang", "in": "query", "required": false, "description": "Target language (IETF language tag) into which the subtitle will be translated. Leave blank to preserve the original language. Unsupported code will fallback to the original language.", "schema": { "type": "string", "default": null, "enum": null } } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": {} } } } } } } }, "components": { "securitySchemes": { "ApiAuth": { "type": "apiKey", "in": "header", "name": "X-RapidAPI-Key" } } }, "security": [ { "ApiAuth": [] } ] }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/bachai-youtube-media-downloader'

If you have feedback or need assistance with the MCP directory API, please join our Discord server