javinfo

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êteObligatoireRôle
HTTP-RefererouiL'URL de ton app. C'est son identité. Sans URL, pas de page d'app.
RefererLes navigateurs le posent tout seuls. Sert de repli quand HTTP-Referer manque.
x-javinfo-titlenonNom affiché. Par défaut, le hostname de ton URL.
x-javinfo-categoriesnonTags 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
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"
JavaScript (fetch)
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/search

Deux 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-Referer ni Referer.
  • Un referer qui n'est pas une URL valide.
  • Autre chose que http ou https. Pas de file://, pas de schéma maison.
  • localhost, 127.0.0.1, ::1. Le dev local ne pollue jamais le classement.
  • javinfo.dev et app.javinfo.dev. On ne se classe pas nous-mêmes.
  • Les URL de plus de 500 caractères.
  • Un titre sans URL. x-javinfo-title seul 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.

On this page