Blog

By javinfo team

JAV Metadata API: One Endpoint, Not Five Scrapers

Every JAV metadata source is a scraper that rots. javinfo is one hosted API -- send a DVD code, get normalized metadata back, no scrapers to babysit.

If you want JAV metadata in your app, here’s the path everyone walks. You find a source, write a scraper, the scraper breaks, you write another for a second source to cover the gaps, and six months later you’re maintaining five brittle integrations just to get a title, a release date, and a cover image.

There is no public, stable JAV metadata API out there. There never was. javinfo is one. That’s the entire reason it exists.

Why a “JAV metadata API” is so hard to find

The data is real and well-structured. The access is the problem. Every source you’d reach for is a website with defenses, not an API with a contract:

So the “API” you find on GitHub is always a scraper, and a scraper inherits every problem the source site has. A class rename breaks your parser with no changelog and no warning. Cloudflare challenges and region blocks mean you also run a headless-browser bypass and a proxy. And because each source returns a different shape, covering gaps means normalizing three or four schemas yourself.

You don’t maintain one integration. You maintain a scraper, a bypass, a proxy, and a pager for 2am – plus the compliance questions that come with pulling adult-video metadata yourself.

What javinfo does instead

Send a code to POST /movie, get one normalized result, the same field shape no matter which source answered. Need a list instead? POST /query returns candidate matches for a broad search.

Look up a code
curl -X POST "https://api.javinfo.dev/movie" \
-H "x-javinfo-key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "q": "SSIS-001" }'
Response
{
"q": "SSIS-001",
"source": "fanza",
"result": {
"dvdId": "SSIS-001",
"titleEn": "Newcomer NO.1 STYLE ...",
"releaseDate": "2020-07-07",
"runtimeMins": 120,
"makers": ["S1 NO.1 STYLE"],
"actresses": ["Example Actress"],
"jacketFullUrl": "https://pics.dmm.co.jp/digital/video/ssis00001/ssis00001pl.jpg"
}
}

Every provider maps onto the same base result shape: dvdId, titleEn/titleJa, releaseDate, runtimeMins, makers, label, series, actresses, jacketFullUrl, and more. You read result.* the same way across sources. We run the scraping, the Cloudflare fights, and the geo-block workarounds so you don’t. This is the provider-agnostic design the whole thing is built on.

If the caller is an agent rather than your own code, the MCP server exposes the same two endpoints as tools – no HTTP boilerplate.

The providers

Let javinfo pick the first match, or pin a source with providers:

On a miss you get a 404, which usually just means the code isn’t indexed. Responses are cached server-side, so repeat lookups are fast.

Start

Sign up at app.javinfo.dev, grab a key, and pass it in the x-javinfo-key header (also available on RapidAPI). The dashboard holds the key, your live usage, and your credit balance. Every provider returns full data on every request – no tiers, no per-provider gating. Billing is usage-based: /movie costs $0.0005 per successful result and /query costs $0.0002 – failed lookups aren’t charged – at 10 requests a minute per account, lifting to 60 once you’ve topped up. You top up in any crypto – BTC, ETH, USDT, 300+ coins – credited 1:1 to a USD balance, and every top-up rolls a bonus: 1–2% under $50, a random 5–50% at $50 or more. New signups get 100+ free lookups to start, no credit card. No Docker, no FlareSolverr, no Japanese VPN, no cookie to refresh. You can be running in a minute.