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.
Spróbuj na żywo, na prawdziwym indeksie · 2 req/s bez klucza
Przeczytaj dokumentację APIStatus na żywoGET https://api.tuneping.com/v1/now-playing/search
01 · Co dostajesz
Sześć funkcji, jedno API
Wyszukiwanie na żywo
bez kluczaZapytaj „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 kluczaJedno żą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 kluczaTytuł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 kluczaDziesią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
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.
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.
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”.
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.
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”
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
Pro
99 € / miesiąc
lub 990 € / rok
- 1 000 000 żądań miesięcznie
- 50 req/s, seria 100
- 12 miesięcy historii odtworzeń
- 5 endpointów webhooków z filtrami stacji, utworów i wykonawców
- 100 list życzeń, dostarczanych także webhookiem
- Raporty odtworzeń na utwór i wykonawcę
- 5 kluczy API, wsparcie e-mail w ciągu 1 dnia roboczego
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
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].