📖 معرفی
این وبسرویس به شما اجازه میدهد تا با یک درخواست ساده، در چهار سایت بزرگ موسیقی ایرانی
جستجو کنید، جدیدترین آهنگها را بگیرید و لینک دانلود با کیفیتهای مختلف را استخراج کنید.
خروجی همهی درخواستها به صورت JSON و با ساختار یکسان است.
🌐 سایتهای پشتیبانیشده
با پارامتر source میتوانید سایت موردنظر را انتخاب کنید:
radiojavanhdardabilmusicmusicsfamusicdelall🔗 آدرس پایه
همه درخواستها به این آدرس ارسال میشوند:
🔍 جستجوی آهنگ search
جستجو در همه سایتها یا یک سایت خاص. نتایج به صورت خودکار بر اساس تطابق عنوان و خواننده مرتب میشوند.
پارامترها
| پارامتر | اجباری | توضیح |
|---|---|---|
action | ✅ | مقدار search |
q | ✅ | کلمه جستجو (نام آهنگ یا خواننده) |
source | ❌ | سایت موردنظر (پیشفرض: all) |
limit | ❌ | تعداد نتایج (پیشفرض: ۲۰، حداکثر ۵۰) |
dl | ❌ | اگر 1 باشد، لینک دانلود هم استخراج میشود |
🧪 تست زنده
🆕 جدیدترین آهنگها latest
آخرین آهنگهای اضافهشده به سایتها را برمیگرداند.
🧪 تست زنده
📂 دستهبندیها categories
لیست دستهبندیها (خوانندهها، سبکها و...) را برمیگرداند. برای پیدا کردن id خواننده مفید است.
q در این action اختیاری است. اگر حذف شود، همه دستهبندیها برگردانده میشوند.
🧪 تست زنده
🎤 آهنگهای یک خواننده artist
همهی آهنگهای یک خواننده خاص را برمیگرداند. (اول دستهبندی خواننده را پیدا میکند، بعد آهنگها را میگیرد.)
🧪 تست زنده
🎵 اطلاعات کامل یک آهنگ song
با دادن id آهنگ، اطلاعات کامل آن شامل لینکهای دانلود با کیفیتهای مختلف را برمیگرداند.
🧪 تست زنده
🚨 کدهای خطا
| وضعیت | توضیح |
|---|---|
success | درخواست با موفقیت انجام شد و نتیجه برگشت |
empty | درخواست موفق بود اما هیچ نتیجهای یافت نشد |
error | خطایی رخ داده — پیام در فیلد message |
💻 نمونه کد برای اپلیکیشن
JavaScript (Fetch API)
async function searchMusic(query) {
const url = `https://your-domain.com/api.php?action=search&q=${encodeURIComponent(query)}`;
const res = await fetch(url);
const data = await res.json();
if (data.status === 'success') {
data.results.forEach(song => {
console.log(`${song.artist} - ${song.title}`);
console.log('کاور:', song.cover);
});
}
}
searchMusic('shadmehr');
PHP
$url = 'https://your-domain.com/api.php?action=search&q=' . urlencode('shadmehr');
$response = file_get_contents($url);
$data = json_decode($response, true);
foreach ($data['results'] as $song) {
echo $song['artist'] . ' - ' . $song['title'] . "\n";
if (!empty($song['downloads']['320kbps'])) {
echo "دانلود: " . $song['downloads']['320kbps'] . "\n";
}
}
Kotlin (اندروید)
val url = "https://your-domain.com/api.php?action=search&q=shadmehr"
val json = URL(url).readText()
val obj = JSONObject(json)
val results = obj.getJSONArray("results")
for (i in 0 until results.length()) {
val song = results.getJSONObject(i)
Log.d("MUSIC", "${song.getString("artist")} - ${song.getString("title")}")
}
Swift (iOS)
let url = URL(string: "https://your-domain.com/api.php?action=search&q=shadmehr")!
URLSession.shared.dataTask(with: url) { data, _, _ in
guard let data = data else { return }
if let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any],
let results = json["results"] as? [[String: Any]] {
for song in results {
print("\(song["artist"] ?? "") - \(song["title"] ?? "")")
}
}
}.resume()
💡 نکات مهم
dl=0 جستجو کن و فقط وقتی کاربر روی دکمه دانلود کلیک کرد، از action=song استفاده کن.
limit و pagination استفاده کنید.