Blog

Par javinfo team

API de métadonnées JAV : un seul endpoint au lieu de cinq scrapers

Chaque source de métadonnées JAV est un scraper qui pourrit. javinfo est une seule API hébergée -- envoie un code de DVD, reçois des métadonnées normalisées, aucun scraper à surveiller.

Si tu veux des métadonnées JAV dans ton app, voici le chemin que tout le monde emprunte. Tu trouves une source, tu écris un scraper, le scraper casse, tu en écris un autre pour une deuxième source afin de combler les manques, et six mois plus tard tu maintiens cinq intégrations fragiles juste pour obtenir un titre, une date de sortie et une image de couverture.

Il n’existe aucune API de métadonnées JAV publique et stable. Il n’y en a jamais eu. javinfo en est une. C’est toute la raison de son existence.

Pourquoi une « API de métadonnées JAV » est si difficile à trouver

Les données sont réelles et bien structurées. C’est l’accès qui pose problème. Chaque source vers laquelle tu te tournerais est un site web avec des défenses, pas une API avec un contrat :

Donc l’« API » que tu trouves sur GitHub est toujours un scraper, et un scraper hérite de chaque problème qu’a le site source. Un renommage de classe casse ton parser sans changelog ni avertissement. Les défis Cloudflare et les blocages de région font que tu fais aussi tourner un contournement par navigateur headless et un proxy. Et comme chaque source renvoie une forme différente, combler les manques signifie normaliser toi-même trois ou quatre schémas.

Tu ne maintiens pas une intégration. Tu maintiens un scraper, un contournement, un proxy et un bipeur pour 2h du matin.

Ce que javinfo fait à la place

Envoie un code à POST /movie, reçois un unique résultat normalisé, la même forme de champs, peu importe la source qui a répondu. Besoin d’une liste ? POST /query renvoie des correspondances candidates pour une recherche large.

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": "r18",
"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"
}
}

Chaque fournisseur se mappe sur la même forme de base result : dvdId, titleEn/titleJa, releaseDate, runtimeMins, makers, label, series, actresses, jacketFullUrl, et plus encore. Tu lis result.* de la même manière entre les sources. On gère le scraping, les combats contre Cloudflare et les contournements de géoblocage pour que tu n’aies pas à le faire. C’est le design indépendant des fournisseurs sur lequel tout repose.

Les fournisseurs

Laisse javinfo choisir la première correspondance, ou fixe une source avec providers :

En cas d’échec, tu reçois un 404, ce qui signifie généralement juste que le code n’est pas indexé. Les réponses sont mises en cache côté serveur, donc les recherches répétées sont rapides.

Démarrer

Inscris-toi sur app.javinfo.dev, récupère une clé et passe-la dans l’en-tête x-javinfo-key (également disponible sur RapidAPI). Chaque fournisseur renvoie des données complètes à chaque requête — pas de paliers, pas de gating par fournisseur. La facturation se fait à l’usage : /movie coûte 0,001 $ par résultat réussi et /query coûte 0,0002 $ — les recherches infructueuses ne sont pas facturées — le tout à un débit fixe de 60 requêtes par minute. Tu recharges en USDC, crédité 1:1, et les recharges de 50 $ et plus reçoivent un bonus aléatoire de 5–50 % ; les nouveaux inscrits démarrent avec 1 000+ recherches offertes, sans carte bancaire. Pas de Docker, pas de FlareSolverr, pas de VPN japonais, pas de cookie à rafraîchir. Tu peux être opérationnel en une minute.