Referensi API
Ikhtisar
API SNSTracker memungkinkan Anda mengelola feed dan channel pemantauan secara terprogram. Anda dapat membuat feed (video, postingan, dll.) dan channel (akun, profil), me-refresh untuk mendapatkan data terbaru, serta menerima notifikasi real-time melalui webhook.
Autentikasi
Semua permintaan API memerlukan autentikasi menggunakan API key. Sertakan API key Anda di header X-API-Key.
Cara mendapatkan API key Anda:
- Masuk ke SNSTracker
- Buka Settings → API Keys
- Buat API key baru atau gunakan yang sudah ada
- Salin API key (Anda hanya akan melihatnya sekali saat dibuat)
Endpoint API
1. Create Feeds
Buat feed pemantauan dengan mengirimkan URL feed (video, postingan, dll.).
POST /api/v1/feedsRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"urls": [
"https://www.tiktok.com/@user/video/1234567890",
"https://www.instagram.com/p/ABC123/"
],
"collectionId": "coll_abc123xyz"
}Parameters:
urls(wajib): Array URL feed yang akan dipantau. Maksimal 200 URL per request.collectionId(opsional): ID koleksi tempat feed akan ditambahkan. Jika tidak diberikan, koleksi default tim Anda akan digunakan.
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": 2,
"failed": 0,
"total": 2,
"results": [
{
"index": 0,
"url": "https://www.tiktok.com/@user/video/1234567890",
"platform": "tiktok",
"feedId": "feed_abc123xyz",
"success": true
},
{
"index": 1,
"url": "https://www.instagram.com/p/ABC123/",
"platform": "instagram",
"feedId": "feed_def456uvw",
"success": true
}
],
"errors": [],
"message": "Feeds berhasil dibuat. Data akan segera diperbarui."
}
}Response Fields:
success: Jumlah feed yang berhasil dibuatfailed: Jumlah pembuatan feed yang gagaltotal: Total jumlah URL yang diberikanresults: Array hasil untuk setiap URLindex: Indeks berbasis nol pada array requesturl: URL yang telah divalidasi dan distandardisasiplatform: Platform yang terdeteksi (tiktok, instagram, youtube, dll.)feedId: Identitas unik feed yang dibuatsuccess: Apakah feed berhasil dibuatskipped: (opsional) Apakah feed dilewati karena sudah adaresumed: (opsional) Apakah feed yang dihentikan dilanjutkan kembalierror: (opsional) Pesan error jika pembuatan gagal
errors: Array error untuk URL yang gagal
Example Request
curl -X POST https://snstracker.com/api/v1/feeds \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://www.tiktok.com/@user/video/1234567890"
]
}'2. Refresh Feeds
Refresh feed yang sudah ada untuk mendapatkan data terbaru segera. Hanya feed dengan status "Pending" atau "Tracked" yang dapat di-refresh.
POST /api/v1/feeds/refreshRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"feedIds": ["feed_abc123xyz", "feed_def456uvw"]
}Parameters:
feedIds(wajib): Array ID feed yang akan di-refresh
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"feedIds": ["feed_abc123xyz", "feed_def456uvw"],
"total": 2,
"message": "Berhasil me-refresh 2 feed"
}
}Response Fields:
success: Apakah operasi refresh berhasilfeedIds: Array ID feed yang di-refreshtotal: Jumlah feed yang di-refreshmessage: Pesan sukses
Example Request
curl -X POST https://snstracker.com/api/v1/feeds/refresh \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"feedIds": ["feed_abc123xyz"]
}'3. Create Channels
Buat channel pemantauan dengan mengirimkan URL channel (profil akun, dll.).
Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.
POST /api/v1/channelsRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"urls": [
"https://www.tiktok.com/@username",
"https://www.instagram.com/username/"
],
"collectionId": "coll_abc123xyz"
}Parameters:
urls(wajib): Array URL channel yang akan dipantau. Maksimal 5 URL per request.collectionId(opsional): ID koleksi tempat channel akan ditambahkan. Jika tidak diberikan, koleksi default tim Anda akan digunakan.
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": 2,
"failed": 0,
"total": 2,
"results": [
{
"index": 0,
"url": "https://www.tiktok.com/@username",
"platform": "tiktok",
"channelId": "channel_abc123xyz",
"success": true
},
{
"index": 1,
"url": "https://www.instagram.com/username/",
"platform": "instagram",
"channelId": "channel_def456uvw",
"success": true
}
],
"errors": [],
"message": "Channel berhasil dibuat. Data akan segera diperbarui."
}
}Response Fields:
success: Jumlah channel yang berhasil dibuatfailed: Jumlah pembuatan channel yang gagaltotal: Total jumlah URL yang diberikanresults: Array hasil untuk setiap URLindex: Indeks berbasis nol pada array requesturl: URL yang telah divalidasi dan distandardisasiplatform: Platform yang terdeteksi (tiktok, instagram, youtube, dll.)channelId: Identitas unik channel yang dibuatsuccess: Apakah channel berhasil dibuatskipped: (opsional) Apakah channel dilewati karena sudah adaresumed: (opsional) Apakah channel yang dihentikan dilanjutkan kembalierror: (opsional) Pesan error jika pembuatan gagal
errors: Array error untuk URL yang gagal
Example Request
curl -X POST https://snstracker.com/api/v1/channels \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://www.tiktok.com/@username"
]
}'4. Refresh Channels
Refresh channel yang sudah ada untuk mendapatkan data terbaru segera. Hanya channel dengan status "Pending" atau "Tracked" yang dapat di-refresh.
Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.
POST /api/v1/channels/refreshRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"channelIds": ["channel_abc123xyz", "channel_def456uvw"]
}Parameters:
channelIds(wajib): Array ID channel yang akan di-refresh
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"channelIds": ["channel_abc123xyz", "channel_def456uvw"],
"total": 2,
"message": "Berhasil me-refresh 2 channel"
}
}Response Fields:
success: Apakah operasi refresh berhasilchannelIds: Array ID channel yang di-refreshtotal: Jumlah channel yang di-refreshmessage: Pesan sukses
Example Request
curl -X POST https://snstracker.com/api/v1/channels/refresh \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"channelIds": ["channel_abc123xyz"]
}'5. Sync Feed
Sinkronkan data feed langsung dari layanan scrapy. Endpoint ini mengambil data feed terbaru secara instan dan mengurangi kredit saat sinkronisasi berhasil. Semua anggota dan API key tim berbagi satu batas untuk semua endpoint sync. Batas bersama adalah 1 untuk Starter atau tanpa langganan aktif, 5 untuk Standard, dan 10 untuk Premium.
⚠️ Catatan Penting: Endpoint sync ini mandiri dan TIDAK terintegrasi dengan platform web. Operasi sync akan:
- TIDAK membuat atau memperbarui catatan feed di dashboard web
- TIDAK muncul di daftar feed atau koleksi Anda
- TIDAK memicu webhook atau notifikasi
- HANYA mengembalikan data yang diambil langsung di respons API
Endpoint ini dirancang untuk pengambilan data satu kali via API. Untuk membuat feed pemantauan yang persisten dan muncul di platform web, gunakan endpoint Create Feeds.
POST /api/v1/feeds/syncRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"url": "https://www.tiktok.com/@user/video/1234567890"
}Parameters:
url(wajib): URL feed untuk disinkronkan. Harus berupa string yang valid dan tidak kosong.
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"url": "https://www.tiktok.com/@user/video/1234567890",
"feedInfo": {
"feed_id": "1234567890",
"platform": 1,
"platform_name": "tiktok",
"url": "https://www.tiktok.com/@user/video/1234567890",
"views": 1000000,
"likes": 200000,
"comments": 1000,
"shares": 2000,
"bookmarks": 200,
"engagement": 512000,
"description": "Deskripsi video",
"hashtags": ["tag1", "tag2"],
"publish_at": 1234567890
}
}
}Response Fields:
success: Apakah operasi sync berhasilurl: URL feed yang disinkronkanfeedInfo: Informasi feed lengkap termasuk metrik, deskripsi, hashtag, dll.
Error Responses:
429 Too Many Requests: Batas konkurensi bersama tim telah tercapai. Request tidak dimasukkan ke antrean.400 Bad Request: Kredit tidak mencukupi atau URL tidak valid
Example Request
curl -X POST https://snstracker.com/api/v1/feeds/sync \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.tiktok.com/@user/video/1234567890"
}'6. Sync Channel
Sinkronkan data channel langsung dari layanan scrapy. Endpoint ini mengambil data channel terbaru secara instan dan mengurangi kredit saat sinkronisasi berhasil. Semua anggota dan API key tim berbagi satu batas untuk semua endpoint sync. Batas bersama adalah 1 untuk Starter atau tanpa langganan aktif, 5 untuk Standard, dan 10 untuk Premium.
Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.
⚠️ Catatan Penting: Endpoint sync ini mandiri dan TIDAK terintegrasi dengan platform web. Operasi sync akan:
- TIDAK membuat atau memperbarui catatan channel di dashboard web
- TIDAK muncul di daftar channel atau koleksi Anda
- TIDAK memicu webhook atau notifikasi
- HANYA mengembalikan data yang diambil langsung di respons API
Endpoint ini dirancang untuk pengambilan data satu kali via API. Untuk membuat channel pemantauan yang persisten dan muncul di platform web, gunakan endpoint Create Channels.
POST /api/v1/channels/syncRequest
Headers:
X-API-Key: API key Anda (wajib)Content-Type:application/json
Request Body:
{
"url": "https://www.tiktok.com/@username"
}Parameters:
url(wajib): URL channel untuk disinkronkan. Harus berupa string yang valid dan tidak kosong.
Response
Success Response (200):
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"url": "https://www.tiktok.com/@username",
"channelInfo": {
"id": "1234567890",
"platform": 1,
"platform_name": "tiktok",
"username": "username",
"nickname": "User Name",
"description": "Deskripsi channel",
"followers": 1000000,
"followings": 2000,
"likes": 200000000,
"total_count": 1000,
"track_count": 1000,
"status": 1
}
}
}Response Fields:
success: Apakah operasi sync berhasilurl: URL channel yang disinkronkanchannelInfo: Informasi channel lengkap termasuk metrik, deskripsi, dll.
Error Responses:
429 Too Many Requests: Batas konkurensi bersama tim telah tercapai. Request tidak dimasukkan ke antrean.400 Bad Request: Kredit tidak mencukupi atau URL tidak valid
Example Request
curl -X POST https://snstracker.com/api/v1/channels/sync \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.tiktok.com/@username"
}'7. Sinkronisasi konten kanal
Mengembalikan satu halaman, maksimal 12 item per permintaan untuk Instagram dan Reels, tanpa paginasi otomatis. instagram mencakup gambar, video, dan carousel; reels mengembalikan video Reels.
POST /api/v1/channels/feeds/sync
X-API-Key: your-api-key
Content-Type: application/jsonRequest and pagination
{
"platform": "instagram",
"channel_name": "instagram"
}countadalah bilangan bulat positif opsional yang menunjukkan jumlah item yang diinginkan pada halaman ini, tanpa nilai default. Batas jumlah bergantung pada platform: Instagram dan Reels mengembalikan maksimal 12 item per permintaan, dan hasilnya bisa lebih sedikit. Jika dihilangkan, ukuran halaman default platform digunakan.- Hilangkan
cursoruntuk halaman pertama. Untuk halaman berikutnya, kirimnext_cursorsebelumnya tanpa perubahan denganplatformdanchannel_nameyang sama. Di akhir:has_more=false,next_cursor=null.
{
"platform": "instagram",
"channel_name": "instagram",
"cursor": "previous-next-cursor"
}Setiap halaman yang berhasil diambil dikenakan 10 kredit, termasuk halaman kosong. Hanya permintaan yang gagal yang gratis; saldo awal minimal 10 kredit diperlukan. Batas konkurensi tim dibagi dengan API sinkronisasi lain dan tidak membuat catatan dashboard.
Response example (placeholder cursor) — reels, lunacut.edit, count=1
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"platform": "reels",
"channel_name": "lunacut.edit",
"channel_url": "https://www.instagram.com/lunacut.edit/",
"requested_count": 1,
"returned_count": 1,
"has_more": true,
"next_cursor": "cursor-from-response",
"items": [
{
"feed_id": "4009169989985582972",
"platform": 5,
"platform_name": "reels",
"type": "video",
"url": "https://www.instagram.com/reel/Dejbt1JPz98/",
"author_username": "lunacut.edit",
"publish_at": 1792150387,
"duration": 70.077,
"view_count": 310475
}
]
}
}platform and channel_name are required. channel_name is the username, not the display name; leading @ is accepted and dots are preserved. requested_count is null when count is omitted; returned_count equals items.length. Unknown metrics/timestamps are null. Posts may lack timestamps and carousel details. items uses the existing feed fields, including video_url, image_urls and cover_url; the example shows only selected fields. publish_at is Unix seconds and duration is seconds. Upstream order is preserved, without a most-popular sorting option; deduplicate across pages by feed_id. Empty pages can still have a next cursor; a carousel counts as one post.
Metrik dalam items, seperti tayangan (view_count), suka (like_count), simpan (bookmark_count), dan komentar (comment_count), bergantung pada platform dan data daftar kontennya. Sebagian metrik mungkin tidak tersedia. Metrik yang tidak diperoleh dikembalikan sebagai null, bukan berarti nol.
Untuk mencari metrik yang tidak tersedia dalam daftar, panggil POST /api/v1/feeds/sync secara terpisah dengan url item sebagai kolom url pada body permintaan. Permintaan detail ini dikenai biaya tersendiri sesuai aturan endpoint tersebut. Hasil tetap bergantung pada data yang disediakan platform; tidak semua metrik yang hilang dijamin dapat diperoleh.
HTTP: 400 invalid input/cursor or insufficient initial credits; 401 invalid API key; 403 disabled team or inaccessible channel; 402 insufficient credits at settlement; 429 team concurrency limit (Retry-After: 1); 502 upstream/invalid page; 503 service unavailable; 504 timeout.
8. Ambil informasi tambahan profil
POST /api/v1/channels/about/syncHanya Instagram dan Reels. Input url wajib sama dengan /api/v1/channels/sync: https://www.instagram.com/lunacut.edit/ atau https://www.instagram.com/lunacut.edit/reels/. Tidak perlu platform, count, atau cursor. URL postingan dan platform lain tidak didukung.
curl -X POST https://snstracker.com/api/v1/channels/about/sync \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/lunacut.edit/"}'Setiap permintaan berhasil dikenai 80 kredit, termasuk saat kolom bernilai null. Kesalahan tidak dikenai biaya; saldo awal minimal 80 kredit. Berbagi batas konkurensi tim dengan semua API sinkron: Starter/tanpa langganan aktif 1, Standard 5, Premium 10. Tidak membuat catatan dasbor atau webhook.
Contoh respons; ketersediaan kolom bergantung pada informasi publik akun.
{
"code": 0,
"message": "ok",
"data": {
"success": true,
"url": "https://www.instagram.com/lunacut.edit/",
"channelAbout": {
"platform": 6,
"platform_name": "instagram",
"username": "lunacut.edit",
"channel_url": "https://www.instagram.com/lunacut.edit/",
"country": "Brazil",
"country_visible": true,
"date_joined": "2020-05",
"date_joined_text": "May 2020"
}
}
}country: negara/wilayah publik hanya jika country_visible=true, bukan lokasi IP waktu nyata. country_visible: visibilitas atau null jika tidak diketahui. date_joined: bulan bergabung (YYYY-MM) atau null jika tidak tersedia/dikenali. date_joined_text: teks tanggal asli atau null. Tidak menyertakan bio, jumlah pengikut, atau nama lama.
400 / 401 / 402 / 403 / 429 (Retry-After: 1) / 502 / 503 / 504.
Integrasi Webhook
SNSTracker mendukung webhook untuk menerima notifikasi real-time ketika konten yang dipantau memenuhi ambang batas yang Anda konfigurasi. Anda dapat mengatur webhook untuk menerima notifikasi tentang:
- Pembaruan feed: Saat views, engagement (likes + comments + shares) meningkat sesuai ambang batas Anda
- Pembaruan channel: Saat followers, followings, atau likes meningkat sesuai ambang batas Anda
Menyiapkan Webhook
- Konfigurasikan target webhook di pengaturan Collections Anda
- Aktifkan notifikasi di konfigurasi Collection Anda
- Atur ambang batas untuk metrik yang ingin Anda pantau
Untuk instruksi konfigurasi webhook yang detail, silakan lihat Panduan Konfigurasi Webhook.
Error Responses
Semua endpoint dapat mengembalikan error berikut:
401 Unauthorized - API Key Tidak Ada
{
"code": -1,
"message": "Header X-API-Key wajib diisi"
}401 Unauthorized - API Key Tidak Valid
{
"code": -1,
"message": "API key tidak valid"
}400 Bad Request - Input Tidak Valid
{
"code": -1,
"message": "Request tidak valid: urls harus berupa array"
}400 Bad Request - Terlalu Banyak URL (Create Feeds)
{
"code": -1,
"message": "Maksimum 200 URL per request"
}400 Bad Request - Terlalu Banyak URL (Create Channels)
{
"code": -1,
"message": "Maksimum 5 URL per request"
}400 Bad Request - Kredit Tidak Mencukupi
{
"code": -1,
"message": "Kredit tidak mencukupi. Dibutuhkan: 10, Tersedia: 5"
}429 Too Many Requests - Konkurensi sinkronisasi tim
{
"code": -1,
"message": "Maximum concurrent sync requests (1) reached for this team. Currently active: 1. Wait for a request to complete, or contact official support to increase the limit."
}403 Forbidden - Koleksi Tidak Valid
{
"code": -1,
"message": "Koleksi tidak ditemukan atau bukan milik tim Anda"
}404 Not Found
{
"code": -1,
"message": "Tidak ada feed yang ditemukan"
}atau
{
"code": -1,
"message": "Tidak ada channel yang ditemukan"
}Contoh Penggunaan
Contoh Python - Create Feeds
import requests
url = "https://snstracker.com/api/v1/feeds"
headers = {
"X-API-Key": "your-api-key-here",
"Content-Type": "application/json"
}
data = {
"urls": [
"https://www.tiktok.com/@user/video/1234567890",
"https://www.instagram.com/p/ABC123/"
]
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
if result["code"] == 0:
print(f"Berhasil membuat {result['data']['success']} feed")
for feed in result["data"]["results"]:
print(f" - {feed['url']}: {feed['feedId']}")
else:
print(f"Error: {result['message']}")Contoh JavaScript - Refresh Feeds
const response = await fetch('https://snstracker.com/api/v1/feeds/refresh', {
method: 'POST',
headers: {
'X-API-Key': 'your-api-key-here',
'Content-Type': 'application/json',
},
body: JSON.stringify({
feedIds: ['feed_abc123xyz', 'feed_def456uvw'],
}),
});
const result = await response.json();
if (result.code === 0) {
console.log(`Berhasil me-refresh ${result.data.total} feed`);
result.data.feedIds.forEach((feedId) => {
console.log(` - ${feedId}`);
});
} else {
console.error(`Error: ${result.message}`);
}Catatan Penting
-
Validasi URL: Semua URL divalidasi secara otomatis sebelum dibuat. URL tidak valid akan ditolak.
-
Item Duplikat: Jika item dengan URL yang sama sudah ada di koleksi:
- Jika aktif, akan dilewati (ditandai dengan
skipped: true) - Jika dihentikan, akan dilanjutkan kembali (ditandai dengan
resumed: true)
- Jika aktif, akan dilewati (ditandai dengan
-
Pengumpulan Data: Setelah berhasil dibuat, item akan masuk antrian untuk pengumpulan data. Data akan tersedia segera setelah pembuatan.
-
Status Refresh: Hanya item dengan status "Pending" atau "Tracked" yang dapat di-refresh. Item dengan status lain akan disaring.
-
Kredit: Pastikan Anda memiliki kredit yang cukup sebelum mengirim request. Operasi sync mengurangi kredit segera setelah data berhasil diambil. Xiaohongshu channel tasks are priced separately and currently cost 10 credits per successful request.
/api/v1/channels/feeds/sync: Setiap halaman yang berhasil diambil dikenakan 10 kredit, termasuk halaman kosong. Hanya permintaan yang gagal yang gratis; saldo awal minimal 10 kredit diperlukan. Batas konkurensi tim dibagi dengan API sinkronisasi lain dan tidak membuat catatan dashboard./api/v1/channels/about/sync: Setiap permintaan berhasil dikenai 80 kredit, termasuk saat kolom bernilainull. Kesalahan tidak dikenai biaya; saldo awal minimal 80 kredit. Berbagi batas konkurensi tim dengan semua API sinkron: Starter/tanpa langganan aktif 1, Standard 5, Premium 10. Tidak membuat catatan dasbor atau webhook. -
Konkurensi sinkronisasi tim (
/api/v1/feeds/sync+/api/v1/channels/sync+/api/v1/channels/feeds/sync+/api/v1/channels/about/sync): Semua anggota dan API key tim berbagi satu batas untuk semua endpoint sync. Batas bersama adalah 1 untuk Starter atau tanpa langganan aktif, 5 untuk Standard, dan 10 untuk Premium. Batas mengikuti langganan yang sedang berlaku; pengaturan khusus tim oleh dukungan resmi diprioritaskan. Untuk menaikkan batas tim, hubungi dukungan resmi. -
Sync vs Create: Endpoint sync (
/api/v1/feeds/syncdan/api/v1/channels/sync+/api/v1/channels/feeds/sync+/api/v1/channels/about/sync) bersifat mandiri dan TIDAK terintegrasi dengan platform web. Mereka hanya mengembalikan data di respons API dan tidak membuat catatan di dashboard. Untuk membuat item pemantauan yang persisten dan muncul di platform web, gunakan endpoint Create (/api/v1/feedsdan/api/v1/channels). -
Mencoba ulang: Setelah 429, tunggu request aktif selesai lalu coba lagi dengan jeda yang meningkat sesuai
Retry-After. Setelah 503, coba lagi nanti. -
Platform yang Didukung: TikTok, Instagram, YouTube, dan platform media sosial utama lainnya.
Pemecahan Masalah
Masalah: "X-API-Key header is required"
Solusi: Pastikan Anda menyertakan header X-API-Key dalam request Anda.
Masalah: "Invalid API key"
Solusi: Pastikan API key Anda benar. Anda bisa membuat yang baru dari Settings → API Keys.
Masalah: "Maximum URLs allowed per request"
Solusi: Pisahkan URL Anda ke beberapa request. Feed mengizinkan hingga 200 URL, channel hingga 5 URL per request.
Masalah: "No collection found"
Solusi: Buat koleksi terlebih dahulu di dashboard, atau tentukan ID koleksi yang sudah ada.
Masalah: "Insufficient credits"
Solusi: Beli kredit tambahan atau periksa paket langganan Anda.
Masalah: "No refreshable items found"
Solusi: Hanya item dengan status "Pending" atau "Tracked" yang dapat di-refresh. Periksa status item Anda.
Masalah: Beberapa URL gagal divalidasi
Solusi: Periksa array errors pada respons untuk pesan error spesifik. Pastikan URL berasal dari platform yang didukung dan dapat diakses publik.