API Documentation
Reference lengkap untuk integrasi Habibi REST ke bot WhatsApp Anda.
Quick Start
1. Daftar & ambil API key
Daftar gratis → API key langsung tampil sekali → simpan di tempat aman.
2. Pakai API key di setiap request
Dua cara:
# Cara A: Header (recommended)
curl "https://habibimarket.dpdns.org/api/v1/downloader/ytmp3?url=https://youtu.be/xxx" \
-H "X-API-Key: hbr_yourkey"
# Cara B: Query (paling gampang)
curl "https://habibimarket.dpdns.org/api/v1/downloader/ytmp3?url=https://youtu.be/xxx&apikey=hbr_yourkey"3. Format response
{
"success": true,
"data": { /* ... */ }
}
// atau kalau error:
{
"success": false,
"message": "Penjelasan error"
}Contoh Integrasi Bot (Baileys)
// Plugin Baileys: download YouTube MP3
const HABIBI_API_KEY = 'hbr_xxxxxxxxxxxxxxxxxxxx';
case 'play':
case 'ytmp3': {
if (!text) return reply('URL/judul lagu kosong');
// 1. Search dulu kalau text bukan URL
let url = text;
if (!text.startsWith('http')) {
const search = await fetch(`https://habibimarket.dpdns.org/api/v1/search/youtube?q=${encodeURIComponent(text)}&apikey=${HABIBI_API_KEY}`);
const data = await search.json();
if (!data.success || !data.data.length) return reply('Tidak ditemukan');
url = data.data[0].url;
}
// 2. Download MP3
const dl = await fetch(`https://habibimarket.dpdns.org/api/v1/downloader/ytmp3?url=${encodeURIComponent(url)}&apikey=${HABIBI_API_KEY}`);
const result = await dl.json();
if (!result.success) return reply(result.message);
await sock.sendMessage(m.chat, {
audio: { url: result.data.url },
mimetype: 'audio/mpeg',
ptt: false
});
break;
}Error Codes
401 unauthorizedAPI key tidak ada / invalid / revoked403 forbiddenIP tidak ada di whitelist key429 too_many_requestsDaily limit habis400 bad_requestParam wajib tidak diisi / format salah502 bad_gatewaySemua sumber upstream gagal — coba lagi 1-2 menitEndpoints
GET
/api/v1/downloader/ytmp3DownloaderDownload lagu YouTube format MP3 (audio only).
Parameters
| url* | string | URL YouTube valid (youtube.com/watch?v=... atau youtu.be/...) |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/downloader/ytmp3?url=https://youtu.be/dQw4w9WgXcQ" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"title": "Rick Astley - Never Gonna Give You Up",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
"duration": "3:32",
"url": "https://cdn-source.com/audio.mp3",
"type": "audio",
"quality": "128kbps",
"source": "ryzendesu"
}
}GET
/api/v1/downloader/ytmp4DownloaderDownload video YouTube format MP4 (480p / 720p).
Parameters
| url* | string | URL YouTube valid |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/downloader/ytmp4?url=https://youtu.be/xxx&apikey=hbr_xxxx"Example Response
{
"success": true,
"data": {
"title": "...",
"url": "https://cdn-source.com/video.mp4",
"type": "video",
"quality": "720p",
"source": "ryzendesu"
}
}GET
/api/v1/downloader/tiktokDownloaderDownload TikTok video tanpa watermark + audio terpisah.
Parameters
| url* | string | URL TikTok (tiktok.com / vt.tiktok.com) |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/downloader/tiktok?url=https://vt.tiktok.com/abc123" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"title": "...",
"author": "username",
"media": [
{ "type": "video", "url": "...", "quality": "no-watermark" },
{ "type": "video", "url": "...", "quality": "hd" },
{ "type": "audio", "url": "...", "quality": "music" }
],
"source": "tikwm"
}
}GET
/api/v1/downloader/instagramDownloaderDownload foto/video Instagram (post, reel, IGTV).
Parameters
| url* | string | URL Instagram post/reel |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/downloader/instagram?url=https://instagram.com/p/xxx" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"media": [{ "type": "video", "url": "..." }],
"source": "ryzendesu"
}
}GET
/api/v1/downloader/spotifyDownloaderDownload lagu Spotify (audio MP3).
Parameters
| url* | string | URL Spotify track (open.spotify.com/track/...) |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/downloader/spotify?url=https://open.spotify.com/track/xxx" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"title": "Song Title",
"author": "Artist Name",
"thumbnail": "https://i.scdn.co/image/...",
"media": [{ "type": "audio", "url": "...", "quality": "320kbps" }],
"source": "ryzendesu"
}
}GET
/api/v1/search/youtubeSearchSearch video YouTube.
Parameters
| q* | string | Query pencarian |
| limit | int | Maks 20, default 10 |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/search/youtube?q=despacito&limit=5&apikey=hbr_xxxx"Example Response
{
"success": true,
"data": [
{
"title": "Luis Fonsi - Despacito ft. Daddy Yankee",
"url": "https://www.youtube.com/watch?v=kJQP7kiw5Fk",
"thumbnail": "...",
"duration": "4:42",
"views": 8000000000,
"channel": "Luis Fonsi",
"uploaded": "8 years ago"
}
]
}GET
/api/v1/maker/stickerMakerConvert image → sticker WhatsApp (webp).
Parameters
| url* | string | URL image (png/jpg) |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/maker/sticker?url=https://example.com/photo.jpg" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"sticker_url": "https://...",
"format": "webp",
"source": "ryzendesu"
}
}GET
/api/v1/ai/chatgptAIAI chat (ChatGPT-like). Bisa pakai POST untuk prompt panjang.
Parameters
| text* | string | Prompt / pertanyaan |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/ai/chatgpt?text=halo+apa+kabar" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"reply": "Halo! Kabar saya baik. Ada yang bisa saya bantu?",
"model": "gpt-4o-mini",
"source": "openai"
}
}GET
/api/v1/stalk/instagramStalkLihat info profil Instagram publik.
Parameters
| username* | string | Username IG (tanpa @) |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/stalk/instagram?username=natgeo&apikey=hbr_xxxx"Example Response
{
"success": true,
"data": {
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Experience the world through the eyes...",
"followers": 281000000,
"following": 130,
"posts": 30000,
"is_verified": true,
"profile_pic": "https://..."
}
}GET
/api/v1/tools/qrcodeToolsGenerate QR code dari teks/URL.
Parameters
| text* | string | Teks/URL yang mau di-encode |
| size | int | Ukuran pixel, default 300, maks 1024 |
Example Request
curl "https://habibimarket.dpdns.org/api/v1/tools/qrcode?text=https://habibimarket.dpdns.org" \
-H "X-API-Key: hbr_xxxx"Example Response
{
"success": true,
"data": {
"dataUrl": "data:image/png;base64,iVBORw0KGgo...",
"text": "https://habibimarket.dpdns.org",
"size": 300
}
}