Blog

By javinfo team

The DMM API problem

DMM has no usable public API -- dmm.co.jp geo-blocks the world and the FANZA affiliate API is Japanese-only. javinfo returns normalized DMM metadata by code.

dmm.co.jp region restriction error message

dmm.co.jp is where most JAV metadata lives. It’s also deeply convinced the rest of the internet doesn’t exist.

Hit it from outside Japan and you get a polite Japanese error page telling you to go away. The service is unavailable in your region. No exception list, no developer portal, no nothing. Japan’s internet infrastructure still operates like it’s 2003 and nobody told them.

Does DMM have a public API?

No. DMM never released one. What’s out there is an affiliate API at affiliate.dmm.com/api — which, and I cannot stress how funny this is, is also behind the same geo-block. You need a Japanese IP to read the documentation for an API that’s supposed to bring you traffic. DMM’s adult arm, FANZA, is no different: the FANZA affiliate API sits behind the same geo-block and the same Japanese-only docs. Peak Japanese web logic.

Even if you somehow get past that, the docs are entirely in Japanese (sure, why wouldn’t they be) and the response schema is whatever DMM’s backend internals looked like in 2014: dozens of fields, no changelog, and zero notice when something breaks. Stuff just stops working one day and you get to figure out why.

What javinfo returns instead

We built javinfo because none of this works if you’re outside Japan, and frankly because someone had to. Send a DVD code over HTTPS, get back one normalized result. No Japanese IP, no scraping, no guessing at a 2014 schema.

Look up a DMM code
curl -X POST 'https://javinfo-search.p.rapidapi.com/search' \
-H 'Content-Type: application/json' \
-H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
-H 'X-RapidAPI-Host: javinfo-search.p.rapidapi.com' \
-d '{ "q": "SSIS-001" }'
Response
{
"result": {
"q": "SSIS-001",
"source": "r18",
"video": {
"dvdId": "SSIS-001",
"titleEn": "Newcomer NO.1 STYLE ...",
"releaseDate": "2020-07-07",
"runtimeMins": 120,
"makers": ["S1 NO.1 STYLE"]
}
},
"latencyMs": 142,
"cached": false
}

Our database covers roughly 99% of the dmm.co.jp library, and most codes resolve on the first attempt: title, release date, cast, maker, label, series, runtime, cover art, sample URLs. One endpoint, one response shape, the same fields every time. You don’t need to know how it was scraped or from where, and honestly, the less you think about the scraping, the better. That’s the whole point of an API-first, provider-agnostic design.

DMM isn’t the only source that fights you. The so-called JavDB API has the same rot, just with Cloudflare instead of a geo-block. Both are one source behind a single JAV metadata API that returns the same normalized shape no matter where the data came from.

Full request and response format on RapidAPI. Keys, rate limits, and plans are all managed there. You can start in a minute.