YouTube Play API

Dokumentasi resmi YouTube Play API dari Maelyn API untuk mencari video YouTube dan mengambil audio MP3 dari hasil pencarian, URL, atau videoId

Base Information

  • BASE_URL_API: https://api.maelyn.eu/api
  • Path / Endpoint: /download/youtube/play
  • Method: POST
  • Credit Usage: 2

Authentication

Gunakan header berikut pada setiap request:

x-maelyn-auth: YOUR_API_KEY
Content-Type: application/json

Description

Endpoint ini digunakan untuk mencari musik/video YouTube dan mengambil audio MP3 dari YouTube.

API mendukung dua action utama:

  • search untuk mencari video YouTube berdasarkan query/judul
  • play untuk mengambil audio MP3 dari URL, videoId, atau query

API dapat digunakan untuk membuat fitur seperti YouTube Music Player, downloader audio, atau pencarian lagu otomatis.

Request Body

Search YouTube

{
  "action": "search",
  "query": "alone alan walker",
  "limit": 5
}

Play dari videoId

{
  "action": "play",
  "videoId": "VIDEO_ID_DARI_HASIL_SEARCH",
  "withInfo": true
}

Play langsung dari query

{
  "action": "play",
  "query": "alone alan walker",
  "withInfo": true
}

Play langsung dari URL

{
  "action": "play",
  "url": "https://www.youtube.com/watch?v=xxxxxxxxxxx",
  "withInfo": true
}

Body Parameters

NameTypeRequiredDescription
actionstringNoAction API. Gunakan search atau play. Default: search
querystringYes*Kata kunci/judul musik atau video YouTube
qstringYes*Alternatif dari query
titlestringYes*Alternatif dari query
keywordstringYes*Alternatif dari query
urlstringYes*URL video YouTube
linkstringYes*Alternatif dari url
videoIdstringYes*ID video YouTube
idstringYes*Alternatif dari videoId
limitnumberNoJumlah hasil pencarian. Default: 10, minimal: 1, maksimal: 20
withInfobooleanNoSertakan metadata video. Default: true

Untuk action=search, salah satu dari query, q, title, atau keyword wajib diisi.

Untuk action=play, salah satu dari url, link, videoId, id, query, q, title, atau keyword wajib diisi.

Notes

  • Body request harus berupa JSON.
  • action hanya mendukung search dan play.
  • Jika action tidak dikirim, default action adalah search.
  • URL harus valid dan berasal dari YouTube.
  • videoId harus berupa ID YouTube valid dengan panjang 11 karakter.
  • Untuk action=play menggunakan query, API akan otomatis mengambil hasil pencarian teratas.
  • Jika withInfo=false, metadata tambahan video tidak akan disertakan.
  • Proses play/download audio bisa memakan waktu lebih lama tergantung durasi video.
  • Endpoint ini menggunakan sistem queue untuk menjaga stabilitas server.

Example Usage

1. Search musik YouTube

{
  "action": "search",
  "query": "alone alan walker",
  "limit": 5
}
{
  "action": "play",
  "videoId": "1-xGerv5FOk",
  "withInfo": true
}

3. Play langsung dari judul

{
  "action": "play",
  "query": "alone alan walker",
  "withInfo": true
}

4. Play dari URL YouTube

{
  "action": "play",
  "url": "https://www.youtube.com/watch?v=1-xGerv5FOk",
  "withInfo": true
}

Success Response

Search Response

{
  "success": true,
  "message": "Berhasil mencari musik YouTube",
  "result": {
    "query": "alone alan walker",
    "total": 5,
    "items": [
      {
        "index": 1,
        "videoId": "1-xGerv5FOk",
        "title": "Alan Walker - Alone",
        "url": "https://www.youtube.com/watch?v=1-xGerv5FOk",
        "duration": "2:44",
        "seconds": 164,
        "views": 1505254899,
        "ago": "9 years ago",
        "author": {
          "name": "Alan Walker",
          "url": "https://youtube.com/channel/UCJrOtniJ0-NWz37R30urifQ"
        },
        "thumbnail": "https://i.ytimg.com/vi/1-xGerv5FOk/hq720.jpg"
      }
    ]
  }
}

Play Response

{
  "success": true,
  "message": "Berhasil play YouTube audio",
  "result": {
    "selected": null,
    "audio": {
      "success": true,
      "videoId": "1-xGerv5FOk",
      "request": {
        "url": "https://www.youtube.com/watch?v=1-xGerv5FOk",
        "type": "mp3",
        "quality": "128",
        "withInfo": true
      },
      "media": {
        "title": "Alan Walker - Alone",
        "type": "mp3",
        "quality": "128",
        "duration": "02:43",
        "durationSeconds": 163,
        "cover": "https://i.ytimg.com/vi/1-xGerv5FOk/maxresdefault.jpg",
        "file": {
          "filename": "audio.mp3",
          "url": "https://static-storage.maelyn.eu/proxy/audio.mp3",
          "size": 2613356
        }
      },
      "info": {
        "publishedAt": "2016-12-02T07:59:01Z",
        "channel": "Alan Walker",
        "channelId": "UCJrOtniJ0-NWz37R30urifQ",
        "description": "Video description...",
        "tags": [
          "Alan Walker",
          "Alone",
          "EDM"
        ],
        "definition": "hd",
        "duration": "2 Minutes, 44 Seconds",
        "statistics": {
          "viewCount": "1.505.255.442",
          "likeCount": "12.350.192",
          "favoriteCount": "0",
          "commentCount": "443.348"
        },
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/1-xGerv5FOk/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/1-xGerv5FOk/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/1-xGerv5FOk/hqdefault.jpg",
            "width": 480,
            "height": 360
          },
          "standard": {
            "url": "https://i.ytimg.com/vi/1-xGerv5FOk/sddefault.jpg",
            "width": 640,
            "height": 480
          },
          "maxres": {
            "url": "https://i.ytimg.com/vi/1-xGerv5FOk/maxresdefault.jpg",
            "width": 1280,
            "height": 720
          }
        }
      }
    }
  }
}

Success Response with Query Play

Jika menggunakan action=play dengan query, field selected akan berisi video yang dipilih otomatis dari hasil pencarian teratas.

{
  "success": true,
  "message": "Berhasil play YouTube audio",
  "result": {
    "selected": {
      "index": 1,
      "videoId": "1-xGerv5FOk",
      "title": "Alan Walker - Alone",
      "url": "https://www.youtube.com/watch?v=1-xGerv5FOk",
      "duration": "2:44",
      "seconds": 164,
      "views": 1505254899,
      "ago": "9 years ago",
      "author": {
        "name": "Alan Walker",
        "url": "https://youtube.com/channel/UCJrOtniJ0-NWz37R30urifQ"
      },
      "thumbnail": "https://i.ytimg.com/vi/1-xGerv5FOk/hq720.jpg"
    },
    "audio": {
      "success": true,
      "videoId": "1-xGerv5FOk",
      "request": {
        "url": "https://www.youtube.com/watch?v=1-xGerv5FOk",
        "type": "mp3",
        "quality": "128",
        "withInfo": true
      },
      "media": {
        "title": "Alan Walker - Alone",
        "type": "mp3",
        "quality": "128",
        "duration": "02:43",
        "durationSeconds": 163,
        "cover": "https://i.ytimg.com/vi/1-xGerv5FOk/maxresdefault.jpg",
        "file": {
          "filename": "audio.mp3",
          "url": "https://static-storage.maelyn.eu/proxy/audio.mp3",
          "size": 2613356
        }
      }
    }
  }
}

Response Fields

FieldTypeDescription
successbooleanStatus request
messagestringPesan hasil request
resultobjectHasil response API
querystringQuery yang digunakan untuk pencarian
totalnumberTotal hasil pencarian yang dikembalikan
itemsarrayDaftar hasil pencarian YouTube
indexnumberNomor urutan hasil pencarian
videoIdstringID video YouTube
titlestringJudul video
urlstringURL video YouTube
durationstringDurasi video dalam format waktu
secondsnumberDurasi video dalam detik
viewsnumberJumlah views video
agostringWaktu publikasi relatif
authorobjectInformasi channel
author.namestringNama channel
author.urlstringURL channel
thumbnailstringURL thumbnail video
selectedobjectVideo yang dipilih otomatis saat play dari query
audioobjectHasil proses audio MP3
requestobjectInformasi request download
request.urlstringURL YouTube yang diproses
request.typestringTipe output audio
request.qualitystringKualitas audio
mediaobjectInformasi file media
media.titlestringJudul media
media.typestringTipe file media
media.qualitystringKualitas file media
media.durationstringDurasi media
durationSecondsnumberDurasi media dalam detik
coverstringURL cover/thumbnail
fileobjectInformasi file audio
filenamestringNama file audio
file.urlstringURL file audio MP3
sizenumberUkuran file dalam bytes
infoobjectMetadata video jika withInfo=true
publishedAtstringTanggal publikasi video
channelstringNama channel
channelIdstringID channel YouTube
descriptionstringDeskripsi video
tagsarrayDaftar tag video
definitionstringKualitas definisi video
statisticsobjectStatistik video
thumbnailsobjectDaftar thumbnail video

Error Response

Invalid JSON

{
  "success": false,
  "message": "Body JSON tidak valid"
}

Query Required

{
  "success": false,
  "message": "query wajib diisi"
}

Search Not Found

{
  "success": false,
  "message": "Musik/video YouTube tidak ditemukan"
}

Play Parameter Required

{
  "success": false,
  "message": "url, videoId, atau query wajib diisi"
}

Invalid YouTube URL

{
  "success": false,
  "message": "URL YouTube tidak valid"
}

Invalid YouTube videoId

{
  "success": false,
  "message": "videoId YouTube tidak valid"
}

Audio Not Found

{
  "success": false,
  "message": "Gagal mengambil audio YouTube"
}

Invalid Action

{
  "success": false,
  "message": "action tidak valid. Gunakan search atau play"
}

Internal Server Error

{
  "success": false,
  "message": "Internal server error"
}

Playground