GAPI

API для скачивания видео с YouTube

Один вызов превращает ссылку YouTube в прямую загрузку. Сначала спросите данные о ролике, если хотите показать человеку качества и дать выбрать, а потом просите файл.

Качества

Что есть у ролика и сколько весит каждое.

GEThttps://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 }
  ]
}

Скачивание

Одна прямая ссылка в названном формате.

GEThttps://api.gapi.dev/v2/youtube

Параметры

urlобязательныйstring

Любая публичная ссылка YouTube: watch?v=…, youtu.be/…, /shorts/…, /live/…

напр. https://www.youtube.com/watch?v=dQw4w9WgXcQ
formatнеобязательный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" }
  ]
}

Попробовать

GEThttps://api.gapi.dev/v2/youtube/info
Примеры
Ключа ещё нет? Создать бесплатно
curl -G 'https://api.gapi.dev/v2/youtube/info' \
  --data-urlencode 'url=https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
  -H 'X-API-Key: YOUR_KEY'

Что даёт каждая ссылка

Вы отправляетеtypemedia содержит
youtube.com/watch?v=…videoодин файл, до 1080p
youtube.com/shorts/…videoто же самое, Shorts здесь обычное видео
youtube.com/live/…videoзапись, когда эфир закончился
любая из ссылок выше с format=mp3audioодин файл 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'

Один вызов — один запрос

Карусель из десяти слайдов стоит столько же, сколько одно фото: одно списание с баланса. Считаются вызовы, а не файлы.

Другие платформы