API gratuite de recherche musicale
Recherchez un ISRC, un UPC ou un lien de plateforme et recevez du JSON propre. Sans clé et sans compte. Elle s'appuie sur les mêmes sources ouvertes que nos outils gratuits.
Ce que renvoie l'API
L'API de recherche renvoie la sortie qui se cache derrière un code d'enregistrement (ISRC), un code-barres (UPC ou EAN) ou un lien Apple Music : titre, artiste, album, date de sortie, label, mention de copyright et codes associés. Chaque réponse liste les sources de données et un court texte d'attribution.
Les résultats viennent de bases de données ouvertes, donc une sortie récente ou un petit catalogue peut manquer. L'absence de résultat ne prouve pas qu'un code est faux.
Bien utiliser les données
Affichez les noms des sources fournis avec chaque réponse et gardez la ligne Powered by WBBT visible. Ne présentez pas les données comme complètes ni comme une preuve de qui détient un enregistrement.
Les liens Spotify ne sont pas acceptés par l'API. Collez-les plutôt dans les outils gratuits de ce site.
Exemples
Recherche par code
Envoyez une requête GET avec isrc ou upc dans la chaîne de requête. Ce sont des codes publics, ils peuvent donc figurer dans une adresse.
curl "https://wbbt.net/api/v1/lookup?isrc=USABC2400001"
const res = await fetch("https://wbbt.net/api/v1/lookup?upc=036000291452");
const json = await res.json();
if (json.ok) console.log(json.data.result.title, json.poweredBy);Recherche par lien
Les liens de plateformes peuvent contenir des paramètres de suivi : envoyez-les dans un corps JSON avec POST, jamais dans l'adresse.
curl -X POST https://wbbt.net/api/v1/lookup \
-H "Content-Type: application/json" \
-d '{"url":"https://music.apple.com/us/album/example-album/1234567890"}'Réponse
Chaque réponse contient ok, version, data, sources, attribution et poweredBy. Un champ sans valeur vaut null.
{
"ok": true,
"version": "1",
"data": {
"type": "recording",
"query": { "isrc": "USABC2400001" },
"results": [
{
"title": "Night Drive",
"artist": "Luna Vale",
"album": null,
"releaseDate": "2024-05-17",
"isrcs": ["USABC2400001"],
"isrcMatch": "exact",
"upc": null,
"label": null,
"distributedByWbbt": false,
"pageUrls": { "isrc": "https://wbbt.net/isrc/USABC2400001", "upc": null }
}
]
},
"sources": [{ "name": "MusicBrainz", "url": "https://musicbrainz.org", "attribution": "Data from MusicBrainz (CC0)." }],
"cached": false,
"poweredBy": "Powered by WBBT Records (https://wbbt.net/tools/api)"
}Limites
- 30 requêtes par minute et 1000 requêtes par jour pour chaque adresse.
- Les réponses peuvent être mises en cache quelques minutes, et les données qui les alimentent jusqu'à un jour.
- Aucune clé n'est nécessaire. Les limites peuvent changer, et le champ version indique quel schéma vous recevez.
Erreurs
- 400 invalid_request : le code est absent, mal formé ou son chiffre de contrôle est faux.
- 404 not_found : rien n'a été trouvé pour ce code.
- 422 unsupported_link : le lien n'est pas un lien Apple Music.
- 429 rate_limited : attendez le nombre de secondes indiqué dans l'en-tête Retry-After.
- 503 unavailable : une source de données est occupée, réessayez sous peu.
Attribution
Affichez les sources nommées dans chaque réponse et gardez la ligne Powered by WBBT. Un lien vers wbbt.net/tools/api est apprécié.
Questions
Ai-je besoin d'une clé d'API ?
Non. L'API est ouverte, sans clé, et limitée par adresse. Si vous avez besoin de plus de requêtes, écrivez à [email protected].
Puis-je l'appeler depuis une page web ?
Oui, pour les requêtes GET par code. Elles envoient des en-têtes CORS ouverts. Les liens vont dans le corps d'un POST, appelez donc cette partie depuis votre propre serveur.
Pourquoi y a-t-il une page permanente pour chaque code ?
Chaque réponse contient un pageUrl, une page publique sur wbbt.net pour ce code. Faites un lien vers elle si vous voulez que l'on voie tous les détails.
Vous sortez votre propre musique ?
Découvrez ce que WBBT propose aux artistes et labels indépendants, ou envoyez-nous votre musique.