免费音乐查询 API
查询 ISRC、UPC 或商店链接,获得整洁的 JSON。无需密钥,也无需账号。它使用与我们的免费工具相同的公开数据源。
API 会返回什么
查询 API 会返回录音编码(ISRC)、条形码(UPC 或 EAN)或 Apple Music 链接背后的发行作品:标题、艺人、专辑、发行日期、厂牌、版权行和相关编码。每个响应都会列出数据源和一小段署名文字。
结果来自公开数据库,所以新发行作品或小型目录可能缺失。没有结果并不能证明编码有误。
如何用好这些数据
请显示每个响应附带的数据源名称,并保持 Powered by WBBT 这一行可见。不要把数据当作完整的,也不要把它当作录音归谁所有的证据。
API 不接受 Spotify 链接。请把它们粘贴到本站的免费工具中。
示例
按编码查询
发送 GET 请求,在查询字符串中带上 isrc 或 upc。它们是公开编码,放在地址里是安全的。
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);按链接查询
商店链接可能带有跟踪参数,所以请用 POST 把它们放在 JSON 请求体中发送,不要放在地址里。
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"}'响应
每个响应都有 ok、version、data、sources、attribution 和 poweredBy。没有值的字段为 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)"
}限制
- 每个地址每分钟 30 次请求,每天 1000 次请求。
- 响应可能被缓存几分钟,其背后的数据最多缓存一天。
- 无需密钥。限制可能会调整,version 字段会告诉你收到的是哪个结构。
错误
- 400 invalid_request:编码缺失、格式有误,或校验位不正确。
- 404 not_found:没有找到这个编码的任何结果。
- 422 unsupported_link:该链接不是 Apple Music 链接。
- 429 rate_limited:请等待 Retry-After 标头中给出的秒数。
- 503 unavailable:某个数据源正忙,请稍后再试。
署名
请显示每个响应中列出的数据源,并保留 Powered by WBBT 这一行。如果能链接到 wbbt.net/tools/api,我们会很感谢。
常见问题
我需要 API 密钥吗?
不需要。API 是开放的,无需密钥,按地址限制频率。如果你需要更多请求,请写信到 [email protected]。
可以从网页中调用吗?
可以,按编码查询的 GET 请求可以。它们会返回开放的 CORS 标头。链接要放在 POST 请求体中,所以请从你自己的服务器调用那一部分。
为什么每个编码都有一个固定页面?
每个响应都包含 pageUrl,也就是该编码在 wbbt.net 上的公开页面。如果你想让别人看到完整详情,请链接到它。