API для скачивания видео с YouTube
Один вызов превращает ссылку YouTube в прямую загрузку. Сначала спросите данные о ролике, если хотите показать человеку качества и дать выбрать, а потом просите файл.
Качества
Что есть у ролика и сколько весит каждое.
https://api.gapi.dev/v2/youtube/infoПараметры
urlобязательныйstringЛюбая публичная ссылка YouTube: watch?v=…, youtu.be/…, /shorts/…, /live/…
напр. https://www.youtube.com/watch?v=dQw4w9WgXcQОтветы
{
"platform": "youtube",
"id": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"author": "Rick Astley",
"author_url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"duration": 213,
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/sddefault.jpg",
"thumbnails": {
"low": "https://i.ytimg.com/vi/dQw4w9WgXcQ/default.jpg",
"max": "https://i.ytimg.com/vi/dQw4w9WgXcQ/sddefault.jpg"
},
"formats": [
{ "type": "video", "quality": "144p", "size": 5507589 },
{ "type": "video", "quality": "240p", "size": 7759569 },
{ "type": "video", "quality": "360p", "size": 11840368 },
{ "type": "video", "quality": "480p", "size": 17552966 },
{ "type": "video", "quality": "720p", "size": 29905327 },
{ "type": "video", "quality": "1080p", "size": 84361446 },
{ "type": "video", "quality": "1440p", "size": 125617724 },
{ "type": "video", "quality": "2160p", "size": 243784090 },
{ "type": "audio", "quality": "audio", "size": 3449447 }
]
}Скачивание
Одна прямая ссылка в названном формате.
https://api.gapi.dev/v2/youtubeПараметры
urlобязательныйstringЛюбая публичная ссылка YouTube: watch?v=…, youtu.be/…, /shorts/…, /live/…
напр. https://www.youtube.com/watch?v=dQw4w9WgXcQformatнеобязательныйstringВысота — 1080, 720, 480, 360, 240, 144 — или mp3 только со звуком. По умолчанию 720.
напр. 720Ответы
{
"platform": "youtube",
"type": "video",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"author": "Rick Astley",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"duration": null,
"media": [
{ "type": "video", "url": "https://api.gapi.dev/dl/…", "quality": "720", "ext": "mp4" }
]
}Попробовать
https://api.gapi.dev/v2/youtube/infocurl -G 'https://api.gapi.dev/v2/youtube/info' \
--data-urlencode 'url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
-H 'X-API-Key: YOUR_KEY'Что даёт каждая ссылка
| Вы отправляете | type | media содержит |
|---|---|---|
youtube.com/watch?v=… | video | один файл, до 1080p |
youtube.com/shorts/… | video | то же самое, Shorts здесь обычное видео |
youtube.com/live/… | video | запись, когда эфир закончился |
любая из ссылок выше с format=mp3 | audio | один файл mp3, только звук |
Чего он не делает
Плейлисты, каналы и эфиры, которые ещё не начались. Качество выше 1080p не продаётся: вызов с данными о ролике перечисляет 1440p и 2160p, потому что они есть у YouTube, но запрос на скачивание в этих высотах вернёт 400.
Разбор по полям — на странице формы ответа.
Примеры кода
Один и тот же запрос на четырёх языках. Подставьте ключ из личного кабинета, и код запустится как есть.
curl -G 'https://api.gapi.dev/v2/youtube' \
--data-urlencode 'url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
-H 'X-API-Key: gapi_live_your_key_here'Один вызов — один запрос
Карусель из десяти слайдов стоит столько же, сколько одно фото: одно списание с баланса. Считаются вызовы, а не файлы.