Ce qui passe sur les radios en ligne, en ce moment.

Tuneping tient un index en direct de dizaines de milliers de stations de radio en ligne et le sert sous forme d’API JSON, avec historique de diffusion et alertes de liste de souhaits. Nous lisons la ligne de titre qu’affiche chaque lecteur, jamais l’audio.

01 · Ce que vous obtenez

Six fonctions, une API

Recherche en direct

sans clé

Demandez « qui passe Blue Monday en ce moment ? » et obtenez les stations, en recherche approximative et insensible aux accents, avec un niveau de confiance par résultat.

GET /v1/now-playing/search

Titre en cours pour les favoris

sans clé

Une seule requête pour un lot d’identifiants de stations renvoie le titre en cours, le moment où il a été vu pour la première fois et celui de sa dernière confirmation.

GET /v1/now-playing?station_ids=…

Historique de diffusion

developer +

Ce qu’une station a diffusé, avec des heures de début et de fin estimées : 7 jours sur Developer, 12 mois sur Pro et au-delà.

GET /v1/stations/{id}/history

Alertes de liste de souhaits

developer +

Indiquez une chanson ou un artiste et sachez dès qu’une station commence à le diffuser. Récupérez l’alerte par interrogation ou en flux SSE ; sur Pro et au-delà, par webhook.

SSE · webhook

Morceaux et artistes

sans clé

Les titres sont normalisés et, si possible, reliés à des identifiants MusicBrainz, pour que vous puissiez compter les diffusions par morceau ou par artiste.

trk_… · art_… · MusicBrainz ids

Annuaire des stations

sans clé

Des dizaines de milliers de stations avec leur pays, leur codec et la méthode que nous utilisons pour lire leurs titres, avec recherche et filtres.

GET /v1/stations

02 · Fonctionnement

Nous lisons une ligne

Chaque flux transporte un petit canal annexe avec le titre en cours, le texte qu’affiche votre lecteur. Tuneping lit cela et rien d’autre.

Annuaire

Nous partons de l’annuaire public Radio Browser, maintenu par la communauté, et sondons chaque station une fois pour trouver l’endroit le moins coûteux où son titre est publié : l’endpoint d’état public du serveur de streaming ou le bloc de métadonnées intégré au flux.

Interroger, poliment

Toutes les 20 à 60 secondes, nous lisons de quelques centaines d’octets à environ 16 KB par station, puis nous fermons la connexion. Au plus deux connexions par serveur à la fois, robots.txt et Retry-After respectés. Détails pour les opérateurs.

Normaliser

Les titres sont séparés en artiste et morceau, classés comme chanson, indicatif, émission ou publicité, rapprochés de MusicBrainz quand le texte le permet, et dotés d’une heure de début avec une incertitude explicite.

Servir

Une API JSON simple avec ETags, en-têtes de limite de débit et cache en périphérie, décrite dans un fichier OpenAPI et dans la référence de l’API.

Uniquement des métadonnées · tout ce que nous gardons d’une interrogation

StreamTitle='Madonna - Holiday';

L’audio qui l’entoure est jeté au fur et à mesure de son arrivée. Aucun enregistrement, aucun extrait, aucune empreinte audio, rien de relayé. Ce que fait le poller.

03 · Limites, honnêtement

Ce qu’il ne sait pas faire

La couverture dépend des stations.

Beaucoup de stations n’envoient aucun titre, seulement leur propre nom ou des slogans. Nous les signalons et n’inventons pas de données ; la page d’état indique combien envoient des métadonnées en direct.

Les débuts de chanson sont des estimations.

Un changement vu lors d’une interrogation s’est produit quelque part dans l’intervalle précédent. Chaque diffusion porte start_uncertainty_seconds ; comptez ±10 à 30 s selon la méthode.

Les métadonnées ne sont pas une empreinte audio.

La détection à partir des métadonnées des stations est moins complète que la reconnaissance audio et ne vaut jamais comptage certifié des diffusions. Comme élément de preuve, indiquez « détecté à partir des métadonnées de la station ».

Les stations vont et viennent.

Les flux déménagent, disparaissent et changent de mains chaque jour. Une station peut demander son exclusion à tout moment et quitte l’API sous 24 heures.

Du texte uniquement.

Les noms de stations sont renvoyés sous forme de texte ; les logos et visuels ne font pas partie du service.

04 · Offres

Offres

En libre-service, résiliable à tout moment. La facturation annuelle vaut dix fois le prix mensuel. Les prix incluent la TVA lorsqu’elle s’applique ; Stripe facture en CHF, EUR, USD, GBP ou JPY. Business et facturation annuelle : [email protected].

Free

0 €

pour toujours

  • 1 000 requêtes par jour
  • 2 req/s, rafale de 5
  • Recherche en direct, titres en cours par lot (20 stations), annuaire des stations
  • Consultation des morceaux et des artistes
  • 1 clé d’API après vérification de l’e-mail
  • Affiche « Data by Tuneping »
Obtenir une clé gratuite

Developer

29 € / mois

ou 290 € / an

  • 100 000 requêtes par mois
  • 10 req/s, rafale de 20
  • Titres en cours par lot, jusqu’à 100 stations
  • 7 jours d’historique de diffusion
  • 10 listes de souhaits, par interrogation ou via SSE
  • Support par e-mail sous 2 jours ouvrés
  • Aucune attribution requise
Commencer avec Developer

Business

à partir de 349 € / mois

facture annuelle, volume sur mesure

  • Volume et débit de requêtes sur mesure
  • 12 mois d’historique, plus des agrégats au-delà
  • 20 endpoints webhook, firehose non filtré autorisé
  • 1 000 listes de souhaits, 20 connexions SSE
  • Exports CSV / JSONL
  • SLA mensuel de 99,5 % sur les lectures, interlocuteur dédié
Écrivez-nous

05 · Opérateurs

Vous gérez une station ?

Vous verrez peut-être TunepingBot/0.1 (+https://tuneping.com/bot) dans vos journaux. Il lit votre endpoint d’état public ou le premier bloc de métadonnées de votre flux toutes les 20 à 60 secondes, et rien de plus. Ses adresses, ainsi que trois façons de vous exclure qui prennent effet sous 24 heures, tiennent sur une seule page. Questions : [email protected].

Pour les opérateurs de stations