Что это за API
Этот API отдаёт готовую статистику прослушиваний, накопленную в базе сервера, — за всё время или за любой период — в разрезе трек × площадка × страна × дата. Ниже — как получить ключ и делать запросы.
Быстрый старт (3 шага)
- Получите API-токен у администратора системы. У каждой интеграции — свой уникальный ключ вида
ma_…. - Добавляйте токен в заголовок
X-API-Keyк каждому запросу. - Делайте
GET-запросы к https://api.bpmusic.ru/api и получайте статистику в JSON.
Минимальный пример
1. Авторизация
Токен передаётся в заголовке X-API-Key (рекомендуется)
или query-параметром api_key. Права токена:
read — чтение статистики, write — загрузка своих строк.
2. Эндпоинты
| Метод | Путь | Права | Описание |
|---|---|---|---|
| GET | /api/health | — | Проверка доступности сервера |
| GET | /api/status | — | Статус сервисов |
| GET | /api/stats/data | read | Строки статистики с фильтрами и постраничностью |
| GET | /api/stats/summary | read | Сводка: сколько записей, треков, прослушиваний, период |
| GET | /api/stats/top | read | Топ треков по прослушиваниям за период |
| GET | /api/last-parse | read | Дата последнего обновления данных и история |
| POST | /api/statistics | write | Загрузка своих строк статистики (внешние источники) |
3. Параметры GET /api/stats/data
Все параметры необязательны. Без параметров возвращаются все записи за всё время (постранично).
| Параметр | Пример | Описание |
|---|---|---|
| date_from | 2026-01-01 | Дата «с» (включительно), формат ГГГГ-ММ-ДД |
| date_to | 2026-09-14 | Дата «по» (включительно) |
| isrc | USRC11700463 | Один ISRC трека |
| isrcs | A,B,C | Несколько ISRC через запятую |
| platform | Spotify | Площадка (частичное совпадение, без учёта регистра) |
| country | RU | Код страны |
| limit | 1000 | Строк за раз (по умолчанию 1000, максимум 50000) |
| offset | 1000 | Сколько строк пропустить (для пагинации) |
4. Примеры запросов
Вся аналитика за всё время (первая страница)
"https://api.bpmusic.ru/api/stats/data?limit=50000&offset=0"
За определённый период
"https://api.bpmusic.ru/api/stats/data?date_from=2026-08-01&date_to=2026-08-31&limit=50000"
Один трек (по ISRC) за период
"https://api.bpmusic.ru/api/stats/data?isrc=USRC11700463&date_from=2026-01-01&date_to=2026-09-14"
Несколько треков сразу
"https://api.bpmusic.ru/api/stats/data?isrcs=USRC11700463,GBUM72100830"
По площадке и стране
"https://api.bpmusic.ru/api/stats/data?platform=Spotify&country=RU&limit=5000"
Сводка по всем данным
Топ-50 треков за месяц
"https://api.bpmusic.ru/api/stats/top?date_from=2026-08-14&date_to=2026-09-14&limit=50"
Когда данные последний раз обновлялись
5. Пагинация (как забрать всё за всё время)
За один запрос возвращается не больше 50000 строк. Поле
total — сколько всего строк подходит под фильтр. Чтобы забрать всё,
увеличивайте offset на limit, пока не получите меньше строк, чем limit.
offset=50000 → строки 50001…100000
offset=100000 → строки 100001…150000
и так далее, пока не придёт пустой массив data
6. Примеры ответов
/api/stats/data
/api/stats/summary
/api/stats/top
7. Примеры кода
JavaScript (fetch)
headers: { "X-API-Key": "ВАШ_ТОКЕН" }
});
const json = await res.json();
console.log("Всего строк:", json.total);
console.log(json.data);
Python (requests)
r = requests.get(
"https://api.bpmusic.ru/api/stats/data",
headers={"X-API-Key": "ВАШ_ТОКЕН"},
params={"date_from": "2026-08-01", "date_to": "2026-08-31", "limit": 50000}
)
data = r.json()
print(data["total"], len(data["data"]))
8. Коды ответов и лимиты
200— успех.401— токен не указан.403— токен недействителен, отключён, просрочен или не хватает прав.429— превышен лимит запросов (по умолчанию 300 запросов в минуту). Добавьте паузу между запросами.- Максимум
50000строк за один запрос — используйтеoffsetдля пагинации. - Даты принимаются и возвращаются в формате
ГГГГ-ММ-ДД.
9. Аналитика прокатов
Это отдельный источник данных — статистика прокатов треков в заведениях (фитнес-клубы, бары, кибер-клубы и т.д.). Данные накапливаются в базе сервера и отдаются через эндпоинты /api/places….
Это единая система с одним API: аналитика прокатов доступна
по тому же единому ключу X-API-Key. Отдельных ключей для прокатов нет —
один токен открывает и стриминговую статистику, и прокаты.
10. Эндпоинты прокатов
| Метод | Путь | Права | Описание |
|---|---|---|---|
| GET | /api/places | read | Аналитика прокатов, сгруппированная по исполнителям (основной формат) |
| GET | /api/places/data | read | Плоский список прокатов с фильтрами и постраничностью |
| GET | /api/places/summary | read | Сводка: прокаты, исполнители, треки, места, города, период |
| GET | /api/places/imports | read | История загрузок отчётов и запусков |
Параметры (для /api/places и /api/places/data)
| Параметр | Пример | Описание |
|---|---|---|
| date_from | 2026-08-01 | Дата «с» (включительно), ГГГГ-ММ-ДД |
| date_to | 2026-08-31 | Дата «по» (включительно) |
| artist | Daria Kupr | Исполнитель (в /places — точное совпадение, в /places/data — частичное) |
| isrc | RUA1D2481418 | ISRC трека |
| city | Москва | Город (только /places/data, частичное совпадение) |
| limit / offset | 1000 / 0 | Постраничность (только /places/data, максимум 50000) |
11. Формат ответа /api/places
Массив исполнителей; у каждого — треки, у каждого трека — список прокатов (plays).
/api/places/summary
12. Примеры запросов (прокаты)
Вся аналитика прокатов (группировка по исполнителям)
Прокаты за период
"https://api.bpmusic.ru/api/places?date_from=2026-08-01&date_to=2026-08-31"
По одному исполнителю
"https://api.bpmusic.ru/api/places?artist=Daria%20Kupr"
Плоский список с пагинацией
"https://api.bpmusic.ru/api/places/data?city=Москва&limit=5000&offset=0"
Сводка и история загрузок
curl -H "X-API-Key: ТОКЕН" "https://api.bpmusic.ru/api/places/imports"