Habibi REST

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 / revoked
403 forbiddenIP tidak ada di whitelist key
429 too_many_requestsDaily limit habis
400 bad_requestParam wajib tidak diisi / format salah
502 bad_gatewaySemua sumber upstream gagal — coba lagi 1-2 menit

Endpoints

GET/api/v1/downloader/ytmp3Downloader

Download lagu YouTube format MP3 (audio only).

Parameters

url*stringURL 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/ytmp4Downloader

Download video YouTube format MP4 (480p / 720p).

Parameters

url*stringURL 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/tiktokDownloader

Download TikTok video tanpa watermark + audio terpisah.

Parameters

url*stringURL 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/instagramDownloader

Download foto/video Instagram (post, reel, IGTV).

Parameters

url*stringURL 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/spotifyDownloader

Download lagu Spotify (audio MP3).

Parameters

url*stringURL 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/youtubeSearch

Search video YouTube.

Parameters

q*stringQuery pencarian
limitintMaks 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/stickerMaker

Convert image → sticker WhatsApp (webp).

Parameters

url*stringURL 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/chatgptAI

AI chat (ChatGPT-like). Bisa pakai POST untuk prompt panjang.

Parameters

text*stringPrompt / 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/instagramStalk

Lihat info profil Instagram publik.

Parameters

username*stringUsername 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/qrcodeTools

Generate QR code dari teks/URL.

Parameters

text*stringTeks/URL yang mau di-encode
sizeintUkuran 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
  }
}