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.

JSON
{
  "url": "https://www.tiktok.com/..."
}

Response

Contoh response ketika media berhasil ditemukan:

JSON
{
  "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

StatusArtiKeterangan
200SuccessMedia berhasil ditemukan.
400Bad RequestURL tidak valid atau tidak didukung.
429Rate LimitedTerlalu banyak request.
502Scraper ErrorMedia gagal diproses.
503MaintenancePlatform sedang dinonaktifkan.

Usage Examples

JavaScript

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
curl -X POST "https://aiodl.suwung.id/api/scrape" -H "Content-Type: application/json" -d '{"url":"https://www.tiktok.com/..."}'

cURL

CURL
curl -X POST "https://aiodl.suwung.id/api/scrape" -H "Content-Type: application/json" -d '{"url":"https://www.tiktok.com/..."}'

PHP

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

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

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)