PUBLIC API
AIODL API Docs
API sederhana untuk memproses URL media dari berbagai platform yang didukung AIODL. Cocok untuk website, bot, automation, dan aplikasi sendiri.
Introduction
AIODL menyediakan endpoint HTTP yang menerima URL publik dan mengembalikan informasi media yang berhasil ditemukan.
Public API: endpoint downloader dapat dipanggil tanpa API key. Gunakan secara wajar dan hormati rate limit.
API Endpoint
POSThttps://aiodl.suwung.id/api/scrape
Gunakan Content-Type: application/json.
Request
Body request membutuhkan property url.
{
"url": "https://www.tiktok.com/..."
}Response
Contoh response ketika media berhasil ditemukan:
{
"status": true,
"platform": {"id": "tiktok", "name": "TikTok"},
"result": {
"title": "Example",
"thumbnail": "https://...",
"downloads": [
{"id": 1, "type": "VIDEO", "quality": "HD", "url": "https://..."}
]
}
}Supported URLs
Beberapa contoh URL yang dapat diproses. URL harus publik dan keberhasilan tetap bergantung pada kondisi platform serta scraper.
YouTubeyoutube.com/watch?v=VIDEO_IDyoutu.be/VIDEO_IDyoutube.com/shorts/VIDEO_ID
TikToktiktok.com/@user/video/VIDEO_IDvm.tiktok.com/XXXXXXXX/
Instagraminstagram.com/p/XXXXXXXX/instagram.com/reel/XXXXXXXX/instagram.com/reels/XXXXXXXX/
Facebookfacebook.com/watch/?v=VIDEO_IDfb.watch/XXXXXXXX/
X / Twitterx.com/user/status/STATUS_IDtwitter.com/user/status/STATUS_ID
Pinterestpinterest.com/pin/PIN_ID/pin.it/XXXXXXXX
Spotifyopen.spotify.com/track/TRACK_IDopen.spotify.com/album/ALBUM_ID
Apple Musicmusic.apple.com/.../album/...
Pixivpixiv.net/artworks/ARTWORK_ID
RedNotexiaohongshu.com/...xhslink.com/XXXXXXXX
Bilibilibilibili.com/video/BVXXXXXXXX/b23.tv/XXXXXXXX
Douyindouyin.com/video/VIDEO_ID
Threadsthreads.net/@user/post/POST_ID
Bandcampartist.bandcamp.com/track/track-name
Important: konten private, restricted, membutuhkan login, atau media yang sedang tidak tersedia dapat gagal diproses.
Error Codes
| Status | Arti | Keterangan |
|---|---|---|
| 200 | Success | Media berhasil ditemukan. |
| 400 | Bad Request | URL tidak valid atau tidak didukung. |
| 429 | Rate Limited | Terlalu banyak request. |
| 502 | Scraper Error | Media gagal diproses. |
| 503 | Maintenance | Platform sedang dinonaktifkan. |
Usage Examples
JavaScript
const res = await fetch(
"https://aiodl.suwung.id/api/scrape",
{
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({url: "https://www.tiktok.com/..."})
}
);
console.log(await res.json());cURL
curl -X POST "https://aiodl.suwung.id/api/scrape" -H "Content-Type: application/json" -d '{"url":"https://www.tiktok.com/..."}'cURL
curl -X POST "https://aiodl.suwung.id/api/scrape" -H "Content-Type: application/json" -d '{"url":"https://www.tiktok.com/..."}'PHP
$ch = curl_init("https://aiodl.suwung.id/api/scrape");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["url" => "https://www.tiktok.com/..."])
]);
echo curl_exec($ch);
curl_close($ch);Node.js
const res = await fetch(
"https://aiodl.suwung.id/api/scrape",
{
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({url: "https://www.youtube.com/watch?v=VIDEO_ID"})
}
);
console.log(await res.json());Go
body := []byte(`{"url":"https://www.tiktok.com/..."}`)
req, _ := http.NewRequest("POST","https://aiodl.suwung.id/api/scrape",bytes.NewBuffer(body))
req.Header.Set("Content-Type","application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
fmt.Println(res.Status)