javinfo

Atribución de apps

Envía una cabecera y tu app aparece en el ranking público de javinfo con número de peticiones, de usuarios y desglose por proveedor. Gratis, opcional, un minuto de trabajo.

Añade una cabecera referer a tus llamadas y javinfo empieza a mantener una página pública de tu app: peticiones totales, cuántas cuentas llaman a través de ella y qué proveedor responde más a menudo. Tu app aparece en el ranking de javinfo.dev.

No cuesta nada. Las llamadas atribuidas se facturan igual que las no atribuidas y las cabeceras no tocan tu límite de peticiones. Si no las envías no pasa nada: sin página, sin ranking, sin registro.

Las cabeceras

CabeceraObligatoriaQué hace
HTTP-RefererLa URL de tu app. Es su identidad. Sin URL no hay página de app.
RefererLos navegadores la ponen solos. Se usa como respaldo cuando falta HTTP-Referer.
x-javinfo-titlenoNombre visible. Por defecto, el hostname de tu URL.
x-javinfo-categoriesnoEtiquetas separadas por comas, hasta 10. Se pasan a minúsculas.

HTTP-Referer es la convención de OpenRouter y existe porque Referer a secas es una cabecera prohibida en el navegador: JavaScript no puede fijarla. Desde un servidor puedes usar cualquiera de las dos. Desde el navegador tienes Referer gratis y pones el resto tú.

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',
  },
});

Ponlas una vez en las cabeceras por defecto de tu cliente HTTP y olvídate.

La URL que envías se convierte en un enlace público en javinfo.dev. Envía la página que quieres que la gente abra, no un panel de administración interno ni un host de staging.

Qué endpoints cuentan

/movie, /query y /random. Cada llamada correcta a uno de ellos con un referer válido suma una petición al total de tu app. /stats y /health no se atribuyen.

El registro ocurre en una cola en segundo plano, cuando tu respuesta ya va de camino, así que no añade latencia y un tropiezo de Redis nunca puede tumbar una petición que ya había funcionado.

Qué se guarda

La URL se normaliza a origen más ruta. La query string y el fragmento se descartan, y una ruta raíz se colapsa al origen:

https://myapp.example.com/?ref=hn      →  https://myapp.example.com
https://myapp.example.com/search?q=x   →  https://myapp.example.com/search

Rutas distintas son apps distintas. Elige una URL canónica y quédate con ella, o tu tráfico se partirá en dos filas del ranking.

El título y las categorías solo se actualizan cuando los envías. Si los omites, se mantiene lo último que mandaste.

Qué se ignora

En todos estos casos la atribución se descarta en silencio. La llamada a la API sigue funcionando.

  • Sin HTTP-Referer y sin Referer.
  • Un referer que no es una URL válida.
  • Cualquier cosa que no sea http o https. Nada de file:// ni esquemas propios.
  • localhost, 127.0.0.1, ::1. El desarrollo local nunca ensucia el ranking.
  • javinfo.dev y app.javinfo.dev. No nos rankeamos a nosotros mismos.
  • URLs de más de 500 caracteres.
  • Un título sin URL. x-javinfo-title por su cuenta no crea nada.

Las categorías a partir de la décima se recortan. No hay una lista cerrada de categorías, así que usa lo que describa tu app: search-ui, discord-bot, cli, scraper, mobile-app.

La página de tu app

La primera petición atribuida crea la entrada y se publica al momento. A partir de ahí el ranking muestra tu app ordenada por peticiones históricas, y al entrar en javinfo.dev/apps/{id} verás:

  • Peticiones totales, desde siempre.
  • Cuentas de javinfo distintas que han llamado a través de tu URL. Se cuentan por cuenta, no por llamada, así que es un recuento real de usuarios y no un recuento de visitas disfrazado.
  • Desglose por proveedor: cuántas de tus búsquedas respondió FANZA, DMM, javdb, missav, javdatabase o javlibrary. Mira Proveedores para entender ese orden.

Los mismos datos se leen sin clave:

curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"

El ranking se gana, no se vende. Hay espacios de pago en otras partes de javinfo.dev, señalados como tales, y no compran un puesto en esta tabla.

Quitar tu app

Deja de enviar la cabecera y tu entrada deja de crecer, aunque los números históricos se quedan. ¿Quieres borrar la página entera? Escribe a [email protected] desde una dirección del mismo dominio que la URL y la eliminamos.

On this page