AVDB Dokumentasi API

API REST gratis dengan 471.000+ video JAV. Dukungan JSON & XML, terjemahan multibahasa 16 bahasa, pencarian & penyaringan canggih.

471K+
VIDEO
16
BAHASA
FREE
TANPA API KEY
REST
JSON & XML

Mulai Cepat

Dapatkan respons API pertama Anda dalam hitungan detik. Tidak perlu pendaftaran atau API key.

Tidak Perlu Autentikasi — API ini sepenuhnya gratis dan terbuka. Cukup kirim permintaan HTTP GET ke endpoint mana pun.

1. DAPATKAN VIDEO TERBARU

GET https://avdbapi.com/api.php/provide/vod?ac=detail
▶ Coba sekarang →

2. DAPATKAN VIDEO BERDASARKAN ID

GET https://avdbapi.com/api.php/provide/vod?ac=detail&ids=134
▶ Coba sekarang →

3. CARI BERDASARKAN KODE JAV

GET https://avdbapi.com/api.php/provide/vod?ac=detail&wd=miaa-818
▶ Coba sekarang →

🔗 URL Dasar

All API requests use the following base URLs. We provide two API formats:

Recommended Standard API — Clean key names, modern format
https://avdbapi.com/api.php/provide/vod
Maccms-Compatible API — Raw vod_ field names, for Maccms CMS
https://avdbapi.com/api.php/provide1/vod
💡
Which one to use? If you're building a custom app or website, use the provide API — it has clean, friendly field names like name, actor, category. If you're using Maccms CMS for collection, use provide1 — it matches Maccms's native field names like vod_name, vod_actor.

🔓 Autentikasi

🆓
Completely Free & Open — No API key, no registration, no rate limit token required. Simply send GET requests to the endpoints. However, please be respectful with request frequency (see Batas Kecepatan).

📡 Standard API — Overview

The Standard API (/provide/vod) returns clean, developer-friendly JSON with simplified field names. This is the recommended API for most integrations.

Response Structure

JSON Response
{
    "code": 1,
    "msg": "Data list",
    "page": 1,
    "pagecount": 472,
    "limit": "1000",
    "total": 471707,
    "list": [ ... ],
    "class": [ ... ]        // Only in list mode
}

Video Object Fields (Detail Mode)

FieldTypeDeskripsi
idintUnique video ID
namestringVideo title (English)
slugstringURL-friendly slug (usually the JAV code lowercase)
origin_namestringOriginal title
movie_codestringJAV code (e.g. MIAA-818)
categoryarrayList of categories/tags (e.g. ["Amateur", "Creampie", "HD"])
type_namestringType (Censored / Uncensored / etc.)
actorarrayList of actors
directorarrayList of directors
poster_urlstringFull poster image URL
thumb_urlstringThumbnail image URL
countryarrayCountry of origin (e.g. ["Japan"])
yearstringRelease year
qualitystringVideo quality (HD, 4K, etc.)
statusstringVideo status
timestringDuration
descriptionstringFull description/synopsis
created_atstringPublish date
tagstringTags
episodesobjectEpisode/play data with streaming links

📋 Daftar Video

Get a paginated list of all videos. Returns basic information (no descriptions or play URLs) with category index.

GET https://avdbapi.com/api.php/provide/vod?ac=list
▶ Coba sekarang →

List Mode Fields

In list mode, each video only contains: id, name, origin_name, type_name, category, actor, director, movie_code, country, vod_time

💡
List + Class — In list mode (not detail), the response includes a class array with all available categories. Use this to build category menus.

Example: List with Category Filter

GET https://avdbapi.com/api.php/provide/vod?ac=list&t=1&pg=2

Get page 2 of Censored videos in list mode.


🎬 Detail Video

Get full details of videos including descriptions, streaming URLs, and all metadata.

GET https://avdbapi.com/api.php/provide/vod?ac=detail

Parameters

ParameterWajibDeskripsiContoh
acWajibAction mode: detail or listdetail
idsOpsionalVideo ID(s), comma-separated for multiple134 or 134,135,136
tOpsionalCategory type ID (see Categories)1
pgOpsionalPage number (default: 1)2
pagesizeOpsionalResults per page (1–100, default: 1000)50
hOpsionalVideos updated in last N hours24
yearOpsionalFilter by year or year range2024 or 2020-2024
sort_directionOpsionalSort order: asc or desc (default: desc)asc
isendOpsionalCompletion status: 1 = completed, 0 = ongoing1

Contoh

Dapatkan video berdasarkan ID:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&ids=134

Dapatkan beberapa video:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&ids=134,135,136

Halaman 2, 50 per halaman:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&pg=2&pagesize=50

Videos updated in last 24 hours:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&h=24

Videos from 2023–2024:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&year=2023-2024

Oldest first:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&sort_direction=asc


🔧 Filtering & Combining Parameters

You can combine multiple parameters to narrow results. All filters are applied with AND logic.

Contoh Gabungan

Censored videos from 2024, page 3:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&t=1&year=2024&pg=3

Amateur videos updated in last 48h, 20 per page:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&t=4&h=48&pagesize=20

Search actress in uncensored, oldest first:

GEThttps://avdbapi.com/api.php/provide/vod?ac=detail&actor=Yua Mikami&t=2&sort_direction=asc

📦 Format Respons

Here's a complete example response for a detail request:

GET /api.php/provide/vod?ac=detail&ids=134
{
    "code": 1,
    "msg": "Data list",
    "page": 1,
    "pagecount": 1,
    "limit": "1000",
    "total": 1,
    "list": [
        {
            "type_name": "Censored",
            "id": 134,
            "name": "WPSL-285 A Dirty Mouth Drooling Girl...",
            "slug": "wpsl-285",
            "origin_name": "WPSL-285 A Dirty Mouth...",
            "movie_code": "WPSL-285",
            "category": ["Slut", "Cosplay", "Kiss", "HD", "Censored"],
            "actor": ["Urara Kanon"],
            "director": ["Updating"],
            "poster_url": "https://...",
            "thumb_url": "https://...",
            "country": ["Japan"],
            "year": "2025",
            "quality": "HD",
            "time": "02:19:00",
            "description": "Full description text...",
            "episodes": {
                "server_name": "VIP #1",
                "server_data": {
                    "Full": {
                        "slug": "full",
                        "link_embed": "https://..."
                    }
                }
            }
        }
    ]
}

🔌 Maccms API — Overview

The Maccms-compatible API (/provide1/vod) returns raw field names that match the Maccms CMS database schema. Use this if you're collecting data into a Maccms-based website.

GET https://avdbapi.com/api.php/provide1/vod?ac=detail
ℹ️
The provide1 API accepts the exact same parameters as provideac, ids, t, pg, pagesize, wd, actor, code, category, h, year, sort_direction, isend. The only difference is the response field names.

Contoh

Latest videos (Maccms format):

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&pg=1

Search by code (Maccms format):

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&wd=fc2-ppv-1766968

📑 Maccms Field Reference

Key fields returned in the provide1 detail mode:

FieldStandard API EquivalentDeskripsi
vod_ididVideo ID
vod_namenameVideo title
vod_subslugJAV code (lowercase)
vod_enorigin_nameOriginal/English title
vod_classcategoryCategories (comma-separated string)
vod_actoractorActors (comma-separated string)
vod_directordirectorDirector
vod_writerwriterWriter/Studio
vod_picposter_urlPoster image URL
vod_remarksmovie_codeJAV code (uppercase)
vod_areacountryCountry
vod_yearyearYear
vod_contentdescriptionFull description
vod_play_urlepisodesStreaming URLs ($$$ delimited)
vod_play_fromPlayer source names
vod_durationtimeVideo duration
vod_serialSeries title (Japanese)
vod_tagtagTags
vod_hitsView count

🌐 Multilingual API New

All API endpoints support 16 languages. Titles, descriptions, categories, and metadata are automatically translated. Simply add the language prefix to the URL.

What the Multilingual API Does

The language API returns the same AVDB video data structure, but with reader-facing text localized for the selected audience. Your integration does not need a different endpoint, API key, or payload parser.

  • Translated video text: title, original/title display field, description, and short blurb when available.
  • Translated metadata: category/type name, tags, country/area, status labels, and common placeholder text such as "Updating".
  • Stable technical fields: IDs, movie codes, slugs, poster URLs, stream URLs, dates, duration, and numeric fields stay unchanged so existing integrations remain compatible.
  • Fast cached delivery: translations are served from the AVDB translation cache; if a specific text is not translated yet, the API safely falls back to the original value instead of breaking the response.

How to Use It

Choose a two-letter language code, then place it directly after the domain and before /api.php. All normal API parameters continue to work.

English Default

GET https://avdbapi.com/api.php/provide/vod?ac=detail&ids=134

Thai Response

GET https://avdbapi.com/th/api.php/provide/vod?ac=detail&ids=134

Indonesian Search

GET https://avdbapi.com/id/api.php/provide/vod?ac=detail&wd=miaa-818

Korean Pagination

GET https://avdbapi.com/ko/api.php/provide/vod?ac=detail&pg=1&pagesize=50

Response Shape

The response keeps the standard JSON schema and adds language metadata at the top level. Use lang and lang_name to confirm which language was applied.

JSON
{
  "lang": "th",
  "lang_name": "ไทย",
  "total": 1,
  "list": [
    {
      "id": 134,
      "name": "Translated video title",
      "description": "Translated video description",
      "category": ["Translated category"],
      "country": ["Translated country"],
      "movie_code": "ABCD-123",
      "poster_url": "https://...",
      "episodes": { "server_name": "VIP #1" }
    }
  ]
}
ℹ️
Integration tip: For translated output, use the JSON API endpoints. XML remains available for legacy compatibility, while the multilingual overlay is designed for the JSON response used by most modern apps, bots, and websites.

Supported Languages

CodeLanguageURL PrefixContoh
en🇬🇧 English (default)https://avdbapi.com/api.php/...No prefix needed
th🇹🇭 ไทยhttps://avdbapi.com/th/api.php/...Try →
id🇮🇩 Indonesiahttps://avdbapi.com/id/api.php/...Try →
ko🇰🇷 한국어https://avdbapi.com/ko/api.php/...Try →
vi🇻🇳 Tiếng Việthttps://avdbapi.com/vi/api.php/...Try →
zh🇨🇳 中文https://avdbapi.com/zh/api.php/...Try →
ja🇯🇵 日本語https://avdbapi.com/ja/api.php/...Try →
fr🇫🇷 Françaishttps://avdbapi.com/fr/api.php/...Try →
de🇩🇪 Deutschhttps://avdbapi.com/de/api.php/...Try →
es🇪🇸 Españolhttps://avdbapi.com/es/api.php/...Try →
pt🇵🇹 Portuguêshttps://avdbapi.com/pt/api.php/...Try →
ru🇷🇺 Русскийhttps://avdbapi.com/ru/api.php/...Try →
ar🇸🇦 العربيةhttps://avdbapi.com/ar/api.php/...Try →
tr🇹🇷 Türkçehttps://avdbapi.com/tr/api.php/...Try →
hi🇮🇳 हिन्दीhttps://avdbapi.com/hi/api.php/...Try →
ms🇲🇾 Malayhttps://avdbapi.com/ms/api.php/...Try →
tl🇵🇭 Filipinohttps://avdbapi.com/tl/api.php/...Try →
🌍
How it works: When you use a language prefix, the API translates the video title, description, categories, director, country, and type_name. The response also includes lang and lang_name metadata fields.

📂 Kategori

Use the t parameter to filter videos by category type ID:

IDKategoriExample URL
1🎬 CensoredTry →
2🔓 UncensoredTry →
3💥 Uncensored LeakedTry →
4🎥 AmateurTry →
5🇨🇳 Chinese AVTry →
6🎨 HentaiTry →
7🔤 English SubtitleTry →


📦 Format XML

Both APIs support XML output format. Add at=xml to the URL or use the /at/xml path suffix.

Standard API - XML:

GET https://avdbapi.com/api.php/provide/vod/at/xml Try →

Maccms API - XML:

GET https://avdbapi.com/api.php/provide1/vod/at/xml Try →

💻 Contoh Kode

Ready-to-use code snippets in popular languages.

cURL
# Get latest videos
curl "https://avdbapi.com/api.php/provide/vod?ac=detail"

# Search by JAV code
curl "https://avdbapi.com/api.php/provide/vod?ac=detail&wd=miaa-818"

# Get Thai translation
curl "https://avdbapi.com/th/api.php/provide/vod?ac=detail&ids=134"

# Get Censored videos, page 2, 50 per page
curl "https://avdbapi.com/api.php/provide/vod?ac=detail&t=1&pg=2&pagesize=50"

# Get XML format
curl "https://avdbapi.com/api.php/provide/vod/at/xml"
JavaScript (fetch)
// Search for a specific JAV code
async function searchByCode(code) {
    const url = `https://avdbapi.com/api.php/provide/vod?ac=detail&wd=${code}`;
    const response = await fetch(url);
    const data = await response.json();

    if (data.list.length > 0) {
        const video = data.list[0];
        console.log(`Title: ${video.name}`);
        console.log(`Code: ${video.movie_code}`);
        console.log(`Actor: ${video.actor.join(', ')}`);
        console.log(`Categories: ${video.category.join(', ')}`);
        console.log(`Poster: ${video.poster_url}`);
    }
}

searchByCode('MIAA-818');

// Get Thai translations
const thUrl = 'https://avdbapi.com/th/api.php/provide/vod?ac=detail&ids=134';
fetch(thUrl).then(r => r.json()).then(data => {
    console.log(data.list[0].name);  // Thai title
    console.log(data.lang);              // "th"
});
Python (requests)
import requests

# Search by actress
url = "https://avdbapi.com/api.php/provide/vod"
params = {
    "ac": "detail",
    "actor": "Yua Mikami",
    "pagesize": 20
}
response = requests.get(url, params=params)
data = response.json()

for video in data["list"]:
    print(f"{video['movie_code']} - {video['name']}")
    print(f"  Categories: {', '.join(video['category'])}")
    print(f"  Poster: {video['poster_url']}")
    print()

print(f"Total results: {data['total']}")
print(f"Pages: {data['pagecount']}")
PHP
<?php
// Fetch latest censored videos
$url = 'https://avdbapi.com/api.php/provide/vod?ac=detail&t=1&pagesize=20';
$json = file_get_contents($url);
$data = json_decode($json, true);

echo "Total: " . $data['total'] . " videos\n";

foreach ($data['list'] as $video) {
    echo $video['movie_code'] . " - " . $video['name'] . "\n";
    echo "  Actor: " . implode(', ', $video['actor']) . "\n";
    echo "  Poster: " . $video['poster_url'] . "\n\n";
}

// Maccms format for collection
$maccmsUrl = 'https://avdbapi.com/api.php/provide1/vod?ac=detail&h=24';
$maccmsData = json_decode(file_get_contents($maccmsUrl), true);
echo "Updated in 24h: " . $maccmsData['total'] . " videos\n";
?>

⚙️ Pengaturan Maccms CMS

Panduan langkah demi langkah untuk menambahkan API ini sebagai sumber koleksi di Maccms CMS.

Langkah 1: Tambahkan Sumber Koleksi Kustom

  1. Login to your Maccms admin panel
  2. Go to Collection → Custom Resources
  3. Click Add
  4. Enter the API URL:
https://avdbapi.com/api.php/provide1/vod

Langkah 2: Konfigurasi Parameter

  • Data format: JSON (default)
  • If using XML, add &at=xml parameter
  • Collection interval: Set to 1–6 hours for automatic updates
  • Incremental mode: Use &h=24 to only collect videos updated in the last 24 hours
⚠️
Important: Use provide1 (not provide) for Maccms collection. The provide1 API returns raw vod_* field names that Maccms expects.

Langkah 3: Koleksi Inkremental

For daily updates, use the hours parameter to only fetch recently updated videos:

GET https://avdbapi.com/api.php/provide1/vod?ac=detail&h=24

This fetches only videos added or updated in the last 24 hours, making collection faster and more efficient.


🎬 API Maccms — Detail Video

Mode detail lengkap mengembalikan semua field vod_* termasuk deskripsi, URL putar, dan metadata. Parameter sama dengan API Standar.

GET https://avdbapi.com/api.php/provide1/vod?ac=detail
▶ Coba sekarang →

Parameters (same as Standard API)

ParameterWajibDeskripsiContoh
acWajibdetail = full info, list = basic infodetail
idsOpsionalVideo ID(s), comma-separated134 or 134,135
tOpsionalCategory type ID (1–7)1
pgOpsionalPage number2
pagesizeOpsionalResults per page (1–100)50
wdOpsionalKeyword searchmiaa-818
hOpsionalVideos updated in last N hours24
yearOpsionalYear or year range2024
sort_directionOpsionalasc or descasc
isendOpsionalCompletion: 1 or 01

Contoh

Dapatkan video berdasarkan ID:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&ids=134
▶ Try →

Dapatkan beberapa video:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&ids=134,135,136
▶ Try →

Halaman 2, 50 per halaman:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&pg=2&pagesize=50
▶ Try →

Video diperbarui dalam 24 jam:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&h=24
▶ Try →

Censored category only:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&t=1
▶ Try →

Year filter (2024 only):

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&year=2024
▶ Try →

Year range (2020–2024):

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&year=2020-2024
▶ Try →

Oldest first:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&sort_direction=asc
▶ Try →

Completed videos only:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&isend=1
▶ Try →

List mode (basic info):

GEThttps://avdbapi.com/api.php/provide1/vod?ac=list
▶ Try →


🔧 API Maccms — Filter Gabungan

Gabungkan parameter untuk hasil yang tepat. Semua filter menggunakan logika AND.

Contoh Gabungan

Censored + year 2024 + page 2:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&t=1&year=2024&pg=2&pagesize=20
▶ Try →

Uncensored + updated in 48h:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&t=2&h=48&pagesize=20
▶ Try →

Actress + category + oldest first:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&actor=Yua Mikami&t=1&sort_direction=asc
▶ Try →

Category by type + year range + 50 per page:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&t=3&year=2022-2024&pagesize=50
▶ Try →

Search code + completed only:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&code=MIAA&isend=1
▶ Try →
💡
XML Format: Add /at/xml to any provide1 URL for XML output:
/api.php/provide1/vod/at/xml?ac=detail&t=1

📦 API Maccms — Format Respons

Example response showing the raw vod_* field names used by Maccms CMS:

GET /api.php/provide1/vod?ac=detail&ids=134
{
    "code": 1,
    "msg": "Data list",
    "page": 1,
    "pagecount": 1,
    "limit": "1000",
    "total": 1,
    "list": [
        {
            "vod_id": 134,
            "type_id": 1,
            "type_name": "Censored",
            "vod_name": "WPSL-285 A Dirty Mouth...",
            "vod_sub": "wpsl-285",
            "vod_en": "WPSL-285 A Dirty Mouth...",
            "vod_remarks": "WPSL-285",
            "vod_class": "Slut,Individual,Cosplay,Kiss,...",
            "vod_actor": "Urara Kanon",
            "vod_director": "",
            "vod_writer": "Waap Entertainment",
            "vod_area": "Japan",
            "vod_year": "2025",
            "vod_serial": "接吻しまくり淫口よだれ女",
            "vod_pic": "https://cdn-poster.avdb.pro/...",
            "vod_pic_thumb": "https://cdn-poster.avdb.pro/...",
            "vod_duration": "02:19:00",
            "vod_content": "Full description...",
            "vod_play_from": "VIP",
            "vod_play_url": "Full$https://surrit.com/...",
            "vod_hits": 85,
            "vod_time": "2025-04-08 03:38:35",
            // ... 60+ more vod_* fields
        }
    ]
}
💡
Key differences from Standard API:
  • categoryvod_class (comma-separated string, not array)
  • actorvod_actor (comma-separated string, not array)
  • episodesvod_play_url ($$$ delimited format)
  • All fields prefixed with vod_

⏱️ Batas Kecepatan

Untuk memastikan penggunaan yang adil, batas kecepatan berikut berlaku:

ParameterBatasDetail
wd (search)45 req/minKeyword search requests
actor30 req/minActor search requests
director30 req/minDirector search requests
code45 req/minCode search requests
category30 req/minCategory search requests
PaginationNo limitBrowsing pages by ID or page number
💡
Tip: Pagination and ID-based requests (ids, t, pg) are not rate-limited. Only text-based search parameters have rate limits to prevent abuse.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara provide dan provide1?

Data sama, nama field berbeda. provide menggunakan nama bersih (name, actor), provide1 menggunakan format Maccms (vod_name, vod_actor).

Apakah API ini gratis?

Ya, sepenuhnya gratis. Tanpa pendaftaran, tanpa API key, tanpa biaya tersembunyi.

Apakah ada ukuran halaman maksimum?

Ya, maksimum 100 hasil per halaman. Default 1000 jika tidak ditentukan.

Seberapa sering data diperbarui?

Database diperbarui beberapa kali sehari dengan rilis baru.

Bagaimana cara mendapatkan konten terjemahan?

Tambahkan awalan bahasa ke URL. Contoh: /vi/api.php/... untuk Vietnam.

Apakah mendukung CORS?

Ya, CORS diaktifkan untuk semua sumber.

Bisakah saya gunakan untuk proyek komersial?

Ya, API gratis untuk penggunaan pribadi maupun komersial.

Bisakah saya menggabungkan beberapa filter?

Ya, semua parameter bisa digabungkan. Menggunakan logika AND.


AVDB API — 471K+ Videos • 16 Languages • Free Forever

📱 Telegram✉️ Email