Что сейчас играет на интернет-радио.
Tuneping ведёт живой индекс десятков тысяч интернет-радиостанций и отдаёт его через JSON API — с историей эфира и оповещениями по спискам желаний. Мы читаем строку с названием, которую показывает любой плеер, и никогда — аудио.
Попробуйте вживую, по настоящему индексу · 2 req/s без ключа
Документация APIСтатус в реальном времениGET https://api.tuneping.com/v1/now-playing/search
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 рабочих дней
- Атрибуция не требуется
Pro
99 € / месяц
или 990 € / год
- 1 000 000 запросов в месяц
- 50 req/s, всплеск до 100
- 12 месяцев истории эфира
- 5 эндпоинтов вебхуков с фильтрами по станциям, трекам и исполнителям
- 100 списков желаний, в том числе с доставкой вебхуком
- Отчёты о проигрываниях по трекам и исполнителям
- 5 API-ключей, поддержка по e-mail в течение 1 рабочего дня
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].