Attribution d'app
Envoie un en-tête et ton app apparaît dans le classement public javinfo avec son nombre de requêtes, d'utilisateurs et sa répartition par fournisseur. Gratuit, optionnel, une minute.
Ajoute un en-tête referer à tes appels API et javinfo se met à tenir une page publique pour ton app : requêtes totales, nombre de comptes qui passent par elle, quel fournisseur répond le plus souvent. Ton app apparaît dans le classement de javinfo.dev.
C'est gratuit. Les appels attribués sont facturés exactement comme les autres et ces en-têtes ne touchent pas à ta limite de requêtes. Si tu ne les envoies pas, il ne se passe rien : pas de page, pas de classement, pas d'enregistrement.
Les en-têtes
| En-tête | Obligatoire | Rôle |
|---|---|---|
HTTP-Referer | oui | L'URL de ton app. C'est son identité. Sans URL, pas de page d'app. |
Referer | – | Les navigateurs le posent tout seuls. Sert de repli quand HTTP-Referer manque. |
x-javinfo-title | non | Nom affiché. Par défaut, le hostname de ton URL. |
x-javinfo-categories | non | Tags séparés par des virgules, 10 maximum. Passés en minuscules. |
HTTP-Referer est la convention OpenRouter, et elle existe parce que Referer tout court est un
en-tête interdit dans le
navigateur : JavaScript ne peut pas le définir. Depuis un serveur, les deux marchent. Depuis le
navigateur, tu as Referer gratuitement et tu ajoutes le reste toi-même.
curl "https://api.javinfo.dev/movie?q=SSIS-001" \
-H "x-javinfo-key: jvi_your_key_here" \
-H "HTTP-Referer: https://myapp.example.com" \
-H "x-javinfo-title: My App" \
-H "x-javinfo-categories: search-ui, metadata"const res = await fetch('https://api.javinfo.dev/query?q=SSIS', {
headers: {
'x-javinfo-key': 'jvi_your_key_here',
'HTTP-Referer': 'https://myapp.example.com',
'x-javinfo-title': 'My App',
},
});Mets-les une fois dans les en-têtes par défaut de ton client HTTP et oublie-les.
L'URL que tu envoies devient un lien public sur javinfo.dev. Envoie la page sur laquelle tu veux qu'on clique, pas un back-office interne ni un host de staging.
Les endpoints concernés
/movie, /query et /random. Chaque appel réussi vers l'un d'eux avec un referer valide ajoute
une requête au total de ton app. /stats et /health ne sont pas attribués.
L'enregistrement passe par une file en arrière-plan, une fois ta réponse déjà partie : zéro latence ajoutée, et un hoquet de Redis ne peut jamais faire échouer une requête qui avait déjà abouti.
Ce qui est stocké
L'URL est normalisée en origine plus chemin. La query string et le fragment sautent, et un chemin racine se réduit à l'origine :
https://myapp.example.com/?ref=hn → https://myapp.example.com
https://myapp.example.com/search?q=x → https://myapp.example.com/searchDeux chemins différents font deux apps différentes. Choisis une URL canonique et garde-la, sinon ton trafic se coupe en deux lignes du classement.
Le titre et les catégories ne sont mis à jour que si tu les envoies. Sinon, la dernière valeur reçue reste en place.
Ce qui est ignoré
Dans tous ces cas l'attribution est jetée en silence. L'appel API, lui, réussit normalement.
- Ni
HTTP-RefererniReferer. - Un referer qui n'est pas une URL valide.
- Autre chose que
httpouhttps. Pas defile://, pas de schéma maison. localhost,127.0.0.1,::1. Le dev local ne pollue jamais le classement.javinfo.devetapp.javinfo.dev. On ne se classe pas nous-mêmes.- Les URL de plus de 500 caractères.
- Un titre sans URL.
x-javinfo-titleseul ne crée rien.
Les catégories au-delà de la dixième sont coupées. Il n'y a pas de liste figée, alors prends ce qui
décrit ton app : search-ui, discord-bot, cli, scraper, mobile-app.
La page de ton app
La première requête attribuée crée l'entrée, qui est publiée immédiatement. Ensuite le classement
affiche ton app triée par requêtes cumulées, et javinfo.dev/apps/{id} te donne :
- Le total de requêtes depuis le début.
- Le nombre de comptes javinfo distincts ayant appelé via ton URL. Compté par compte et non par appel, donc c'est un vrai compte d'utilisateurs et pas un compte de visites déguisé.
- La répartition par fournisseur : combien de tes recherches ont été servies par FANZA, DMM, javdb, missav, javdatabase ou javlibrary. Voir Fournisseurs pour comprendre cet ordre.
Les mêmes données se lisent sans clé :
curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"Le classement se gagne, il ne se vend pas. Des emplacements payants existent ailleurs sur javinfo.dev et sont signalés comme tels ; ils n'achètent pas une place dans ce tableau.
Retirer ton app
Arrête d'envoyer l'en-tête et ton entrée cesse de grossir, mais les chiffres passés restent. Tu veux la page supprimée pour de bon ? Écris à [email protected] depuis une adresse du même domaine que l'URL et on l'efface.