Cosa trasmettono le web radio, in questo momento.

Tuneping mantiene un indice in tempo reale di decine di migliaia di web radio e lo offre come API JSON, con storico dei passaggi e avvisi wishlist. Leggiamo la riga del titolo che ogni player mostra, mai l'audio.

01 · Cosa ottieni

Sei funzioni, una sola API

Ricerca in tempo reale

senza chiave

Chiedi “chi sta trasmettendo Blue Monday in questo momento?” e ottieni le stazioni, con una ricerca approssimata e insensibile agli accenti e un livello di confidenza per ogni risultato.

GET /v1/now-playing/search

Now playing per i preferiti

senza chiave

Una sola richiesta per un batch di id di stazioni restituisce il titolo in onda, quando è stato visto la prima volta e quando è stato confermato l'ultima volta.

GET /v1/now-playing?station_ids=…

Storico dei passaggi

developer +

Cosa ha trasmesso una stazione, con orari di inizio e fine stimati: 7 giorni con Developer, 12 mesi con Pro e superiori.

GET /v1/stations/{id}/history

Avvisi wishlist

developer +

Indica una canzone o un artista e scopri il momento in cui una stazione inizia a trasmetterla. Interrogala con il polling o ricevila in streaming via SSE; da Pro in su, anche con un webhook.

SSE · webhook

Brani e artisti

senza chiave

I titoli vengono normalizzati e, dove possibile, collegati agli identificatori MusicBrainz, così puoi contare i passaggi per brano o per artista.

trk_… · art_… · MusicBrainz ids

Elenco delle stazioni

senza chiave

Decine di migliaia di stazioni con paese, codec e il metodo con cui leggiamo i loro titoli, con ricerca e filtri.

GET /v1/stations

02 · Come funziona

Leggiamo una riga

Ogni stream porta con sé un piccolo canale laterale con il titolo in onda, il testo che mostra il tuo player. Tuneping legge quello e nient'altro.

Elenco

Partiamo dall'elenco pubblico Radio Browser, mantenuto dalla comunità, e sondiamo ogni stazione una volta per trovare il punto più economico in cui pubblica il titolo: l'endpoint di stato pubblico del server di streaming o il blocco di metadati all'interno dello stream.

Polling, con garbo

Ogni 20–60 secondi leggiamo da qualche centinaio di byte a circa 16 KB per stazione, poi chiudiamo la connessione. Al massimo due connessioni per server alla volta, nel rispetto di robots.txt e Retry-After. Dettagli per i gestori.

Normalizzazione

I titoli vengono divisi in artista e brano, classificati come canzone, ident, programma o pubblicità, confrontati con MusicBrainz quando il testo lo consente e dotati di un orario di inizio con un'incertezza esplicita.

Distribuzione

Un'API JSON semplice con ETag, header di rate limit e caching sull'edge, descritta in un file OpenAPI e nella guida di riferimento dell'API.

Solo metadati · tutto ciò che conserviamo da un'interrogazione

StreamTitle='Madonna - Holiday';

L'audio intorno viene scartato man mano che arriva. Nessuna registrazione, nessuna anteprima, nessun fingerprinting, nulla viene ritrasmesso. Cosa fa il poller.

03 · Limiti, onestamente

Cosa non può fare

La copertura dipende dalle stazioni.

Molte stazioni non inviano titoli, ma solo il proprio nome o degli slogan. Le contrassegniamo e non inventiamo dati; la pagina di stato mostra quante forniscono metadati in tempo reale.

Gli inizi delle canzoni sono stime.

Un cambio rilevato durante un'interrogazione è avvenuto in un momento qualsiasi dell'intervallo precedente. Ogni passaggio riporta start_uncertainty_seconds; aspettati da ±10 a 30 s a seconda del metodo.

I metadati non sono fingerprinting.

Il rilevamento dai metadati delle stazioni è meno completo del riconoscimento audio e non è mai un conteggio certificato dei passaggi. Se lo usi come prova, scrivi “rilevato dai metadati della stazione”.

Le stazioni vanno e vengono.

Ogni giorno gli stream si spostano, si spengono e cambiano proprietario. Una stazione può chiedere l'esclusione in qualsiasi momento ed esce dall'API entro 24 ore.

Solo testo.

I nomi delle stazioni vengono restituiti come testo; loghi e copertine non fanno parte del servizio.

04 · Piani

Piani

Self-service, disdici quando vuoi. La fatturazione annuale costa dieci volte quella mensile. I prezzi includono l'IVA dove si applica; Stripe fattura in CHF, EUR, USD, GBP o JPY. Business e fatturazione annuale: [email protected].

Free

0 €

per sempre

  • 1.000 richieste al giorno
  • 2 req/s, burst 5
  • Ricerca in tempo reale, now playing in batch (20 stazioni), elenco delle stazioni
  • Consultazione di brani e artisti
  • 1 chiave API dopo la verifica dell'e-mail
  • Mostra “Data by Tuneping”
Ottieni una chiave gratuita

Developer

29 € / mese

o 290 € / anno

  • 100.000 richieste al mese
  • 10 req/s, burst 20
  • Now playing in batch fino a 100 stazioni
  • 7 giorni di storico dei passaggi
  • 10 wishlist, con polling o via SSE
  • Supporto via e-mail entro 2 giorni lavorativi
  • Nessuna attribuzione richiesta
Inizia con Developer

Business

da 349 € / mese

fattura annuale, volume personalizzato

  • Volume e frequenza delle richieste personalizzati
  • 12 mesi di storico, più dati aggregati oltre
  • 20 endpoint webhook, firehose non filtrato consentito
  • 1.000 wishlist, 20 connessioni SSE
  • Esportazioni CSV / JSONL
  • SLA mensile del 99,5 % sulle letture, referente dedicato
Scrivici

05 · Gestori

Gestisci una stazione?

Potresti vedere TunepingBot/0.1 (+https://tuneping.com/bot) nei tuoi log. Legge il tuo endpoint di stato pubblico o il primo blocco di metadati del tuo stream ogni 20–60 secondi, e niente di più. I suoi indirizzi, e tre modi per l'opt-out che hanno effetto entro 24 ore, sono su un'unica pagina. Domande: [email protected].

Per i gestori di stazioni