AVDB Dokumentasyon ng API

Free REST API with 471,000+ JAV videos. JSON & XML support, multilingual translations in 16 languages, powerful search & filtering.

471K+
VIDEOS
16
WIKA
FREE
WALANG API KEY
REST
JSON & XML

โšก Mabilis na Pagsisimula

Get your first API response in seconds. No registration or API key required.

โœ…
No Authentication Required โ€” The API is completely free and open. Just send HTTP GET requests to any endpoint.

1. GET LATEST VIDEOS

GET https://avdbapi.com/api.php/provide/vod?ac=detail
โ–ถ Subukan ngayon โ†’

2. GET A SPECIFIC VIDEO BY ID

GET https://avdbapi.com/api.php/provide/vod?ac=detail&ids=134
โ–ถ Subukan ngayon โ†’

3. SEARCH BY JAV CODE

GET https://avdbapi.com/api.php/provide/vod?ac=detail&wd=miaa-818
โ–ถ Subukan ngayon โ†’

๐Ÿ”— Base URL

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.

๐Ÿ”“ Authentication

๐Ÿ†“
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 Limitasyon ng Rate).

๐Ÿ“ก 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)

FieldTypeDescription
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

๐Ÿ“‹ List Videos

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
โ–ถ Subukan ngayon โ†’

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.


๐ŸŽฌ Detalye ng Video

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

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

Parameters

ParameterKinakailanganDescriptionHalimbawa
acKinakailanganAction mode: detail or listdetail
idsOpsyonalVideo ID(s), comma-separated for multiple134 or 134,135,136
tOpsyonalCategory type ID (see Categories)1
pgOpsyonalPage number (default: 1)2
pagesizeOpsyonalResults per page (1โ€“100, default: 1000)50
hOpsyonalVideos updated in last N hours24
yearOpsyonalFilter by year or year range2024 or 2020-2024
sort_directionOpsyonalSort order: asc or desc (default: desc)asc
isendOpsyonalCompletion status: 1 = completed, 0 = ongoing1

Mga Halimbawa

Get video by ID:

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

Get multiple videos:

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

Page 2, 50 per page:

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.

Combined Examples

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 ng Tugon

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 provide โ€” ac, ids, t, pg, pagesize, wd, actor, code, category, h, year, sort_direction, isend. The only difference is the response field names.

Mga Halimbawa

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 EquivalentDescription
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_fromโ€”Player source names
vod_durationtimeVideo duration
vod_serialโ€”Series title (Japanese)
vod_tagtagTags
vod_hitsโ€”View 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.

Supported Languages

CodeLanguageURL PrefixHalimbawa
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.

๐Ÿ“‚ Mga Kategorya

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

IDKategoryaExample URL
1๐ŸŽฌ CensoredTry โ†’
2๐Ÿ”“ UncensoredTry โ†’
3๐Ÿ’ฅ Uncensored LeakedTry โ†’
4๐ŸŽฅ AmateurTry โ†’
5๐Ÿ‡จ๐Ÿ‡ณ Chinese AVTry โ†’
6๐ŸŽจ HentaiTry โ†’
7๐Ÿ”ค English SubtitleTry โ†’


๐Ÿ“ฆ XML Format

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 โ†’

๐Ÿ’ป Code Examples

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 Vietnamese translation
curl "https://avdbapi.com/vi/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 Vietnamese translations
const viUrl = 'https://avdbapi.com/vi/api.php/provide/vod?ac=detail&ids=134';
fetch(viUrl).then(r => r.json()).then(data => {
    console.log(data.list[0].name);  // Vietnamese title
    console.log(data.lang);              // "vi"
});
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";
?>

โš™๏ธ Maccms CMS Setup

Step-by-step guide for adding this API as a collection source in Maccms CMS.

Step 1: Add Custom Collection Source

  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

Step 2: Configure Parameters

  • 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.

Step 3: Incremental Collection

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.


๐ŸŽฌ Maccms API โ€” Video Details

Full detail mode returns all vod_* fields including descriptions, play URLs, and metadata. Same parameters as Standard API.

GET https://avdbapi.com/api.php/provide1/vod?ac=detail
โ–ถ Subukan ngayon โ†’

Parameters (same as Standard API)

ParameterKinakailanganDescriptionHalimbawa
acKinakailangandetail = full info, list = basic infodetail
idsOpsyonalVideo ID(s), comma-separated134 or 134,135
tOpsyonalCategory type ID (1โ€“7)1
pgOpsyonalPage number2
pagesizeOpsyonalResults per page (1โ€“100)50
wdOpsyonalKeyword searchmiaa-818
hOpsyonalVideos updated in last N hours24
yearOpsyonalYear or year range2024
sort_directionOpsyonalasc or descasc
isendOpsyonalCompletion: 1 or 01

Mga Halimbawa

Get video by ID:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&ids=134
โ–ถ Try โ†’

Get multiple videos:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&ids=134,135,136
โ–ถ Try โ†’

Page 2, 50 per page:

GEThttps://avdbapi.com/api.php/provide1/vod?ac=detail&pg=2&pagesize=50
โ–ถ Try โ†’

Videos updated in last 24h:

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 โ†’


๐Ÿ”ง Maccms API โ€” Combined Filters

Combine parameters for precise results. All filters are AND logic.

Combined Examples

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

๐Ÿ“ฆ Maccms API โ€” Response Format

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:
  • category โ†’ vod_class (comma-separated string, not array)
  • actor โ†’ vod_actor (comma-separated string, not array)
  • episodes โ†’ vod_play_url ($$$ delimited format)
  • All fields prefixed with vod_

โฑ๏ธ Limitasyon ng Rate

To ensure fair usage for all users, the following rate limits apply:

ParameterLimitDetails
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.

โ“ Frequently Asked Questions

What's the difference between provide and provide1?

Same data, different field names. provide uses clean names (name, actor), provide1 uses Maccms format (vod_name, vod_actor).

Is this API free?

Yes, completely free. No registration, no API keys, no hidden costs.

Is there a maximum page size?

Yes, maximum 100 results per page. Default is 1000 if not specified.

How often is data updated?

The database is updated multiple times daily with new releases.

How do I get translated content?

Add the language prefix to the URL. For example, /vi/api.php/... for Vietnamese.

Do you support CORS?

Yes, CORS is enabled for all origins.

Can I use this for commercial projects?

Yes, the API is free for both personal and commercial use.

Can I combine multiple search filters?

Yes, all parameters can be combined. They use AND logic.


AVDB API โ€” 471K+ Videos โ€ข 16 Languages โ€ข Free Forever

๐Ÿ“ฑ Telegram โ€ข โœ‰๏ธ Email