AVDB APIドキュメント

471,000以上のJAV動画を持つ無料REST API。JSON&XMLサポート、16言語の多言語翻訳、強力な検索とフィルタリング。

471K+
動画
16
言語
FREE
APIキー不要
REST
JSON & XML

クイックスタート

秒でAPI応答を取得。登録やAPIキーは不要。

認証不要 — APIは完全に無料でオープン。任意のエンドポイントにHTTP GETリクエストを送信するだけ。

1. 最新動画を取得

GET https://avdbapi.com/api.php/provide/vod?ac=detail
▶ 実際に試す →

2. IDで動画を取得

GET https://avdbapi.com/api.php/provide/vod?ac=detail&ids=134
▶ 実際に試す →

3. JAVコードで検索

GET https://avdbapi.com/api.php/provide/vod?ac=detail&wd=miaa-818
▶ 実際に試す →

🔗 ベース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.

🔓 認証

🆓
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 レート制限).

📡 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)

FieldType説明
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

📋 動画一覧

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
▶ 実際に試す →

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.


🎬 動画詳細

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

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

Parameters

パラメータ必須説明
ac必須Action mode: detail or listdetail
ids任意Video ID(s), comma-separated for multiple134 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 hours24
year任意Filter by year or year range2024 or 2020-2024
sort_direction任意Sort order: asc or desc (default: desc)asc
isend任意Completion status: 1 = completed, 0 = ongoing1

IDで動画を取得:

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

複数の動画を取得:

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

2ページ目、50件/ページ:

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

24時間以内に更新された動画:

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

古い順:

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.

組合せ例

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

📦 レスポンス形式

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.

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 Equivalent説明
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 Prefix
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.

📂 カテゴリ

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

IDカテゴリExample URL
1🎬 CensoredTry →
2🔓 UncensoredTry →
3💥 Uncensored LeakedTry →
4🎥 AmateurTry →
5🇨🇳 Chinese AVTry →
6🎨 HentaiTry →
7🔤 English SubtitleTry →


📦 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 →

💻 コード例

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";
?>

⚙️ Maccms CMSセットアップ

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

ステップ1:カスタム収集ソースを追加

  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

ステップ2:パラメータの設定

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

ステップ3:増分収集

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 — 動画詳細

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
▶ 実際に試す →

Parameters (same as Standard API)

パラメータ必須説明
ac必須detail = full info, list = basic infodetail
ids任意Video ID(s), comma-separated134 or 134,135
t任意Category type ID (1–7)1
pg任意Page number2
pagesize任意Results per page (1–100)50
wd任意Keyword searchmiaa-818
h任意Videos updated in last N hours24
year任意Year or year range2024
sort_direction任意asc or descasc
isend任意Completion: 1 or 01

IDで動画を取得:

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

複数の動画を取得:

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

2ページ目、50件/ページ:

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

24時間以内に更新された動画:

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

モザイクカテゴリのみ:

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

年フィルター(2024年のみ):

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

年範囲(2020–2024):

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

古い順:

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

完了した動画のみ:

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

リストモード(基本情報):

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


🔧 Maccms API — 組合せフィルター

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

組合せ例

モザイク+2024年+2ページ目:

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

無修正+48時間以内更新:

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

女優+カテゴリ+古い順:

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

タイプ別カテゴリ+年範囲+50件/ページ:

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

コード検索+完了のみ:

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 — レスポンス形式

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_

⏱️ レート制限

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

パラメータ制限詳細
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.

よくある質問

provideとprovide1の違いは?

同じデータ、異なるフィールド名。provideはクリーンな名前(name, actor)、provide1はMaccms形式(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 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 combine multiple search filters?

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


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

📱 Telegram✉️ Email