К содержимому
разработчикам · API v1

API для своих плееров и ботов

Отправляйте прослушивания из любого плеера, Discord-бота или скрипта и забирайте статистику. Публичные GET-запросы работают без ключа.

Ключ

Для POST-запросов нужен ваш api_key. Никому его не показывайте: с ним можно писать в вашу историю.

Ключ показывается один раз — при регистрацииПотеряли? Выпустите новый, старый сразу перестанет работать.Выпустить новый

Эндпоинты

МетодПутьЧто делает
POST/api/scrobbleОтправить трек в историю. Нужен api_key.
GET/api/user/:usernameПрофиль, аватар и что играет сейчас.
GET/api/leaderboardТоп слушателей по опыту.
GET/api/public-statsОбщие цифры сайта: прослушивания, треки.
POST/api/devices/codeНачать подключение устройства без ключа.
POST/api/devices/tokenЗабрать ключ, когда пользователь разрешил.

Поля скроббла

api_key
обязательно
Ваш секретный ключ.
title
обязательно
Название трека.
artist
обязательно
Исполнитель.
source
обязательно
Откуда трек: discord_rpc, custom_script и т. п.
album
по желанию
Альбом.
duration
по желанию
Длина трека в секундах.
progress_sec
по желанию
Сколько секунд уже прослушано.
is_playing
по желанию
Играет ли трек прямо сейчас.
cover_url, track_url
по желанию
Ссылки на обложку и сам трек.

Подключение устройства

Если не хотите, чтобы пользователь вставлял ключ руками, подключите устройство по короткому коду — так работает наше расширение.

  1. 01Вызовите POST /api/devices/code с полем client_name и покажите пользователю user_code.
  2. 02Пользователь вводит код на странице /link и разрешает доступ.
  3. 03Опрашивайте POST /api/devices/token с device_code раз в interval секунд, пока статус pending. После подтверждения придёт api_key.

Примеры

curl -X POST https://api.music.vein.guru/api/scrobble \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "ваш_ключ",
    "title": "Всё забрать",
    "artist": "Джизус",
    "source": "terminal"
  }'