Атрибуция приложений
Один заголовок — и приложение попадает в публичный рейтинг javinfo: запросы, пользователи, разбивка по провайдерам. Бесплатно, по желанию, минута.
Добавьте заголовок referer к вызовам API — javinfo заведёт публичную страницу: всего запросов, аккаунты, самый частый провайдер. Приложение появится в рейтинге.
Бесплатно. Вызовы с атрибуцией тарифицируются так же, а заголовки не влияют на лимит. Не отправите — ничего: ни страницы, ни рейтинга, ни записи.
Заголовки
| Заголовок | Обязателен | Что делает |
|---|---|---|
HTTP-Referer | да | URL приложения. Это и есть его идентичность. Нет URL — нет страницы. |
Referer | – | Браузер ставит его сам. Используется как запасной, если HTTP-Referer нет. |
x-javinfo-title | нет | Отображаемое имя. По умолчанию — хост из вашего URL. |
x-javinfo-categories | нет | Теги через запятую, до 10 штук. Приводятся к нижнему регистру. |
HTTP-Referer — конвенция OpenRouter: обычный Referer в браузере относится к
запрещённым заголовкам,
JavaScript не может его выставить. С сервера можно любой. В браузере Referer уходит сам,
остальное добавляете вы.
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',
},
});Пропишите их один раз в заголовках по умолчанию HTTP-клиента.
Отправленный URL станет публичной ссылкой на javinfo.dev. Отправляйте страницу для людей, а не админку или staging-хост.
Какие эндпоинты считаются
/movie, /query и /random. Каждый успешный вызов с корректным referer добавляет запрос.
/stats и /health не атрибутируются.
Запись идёт в фоновой очереди после ответа: задержки нет, а сбой Redis не уронит запрос, который уже отработал.
Что сохраняется
URL нормализуется до origin плюс путь. Query string и фрагмент отбрасываются, корневой путь схлопывается до origin:
https://myapp.example.com/?ref=hn → https://myapp.example.com
https://myapp.example.com/search?q=x → https://myapp.example.com/searchРазные пути — разные приложения. Выберите один канонический URL, иначе трафик разъедется на две строки.
Заголовок и категории обновляются только когда вы их присылаете; иначе остаётся прошлое.
Что игнорируется
Атрибуция тихо отбрасывается; вызов API работает.
- Нет ни
HTTP-Referer, ниReferer. - Referer не является корректным URL.
- Схема не
httpи неhttps. Ниfile://, ни собственные схемы. localhost,127.0.0.1,::1. Локальная разработка не засоряет рейтинг.javinfo.devиapp.javinfo.dev. Себя мы в рейтинг не ставим.- URL длиннее 500 символов.
- Заголовок без URL. Один только
x-javinfo-titleне создаёт ничего.
Категории после десятой отсекаются. Фиксированного списка нет: берите то, что описывает
приложение: search-ui, discord-bot, cli, scraper, mobile-app.
Страница приложения
Первый запрос с атрибуцией создаёт запись, сразу публичную. Рейтинг сортирует по общему числу
запросов. На javinfo.dev/apps/{id} видно:
- Всего запросов за всё время.
- Уникальные аккаунты javinfo, ходившие через ваш URL. Считаются аккаунты, а не вызовы: настоящее число пользователей, а не визиты.
- Разбивка по провайдерам: сколько запросов закрыли FANZA, DMM, javdb, missav, javdatabase или javlibrary. Порядок — в разделе Провайдеры.
Те же данные читаются без ключа:
curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"Место в рейтинге зарабатывают, а не покупают. Платные размещения помечены и не дают позицию в этой таблице.
Как убрать приложение
Перестаньте слать заголовок — счётчики перестанут расти, но накопленные цифры останутся. Нужно удалить страницу? Напишите на [email protected] с адреса в том же домене, и мы её удалим.