HuaPlay Masuk
Selamat Datang Di HuaPlay - 100% Nonton Gratis Tanpa Batas
REST · JSON Khusus VIP v1.0.0

HuaPlay Open API

Bawa katalog drama, daftar episode, dan link streaming HuaPlay ke aplikasi, bot Telegram, atau website Anda sendiri — cukup satu kunci API.

Base URL https://huaplay.com/api/v1

Mulai dalam 3 langkah

1
Jadi member VIP

API hanya bisa dipakai akun dengan VIP aktif.

2
Buat kunci API

Di halaman Developer. Kunci tampil sekali — simpan baik-baik.

3
Panggil endpoint

Kirim kunci di header Authorization, terima JSON.

curl "https://huaplay.com/api/v1/dramas?sort=popular&per_page=5" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"

Autentikasi

Setiap permintaan wajib membawa kunci API. Cara yang disarankan adalah header Authorization:

Authorization: Bearer hp_live_KUNCI_ANDA
  • Alternatif: header X-API-Key: hp_live_KUNCI_ANDA, atau parameter ?api_key= (hanya untuk uji coba — kunci bisa tercatat di log/riwayat).
  • Kunci terikat ke akun Anda. Bila masa VIP habis, kunci menolak permintaan (vip_required) dan otomatis aktif lagi setelah VIP diperpanjang.
  • Jangan taruh kunci di aplikasi/website publik yang kodenya bisa dilihat orang. Panggil API dari server Anda, lalu teruskan hasilnya.
  • Kunci bocor? Cabut di halaman Developer dan buat yang baru.
  • CORS diizinkan, jadi API juga bisa dipanggil langsung dari JavaScript browser.

Batas & kuota

Per menit
60 permintaan
Per hari
5,000 permintaan

Batas dihitung per akun (gabungan semua kunci). Setiap respons membawa header berikut agar aplikasi Anda bisa mengatur kecepatan:

HeaderArti
X-RateLimit-LimitBatas permintaan per menit.
X-RateLimit-RemainingSisa permintaan di menit ini.
X-RateLimit-ResetWaktu reset (Unix timestamp).
X-Quota-RemainingSisa kuota hari ini (reset 00:00).
Retry-AfterSaat ditolak 429: tunggu sekian detik.

Format respons

Semua respons berupa JSON UTF-8 dengan bentuk yang sama. Cek success lebih dulu.

Sukses
{
    "success": true,
    "data": [
        "…"
    ],
    "meta": {
        "page": 1,
        "has_more": true
    }
}
Gagal
{
    "success": false,
    "error": {
        "code": "vip_required",
        "message": "Open API khusus member VIP."
    }
}

Kode error

HTTPerror.codeArti
400 bad_requestParameter tidak valid (mis. q terlalu pendek).
401 unauthorizedKunci API tidak dikirim, salah, atau sudah dicabut.
403 vip_requiredPemilik kunci bukan VIP aktif (masa VIP habis). Perpanjang VIP, kunci otomatis aktif lagi.
403 feature_disabledFitur dimatikan admin (mis. endpoint streaming).
404 not_foundDrama / episode tidak ditemukan.
429 rate_limitedTerlalu banyak permintaan per menit. Tunggu sesuai header Retry-After.
429 quota_exceededKuota harian habis. Reset pukul 00:00 WIB.
502 upstream_errorSumber video sedang bermasalah. Coba lagi beberapa saat.
503 api_disabledOpen API sedang dinonaktifkan admin.
Kunci untuk "Coba langsung"
Butuh VIP aktif
Akun
GET /me

Info akun & kuota

Status VIP pemilik kunci, batas per menit, dan sisa kuota harian. Cocok untuk mengecek kunci sebelum dipakai.

curl "https://huaplay.com/api/v1/me" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"
200 OK
{
    "success": true,
    "data": {
        "user": {
            "id": 7,
            "name": "Budi",
            "vip": true,
            "vip_until": "2026-12-31T23:59:59+07:00"
        },
        "key": {
            "name": "Bot Telegram",
            "masked": "hp_live_3f9a…c21e",
            "created_at": "2026-11-01T09:00:00+07:00"
        },
        "limits": {
            "per_minute": 60,
            "daily_quota": 5000,
            "used_today": 132,
            "remaining_today": 4868
        }
    }
}
Katalog
GET /providers

Daftar sumber (provider)

Provider yang sedang aktif beserta jumlah drama di katalog. Pakai nilai id untuk filter provider di endpoint lain.

curl "https://huaplay.com/api/v1/providers" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"
200 OK
{
    "success": true,
    "data": [
        {
            "id": "dramabox",
            "dramas": 1840
        },
        {
            "id": "reelshort",
            "dramas": 1215
        }
    ]
}
GET /dramas

Daftar drama

Katalog drama dengan paginasi, bisa difilter per provider, diurutkan, dan dicari berdasarkan judul.

ParameterTipeKeterangan
provider
opsional · query
string ID provider, atau all (bawaan).
sort
opsional · query
string Urutan: latest (bawaan, mengikuti urutan sumber), popular (paling banyak ditonton), new (baru masuk katalog).
q
opsional · query
string Cari judul (min. 2 karakter).
page
opsional · query
integer Halaman, mulai dari 1.
per_page
opsional · query
integer Jumlah per halaman, 1–50 (bawaan 20).
curl "https://huaplay.com/api/v1/dramas?provider=all" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"
200 OK
{
    "success": true,
    "data": [
        {
            "id": 1024,
            "provider": "dramabox",
            "title": "Cinta Sang CEO Dingin",
            "poster": "https://cdn.example.com/poster/1024.jpg",
            "synopsis": "Seorang gadis biasa terjebak kontrak pernikahan dengan CEO paling dingin di kota…",
            "total_episodes": 80,
            "views": 15230,
            "url": "https://huaplay.example/drama/1024",
            "updated_at": "2026-11-04T10:15:00+07:00"
        }
    ],
    "meta": {
        "page": 1,
        "per_page": 20,
        "total": 3055,
        "total_pages": 153,
        "has_more": true
    }
}
GET /dramas/{id}

Detail drama + daftar episode

Info lengkap satu drama dan semua episodenya. Daftar episode disinkronkan otomatis dari sumber bila belum ada.

ParameterTipeKeterangan
id
wajib · path
integer ID drama.
curl "https://huaplay.com/api/v1/dramas/1024" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"
200 OK
{
    "success": true,
    "data": {
        "id": 1024,
        "provider": "dramabox",
        "title": "Cinta Sang CEO Dingin",
        "poster": "https://cdn.example.com/poster/1024.jpg",
        "synopsis": "Seorang gadis biasa terjebak kontrak pernikahan dengan CEO paling dingin di kota…",
        "total_episodes": 80,
        "views": 15230,
        "url": "https://huaplay.example/drama/1024",
        "updated_at": "2026-11-04T10:15:00+07:00",
        "episodes": [
            {
                "number": 1,
                "title": "Episode 1",
                "is_free": true,
                "url": "https://huaplay.example/watch/1024/1"
            },
            {
                "number": 2,
                "title": "Episode 2",
                "is_free": false,
                "url": "https://huaplay.example/watch/1024/2"
            }
        ]
    }
}
Streaming
GET /dramas/{id}/episodes/{number}

Link streaming episode

URL video siap putar beserta pilihan resolusi dan subtitle. type: hls (m3u8, pakai hls.js / ExoPlayer / AVPlayer), file (MP4 langsung), atau melolo (MP4 terenkripsi, butuh key). URL bisa kedaluwarsa — minta ulang bila gagal diputar, jangan disimpan permanen.

ParameterTipeKeterangan
id
wajib · path
integer ID drama.
number
wajib · path
integer Nomor episode (mulai 1).
curl "https://huaplay.com/api/v1/dramas/1024/episodes/1" \
  -H "Authorization: Bearer hp_live_KUNCI_ANDA"
200 OK
{
    "success": true,
    "data": {
        "drama_id": 1024,
        "episode": 1,
        "title": "Episode 1",
        "type": "hls",
        "url": "https://huaplay.example/api/hls?u=…&s=…",
        "resolutions": [
            {
                "label": "720p",
                "url": "https://huaplay.example/api/hls?u=…&s=…",
                "type": "hls"
            },
            {
                "label": "480p",
                "url": "https://…",
                "type": "hls"
            }
        ],
        "subtitles": [
            {
                "lang": "id",
                "label": "Indonesia",
                "url": "https://…/ep1.vtt",
                "default": true
            }
        ],
        "next": {
            "number": 2
        }
    }
}

Contoh: putar episode di website Anda

Ambil link dari server Anda (agar kunci tidak terlihat), lalu putar dengan hls.js. Untuk Android gunakan ExoPlayer/Media3, untuk iOS cukup AVPlayer.

<?php
// Proxy kecil di server Anda: /episode.php?id=1024&ep=1
$apiKey = getenv('HUAPLAY_API_KEY');
$url = "https://huaplay.com/api/v1/dramas/" . (int) $_GET['id'] . "/episodes/" . (int) $_GET['ep'];
$ch = curl_init($url);
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer $apiKey"]]);
header('Content-Type: application/json');
echo curl_exec($ch);
Link streaming bersifat sementara. Minta ulang lewat API setiap kali akan memutar, jangan disimpan di database. Dilarang menjual ulang akses API atau membagikan kunci.