AVDB API文档
免费REST API,拥有471,000多部JAV视频。支持JSON和XML,16种语言的多语言翻译,强大的搜索和过滤。
⚡ 快速开始
几秒内获取首次API响应。无需注册或API密钥。
1. 获取最新视频
2. 按ID获取视频
3. 按番号搜索
🔗 基础URL
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.🔓 认证
📡 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 | 描述 |
|---|---|---|
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 |
📋 视频列表
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.
🎬 视频详情
Get full details of videos including descriptions, streaming URLs, and all metadata.
Parameters
| 参数 | 必填 | 描述 | 示例 |
|---|---|---|---|
ac | 必填 | Action mode: detail or list | detail |
ids | 可选 | Video ID(s), comma-separated for multiple | 134 or 134,135,136 |
t | 可选 | Category type ID (see Categories) | 1 |
pg | 可选 | Page number (default: 1) | 2 |
pagesize | 可选 | Results per page (1–100, default: 1000) | 50 |
h | 可选 | Videos updated in last N hours | 24 |
year | 可选 | Filter by year or year range | 2024 or 2020-2024 |
sort_direction | 可选 | Sort order: asc or desc (default: desc) | asc |
isend | 可选 | Completion status: 1 = completed, 0 = ongoing | 1 |
示例
按ID获取视频:
获取多个视频:
第2页,每页50条:
Videos updated in last 24 hours:
Videos from 2023–2024:
Oldest first:
🔍 搜索
Powerful search across multiple fields. Uses FULLTEXT search for fast performance on 471K+ records.
| 参数 | 描述 | 描述 | 示例 |
|---|---|---|---|
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 by JAV code:
Search by actress name:
Search by dedicated code parameter:
按分类搜索:
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.
组合示例
Censored videos from 2024, page 3:
Amateur videos updated in last 48h, 20 per page:
Search actress in uncensored, oldest first:
📦 响应格式
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.示例
Latest videos (Maccms format):
Search by code (Maccms format):
📑 Maccms Field Reference
Key fields returned in the provide1 detail mode:
| Field | Standard API Equivalent | 描述 |
|---|---|---|
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 | 示例 |
|---|---|---|---|
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.📂 分类
Use the t parameter to filter videos by category type ID:
| ID | 分类 | 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 → |
📄 分页
The API returns paginated results. Use pg and pagesize to control pagination.
| Response Field | 描述 |
|---|---|
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格式
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:
💻 代码示例
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设置
Step-by-step guide for adding this API as a collection source in Maccms CMS.
步骤1:添加自定义采集源
- Login to your Maccms admin panel
- Go to Collection → Custom Resources
- Click Add
- Enter the API URL:
步骤2:配置参数
- 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.步骤3:增量采集
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 — 视频详情
Full detail mode returns all vod_* fields including descriptions, play URLs, and metadata. Same parameters as Standard API.
Parameters (same as Standard API)
| 参数 | 必填 | 描述 | 示例 |
|---|---|---|---|
ac | 必填 | detail = full info, list = basic info | detail |
ids | 可选 | Video ID(s), comma-separated | 134 or 134,135 |
t | 可选 | Category type ID (1–7) | 1 |
pg | 可选 | Page number | 2 |
pagesize | 可选 | Results per page (1–100) | 50 |
wd | 可选 | Keyword search | miaa-818 |
h | 可选 | Videos updated in last N hours | 24 |
year | 可选 | Year or year range | 2024 |
sort_direction | 可选 | asc or desc | asc |
isend | 可选 | Completion: 1 or 0 | 1 |
示例
Year range (2020–2024):
🔍 Maccms API — 搜索
All search parameters from the Standard API work with provide1 too.
| 参数 | 描述 | 示例 |
|---|---|---|
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 |
搜索示例
🔧 Maccms API — 组合过滤
Combine parameters for precise results. All filters are AND logic.
组合示例
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 — 响应格式
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_
⏱️ 速率限制
To ensure fair usage for all users, the following rate limits apply:
| 参数 | 限制 | 详情 |
|---|---|---|
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.❓ 常见问题
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).
这个API免费吗?
是的,完全免费。无需注册,无需API密钥,没有隐藏费用。
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