Co właśnie gra w radiu internetowym.

Tuneping prowadzi bieżący indeks dziesiątek tysięcy internetowych stacji radiowych i udostępnia go jako JSON API, z historią odtworzeń i powiadomieniami z list życzeń. Czytamy wiersz tytułu, który pokazuje każdy odtwarzacz, a nigdy dźwięk.

01 · Co dostajesz

Sześć funkcji, jedno API

Wyszukiwanie na żywo

bez klucza

Zapytaj „kto teraz gra Blue Monday?” i dostaniesz listę stacji: wyszukiwanie rozmyte, niezależne od znaków diakrytycznych, z poziomem pewności dla każdego dopasowania.

GET /v1/now-playing/search

„Teraz gra” dla ulubionych

bez klucza

Jedno żądanie dla zbioru id stacji zwraca bieżący tytuł, czas, gdy pojawił się po raz pierwszy, i czas ostatniego potwierdzenia.

GET /v1/now-playing?station_ids=…

Historia odtworzeń

developer +

Co stacja grała, z szacowanym czasem rozpoczęcia i zakończenia: 7 dni w planie Developer, 12 miesięcy w Pro i wyższych.

GET /v1/stations/{id}/history

Powiadomienia z list życzeń

developer +

Podaj utwór lub wykonawcę i dowiedz się w chwili, gdy jakaś stacja zacznie go grać. Odpytuj albo odbieraj strumieniowo przez SSE; od planu Pro także przez webhook.

SSE · webhook

Utwory i wykonawcy

bez klucza

Tytuły są normalizowane i tam, gdzie się da, łączone z identyfikatorami MusicBrainz, więc możesz liczyć odtworzenia na utwór lub wykonawcę.

trk_… · art_… · MusicBrainz ids

Katalog stacji

bez klucza

Dziesiątki tysięcy stacji z krajem, kodekiem i metodą, którą czytamy ich tytuły; z wyszukiwaniem i filtrami.

GET /v1/stations

02 · Jak to działa

Czytamy jeden wiersz

Każdy strumień ma mały kanał boczny z bieżącym tytułem, czyli tekstem, który pokazuje Twój odtwarzacz. Tuneping czyta to i nic więcej.

Katalog

Zaczynamy od publicznego katalogu Radio Browser, prowadzonego przez społeczność, i raz sprawdzamy każdą stację, by znaleźć najtańsze miejsce, w którym publikuje tytuł: publiczny endpoint statusu serwera strumieniowego albo blok metadanych w strumieniu.

Odpytywanie, grzecznie

Co 20 do 60 sekund czytamy z każdej stacji od kilkuset bajtów do około 16 KB, po czym zamykamy połączenie. Najwyżej dwa połączenia naraz na serwer, z poszanowaniem robots.txt i Retry-After. Szczegóły dla operatorów.

Normalizacja

Tytuły są dzielone na wykonawcę i utwór, klasyfikowane jako piosenka, ident, audycja lub reklama, dopasowywane do MusicBrainz, gdy tekst na to pozwala, i dostają czas rozpoczęcia z jawnie podaną niepewnością.

Udostępnianie

Zwykłe JSON API z ETagami, nagłówkami limitów szybkości i cache na serwerach brzegowych, opisane w pliku OpenAPI i w dokumentacji API.

Tylko metadane · wszystko, co zachowujemy z jednego odpytania

StreamTitle='Madonna - Holiday';

Otaczający go dźwięk jest odrzucany na bieżąco. Bez nagrywania, bez podglądu, bez fingerprintingu, bez przekazywania dalej. Co robi poller.

03 · Uczciwe ograniczenia

Czego nie potrafi

Pokrycie zależy od stacji.

Wiele stacji nie wysyła tytułów, tylko własną nazwę albo slogany. Oznaczamy je i nie wymyślamy danych; strona statusu pokazuje, ile z nich dostarcza metadane na żywo.

Początki utworów są szacunkowe.

Zmiana zauważona przy odpytaniu nastąpiła gdzieś w poprzednim interwale. Każde odtworzenie ma start_uncertainty_seconds; licz się z ±10 do 30 s, zależnie od metody.

Metadane to nie fingerprinting.

Wykrywanie na podstawie metadanych stacji jest mniej kompletne niż rozpoznawanie dźwięku i nigdy nie jest certyfikowanym licznikiem odtworzeń. Jako dowód podawaj „wykryto na podstawie metadanych stacji”.

Stacje przychodzą i odchodzą.

Strumienie codziennie się przenoszą, znikają i zmieniają właścicieli. Stacja może w każdej chwili zrezygnować i znika z API w ciągu 24 godzin.

Tylko tekst.

Nazwy stacji są zwracane jako tekst; loga i grafiki nie są częścią usługi.

04 · Plany

Plany

Samoobsługa, rezygnacja w dowolnym momencie. Rozliczenie roczne to dziesięciokrotność miesięcznego. Ceny zawierają VAT tam, gdzie ma on zastosowanie; Stripe rozlicza w CHF, EUR, USD, GBP lub JPY. Business i rozliczenie roczne: [email protected].

Free

0 €

na zawsze

  • 1000 żądań dziennie
  • 2 req/s, seria 5
  • Wyszukiwanie na żywo, zbiorcze „teraz gra” (20 stacji), katalog stacji
  • Dane utworów i wykonawców po id
  • 1 klucz API po weryfikacji adresu e-mail
  • Wyświetla „Data by Tuneping”
Odbierz darmowy klucz

Developer

29 € / miesiąc

lub 290 € / rok

  • 100 000 żądań miesięcznie
  • 10 req/s, seria 20
  • Zbiorcze „teraz gra” do 100 stacji
  • 7 dni historii odtworzeń
  • 10 list życzeń, odpytywanych lub przez SSE
  • Wsparcie e-mail w ciągu 2 dni roboczych
  • Oznaczenie źródła niewymagane
Wybierz Developer

Business

od 349 € / miesiąc

faktura roczna, wolumen indywidualny

  • Indywidualna liczba i tempo żądań
  • 12 miesięcy historii plus agregaty dla starszych danych
  • 20 endpointów webhooków, dozwolony niefiltrowany firehose
  • 1000 list życzeń, 20 połączeń SSE
  • Eksport CSV / JSONL
  • SLA 99,5 % miesięcznie na odczyty, imienny opiekun
Napisz do nas

05 · Operatorzy

Prowadzisz stację?

W logach możesz zobaczyć TunepingBot/0.1 (+https://tuneping.com/bot). Co 20 do 60 sekund czyta on publiczny endpoint statusu albo pierwszy blok metadanych Twojego strumienia i nic więcej. Jego adresy oraz trzy sposoby rezygnacji, działające w ciągu 24 godzin, są na jednej stronie. Pytania: [email protected].

Dla operatorów stacji