Что сейчас играет на интернет-радио.

Tuneping ведёт живой индекс десятков тысяч интернет-радиостанций и отдаёт его через JSON API — с историей эфира и оповещениями по спискам желаний. Мы читаем строку с названием, которую показывает любой плеер, и никогда — аудио.

01 · Что вы получаете

Шесть возможностей, один API

Живой поиск

без ключа

Спросите «кто сейчас играет Blue Monday?» и получите список станций: поиск нечёткий, без учёта диакритики, с уровнем уверенности для каждого совпадения.

GET /v1/now-playing/search

Сейчас в эфире — для избранного

без ключа

Один запрос по набору id станций возвращает текущее название, время, когда оно было замечено впервые, и время последнего подтверждения.

GET /v1/now-playing?station_ids=…

История эфира

developer +

Что играла станция, с оценкой времени начала и конца: 7 дней на Developer, 12 месяцев на Pro и выше.

GET /v1/stations/{id}/history

Оповещения по спискам желаний

developer +

Назовите песню или исполнителя и узнайте, как только станция начнёт её играть. Опрашивайте API или получайте поток по SSE; на Pro и выше — принимайте вебхук.

SSE · webhook

Треки и исполнители

без ключа

Названия нормализуются и, где возможно, связываются с идентификаторами MusicBrainz, чтобы можно было считать проигрывания по трекам и исполнителям.

trk_… · art_… · MusicBrainz ids

Каталог станций

без ключа

Десятки тысяч станций со страной, кодеком и методом, которым мы читаем их названия, — с поиском и фильтрами.

GET /v1/stations

02 · Как это работает

Мы читаем одну строку

Каждый поток несёт небольшой побочный канал с текущим названием — тот текст, который показывает ваш плеер. Tuneping читает только его.

Каталог

Мы начинаем с публичного каталога Radio Browser, который ведёт сообщество, и один раз проверяем каждую станцию, чтобы найти самое дешёвое место, где публикуется её название: публичный эндпоинт статуса стримингового сервера или блок метаданных в самом потоке.

Вежливый опрос

Каждые 20–60 секунд мы читаем от нескольких сотен байт до примерно 16 KB на станцию и закрываем соединение. Не более двух соединений с одним сервером одновременно; robots.txt и Retry-After соблюдаются. Подробности для операторов станций.

Нормализация

Названия разбиваются на исполнителя и трек, классифицируются как песня, позывной, программа или реклама, сопоставляются с MusicBrainz, если текст это позволяет, и получают время начала с явно указанной погрешностью.

Отдача

Простой JSON API с ETag, заголовками лимитов запросов и кешированием на edge, описанный в файле OpenAPI и в справочнике API.

Только метаданные · всё, что мы сохраняем после одного опроса

StreamTitle='Madonna - Holiday';

Аудио вокруг отбрасывается по мере поступления. Никакой записи, никаких превью, никаких аудиоотпечатков, никакой ретрансляции. Что делает поллер.

03 · Честные ограничения

Чего он не умеет

Покрытие зависит от станций.

Многие станции не передают названий — только своё имя или слоганы. Мы помечаем такие станции и не выдумываем данные; страница статуса показывает, сколько станций передают живые метаданные.

Начало песни — это оценка.

Смена, замеченная при опросе, произошла где-то в течение предыдущего интервала. У каждого проигрывания есть start_uncertainty_seconds; рассчитывайте на ±10–30 с в зависимости от метода.

Метаданные — это не аудиоотпечатки.

Распознавание по метаданным станций менее полное, чем распознавание по аудио, и никогда не является сертифицированным подсчётом проигрываний. В качестве доказательства пишите «обнаружено по метаданным станции».

Станции появляются и исчезают.

Потоки переезжают, пропадают и меняют владельцев каждый день. Станция может отказаться в любой момент и исчезнет из API в течение 24 часов.

Только текст.

Названия станций возвращаются как текст; логотипы и обложки в сервис не входят.

04 · Тарифы

Тарифы

Самостоятельное подключение, отмена в любой момент. Годовая оплата равна десяти месячным. Цены включают НДС, где он применяется; Stripe выставляет счета в CHF, EUR, USD, GBP или JPY. Business и годовая оплата: [email protected].

Free

0 €

навсегда

  • 1 000 запросов в день
  • 2 req/s, всплеск до 5
  • Живой поиск, пакетный запрос «сейчас в эфире» (20 станций), каталог станций
  • Поиск треков и исполнителей
  • 1 API-ключ после подтверждения e-mail
  • Ссылка «Data by Tuneping»
Получить бесплатный ключ

Developer

29 € / месяц

или 290 € / год

  • 100 000 запросов в месяц
  • 10 req/s, всплеск до 20
  • Пакетный запрос «сейчас в эфире» до 100 станций
  • 7 дней истории эфира
  • 10 списков желаний, опросом или через SSE
  • Поддержка по e-mail в течение 2 рабочих дней
  • Атрибуция не требуется
Подключить Developer

Business

от 349 € / месяц

годовой счёт, индивидуальный объём

  • Индивидуальные объём и частота запросов
  • 12 месяцев истории и агрегаты за более ранний период
  • 20 эндпоинтов вебхуков, разрешён полный поток без фильтров
  • 1 000 списков желаний, 20 SSE-соединений
  • Экспорт в CSV / JSONL
  • SLA 99,5 % в месяц на чтение, закреплённое контактное лицо
Написать нам

05 · Операторам

Управляете станцией?

Вы можете увидеть в своих логах TunepingBot/0.1 (+https://tuneping.com/bot). Он читает ваш публичный эндпоинт статуса или первый блок метаданных вашего потока каждые 20–60 секунд, и ничего больше. Его адреса и три способа отказаться, которые вступают в силу в течение 24 часов, собраны на одной странице. Вопросы: [email protected].

Для операторов станций