AVDB Documentación de la API
Free REST API with 471,000+ JAV videos. JSON & XML support, multilingual translations in 16 languages, powerful search & filtering.
⚡ Inicio rápido
Get your first API response in seconds. No registration or API key required.
1. GET LATEST VIDEOS
2. GET A SPECIFIC VIDEO BY ID
3. SEARCH BY JAV CODE
🔗 URL base
All API requests use the following base URLs. We provide two API formats:
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.🔓 Autenticación
📡 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
{
"code": 1,
"msg": "Data list",
"page": 1,
"pagecount": 472,
"limit": "1000",
"total": 471707,
"list": [ ... ],
"class": [ ... ] // Only in list mode
}
Video Object Fields (Detail Mode)
| Field | Type | Description |
|---|---|---|
id | int | Unique video ID |
name | string | Video title (English) |
slug | string | URL-friendly slug (usually the JAV code lowercase) |
origin_name | string | Original title |
movie_code | string | JAV code (e.g. MIAA-818) |
category | array | List of categories/tags (e.g. ["Amateur", "Creampie", "HD"]) |
type_name | string | Type (Censored / Uncensored / etc.) |
actor | array | List of actors |
director | array | List of directors |
poster_url | string | Full poster image URL |
thumb_url | string | Thumbnail image URL |
country | array | Country of origin (e.g. ["Japan"]) |
year | string | Release year |
quality | string | Video quality (HD, 4K, etc.) |
status | string | Video status |
time | string | Duration |
description | string | Full description/synopsis |
created_at | string | Publish date |
tag | string | Tags |
episodes | object | Episode/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.
List Mode Fields
In list mode, each video only contains: id, name, origin_name, type_name, category, actor, director, movie_code, country, vod_time
class array with all available categories. Use this to build category menus.Example: List with Category Filter
Get page 2 of Censored videos in list mode.
🎬 Detalles del video
Get full details of videos including descriptions, streaming URLs, and all metadata.
Parameters
| Parámetro | Obligatorio | Description | Ejemplo |
|---|---|---|---|
ac | Obligatorio | Action mode: detail or list | detail |
ids | Opcional | Video ID(s), comma-separated for multiple | 134 or 134,135,136 |
t | Opcional | Category type ID (see Categories) | 1 |
pg | Opcional | Page number (default: 1) | 2 |
pagesize | Opcional | Results per page (1–100, default: 1000) | 50 |
h | Opcional | Videos updated in last N hours | 24 |
year | Opcional | Filter by year or year range | 2024 or 2020-2024 |
sort_direction | Opcional | Sort order: asc or desc (default: desc) | asc |
isend | Opcional | Completion status: 1 = completed, 0 = ongoing | 1 |
Ejemplos
Get video by ID:
Get multiple videos:
Page 2, 50 per page:
Videos updated in last 24 hours:
Videos from 2023–2024:
Oldest first:
🔍 Buscar
Powerful search across multiple fields. Uses FULLTEXT search for fast performance on 471K+ records.
| Parámetro | Description | Description | Ejemplo |
|---|---|---|---|
wd | Title | Search by keyword in video title. Also matches JAV codes. | wd=beautiful wife |
code | JAV Code | Search by exact JAV code (matches vod_sub and vod_remarks) | code=MIAA-818 |
actor | Actor name | Search by actor/actress name | actor=Yua Mikami |
director | Director name | Search by director name | director=Nagao |
writer | Writer/Studio | Search by writer or production studio | writer=S1 |
category | Category | Search by category tag (e.g. Amateur, Creampie) | category=Amateur |
Search Examples
Search by JAV code:
Search by actress name:
Search by dedicated code parameter:
Search by category:
wd for general searches. It uses FULLTEXT indexing for best performance. Use code when you know the exact JAV code. URL-encode spaces as %20.🔧 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:
Amateur videos updated in last 48h, 20 per page:
Search actress in uncensored, oldest first:
📦 Formato de respuesta
Here's a complete example response for a detail request:
{
"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.
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.Ejemplos
Latest videos (Maccms format):
Search by code (Maccms format):
📑 Maccms Field Reference
Key fields returned in the provide1 detail mode:
| Field | Standard API Equivalent | Description |
|---|---|---|
vod_id | id | Video ID |
vod_name | name | Video title |
vod_sub | slug | JAV code (lowercase) |
vod_en | origin_name | Original/English title |
vod_class | category | Categories (comma-separated string) |
vod_actor | actor | Actors (comma-separated string) |
vod_director | director | Director |
vod_writer | writer | Writer/Studio |
vod_pic | poster_url | Poster image URL |
vod_remarks | movie_code | JAV code (uppercase) |
vod_area | country | Country |
vod_year | year | Year |
vod_content | description | Full description |
vod_play_url | episodes | Streaming URLs ($$$ delimited) |
vod_play_from | — | Player source names |
vod_duration | time | Video duration |
vod_serial | — | Series title (Japanese) |
vod_tag | tag | Tags |
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
| Code | Language | URL Prefix | Ejemplo |
|---|---|---|---|
en | 🇬🇧 English (default) | https://avdbapi.com/api.php/... | No prefix needed |
th | 🇹🇭 ไทย | https://avdbapi.com/th/api.php/... | Try → |
id | 🇮🇩 Indonesia | https://avdbapi.com/id/api.php/... | Try → |
ko | 🇰🇷 한국어 | https://avdbapi.com/ko/api.php/... | Try → |
vi | 🇻🇳 Tiếng Việt | https://avdbapi.com/vi/api.php/... | Try → |
zh | 🇨🇳 中文 | https://avdbapi.com/zh/api.php/... | Try → |
ja | 🇯🇵 日本語 | https://avdbapi.com/ja/api.php/... | Try → |
fr | 🇫🇷 Français | https://avdbapi.com/fr/api.php/... | Try → |
de | 🇩🇪 Deutsch | https://avdbapi.com/de/api.php/... | Try → |
es | 🇪🇸 Español | https://avdbapi.com/es/api.php/... | Try → |
pt | 🇵🇹 Português | https://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çe | https://avdbapi.com/tr/api.php/... | Try → |
hi | 🇮🇳 हिन्दी | https://avdbapi.com/hi/api.php/... | Try → |
ms | 🇲🇾 Malay | https://avdbapi.com/ms/api.php/... | Try → |
tl | 🇵🇭 Filipino | https://avdbapi.com/tl/api.php/... | Try → |
lang and lang_name metadata fields.📂 Categorías
Use the t parameter to filter videos by category type ID:
| ID | Categoría | Example URL |
|---|---|---|
1 | 🎬 Censored | Try → |
2 | 🔓 Uncensored | Try → |
3 | 💥 Uncensored Leaked | Try → |
4 | 🎥 Amateur | Try → |
5 | 🇨🇳 Chinese AV | Try → |
6 | 🎨 Hentai | Try → |
7 | 🔤 English Subtitle | Try → |
📄 Paginación
The API returns paginated results. Use pg and pagesize to control pagination.
| Response Field | Description |
|---|---|
page | Current page number |
pagecount | Total number of pages available |
limit | Results per page (default 1000) |
total | Total number of matching videos |
Pagination Example — Iterate All Pages
async function fetchAllVideos() {
let page = 1, allVideos = [];
while (true) {
const url = `https://avdbapi.com/api.php/provide/vod?ac=detail&pg=${page}&pagesize=100`;
const res = await fetch(url);
const data = await res.json();
allVideos.push(...data.list);
if (page >= data.pagecount) break;
page++;
}
return allVideos; // 471K+ videos
}
📦 XML Format
Both APIs support XML output format. Add at=xml to the URL or use the /at/xml path suffix.
Standard API - XML:
Maccms API - XML:
💻 Ejemplos de código
Ready-to-use code snippets in popular languages.
# 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"
// 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"
});
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
// 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
- Login to your Maccms admin panel
- Go to Collection → Custom Resources
- Click Add
- Enter the API URL:
Step 2: Configure Parameters
- Data format: JSON (default)
- If using XML, add
&at=xmlparameter - Collection interval: Set to 1–6 hours for automatic updates
- Incremental mode: Use
&h=24to only collect videos updated in the last 24 hours
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:
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.
Parameters (same as Standard API)
| Parámetro | Obligatorio | Description | Ejemplo |
|---|---|---|---|
ac | Obligatorio | detail = full info, list = basic info | detail |
ids | Opcional | Video ID(s), comma-separated | 134 or 134,135 |
t | Opcional | Category type ID (1–7) | 1 |
pg | Opcional | Page number | 2 |
pagesize | Opcional | Results per page (1–100) | 50 |
wd | Opcional | Keyword search | miaa-818 |
h | Opcional | Videos updated in last N hours | 24 |
year | Opcional | Year or year range | 2024 |
sort_direction | Opcional | asc or desc | asc |
isend | Opcional | Completion: 1 or 0 | 1 |
Ejemplos
Year range (2020–2024):
🔍 Maccms API — Search
All search parameters from the Standard API work with provide1 too.
| Parámetro | Description | Ejemplo |
|---|---|---|
wd | Title (vod_name) — keyword/JAV code | wd=miaa-818 |
code | vod_sub / vod_remarks — exact JAV code | code=FNS-053 |
actor | vod_actor — actor/actress name | actor=Yua Mikami |
director | vod_director — director name | director=Nagao |
writer | vod_writer — writer/studio | writer=S1 |
category | vod_class — category tag | category=Amateur |
Search Examples
Search by JAV code (keyword):
🔧 Maccms API — Combined Filters
Combine parameters for precise results. All filters are AND logic.
Combined Examples
Censored + year 2024 + page 2:
Uncensored + updated in 48h:
Actress + category + oldest first:
Category by type + year range + 50 per page:
Search code + completed only:
/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:
{
"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
}
]
}
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_
⏱️ Límites de velocidad
To ensure fair usage for all users, the following rate limits apply:
| Parámetro | Límite | Detalles |
|---|---|---|
wd (search) | 45 req/min | Keyword search requests |
actor | 30 req/min | Actor search requests |
director | 30 req/min | Director search requests |
code | 45 req/min | Code search requests |
category | 30 req/min | Category search requests |
| Pagination | No limit | Browsing pages by ID or page number |
ids, t, pg) are not rate-limited. Only text-based search parameters have rate limits to prevent abuse.❓ Preguntas frecuentes
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
Unirse a Telegram