简洁的酷我音乐搜索与播放接口,无需鉴权、无 KV 存储依赖。
根据关键词搜索酷我音乐歌曲,返回歌曲列表。优先使用酷我官方接口,失败时自动回退到备用源。结果缓存 1 小时。
| 参数 | 类型 | 说明 |
|---|---|---|
keyword必填 |
string | 搜索关键词,如歌曲名、歌手名 |
curl ""
{
"ok": true,
"songs": [
{
"rid": "76331783",
"name": "夜曲",
"artist": "周杰伦",
"album": "十一月的萧邦",
"pic": "https://img.../120/xxx.jpg"
}
]
}
{
"error": "缺少 keyword"
}
// HTTP 400 或 502
根据歌曲 RID 获取可用播放源,并 302 重定向到第一个可用音频直链。适用于 <audio> 标签直接播放(需目标源支持 CORS)。
| 参数 | 类型 | 说明 |
|---|---|---|
id必填 |
string | 歌曲 RID(来自搜索接口) |
curl -L ""
// 成功:302 重定向到音频 URL HTTP/1.1 302 Found Location: https://xxx.com/xxx.flac // 失败:JSON 错误 { "error": "未找到可用源" }
服务端代理拉取音频数据流并返回,自动附带 Access-Control-Allow-Origin: *。解决浏览器跨域(CORS)导致的播放失败问题。推荐前端播放器使用此接口。
| 参数 | 类型 | 说明 |
|---|---|---|
id必填 |
string | 歌曲 RID |
curl "" -o song.mp3
Content-Type: audio/mpeg 或 audio/flac Access-Control-Allow-Origin: * Cache-Control: no-store
const audio = document.querySelector('audio'); audio.src = `BASE_URL/api/play-data?id=${rid}`; audio.play();
返回所有可用源中第一个允许跨域的音频直链(JSON 格式)。如果所有源均不允许 CORS,则返回 url: null,此时应改用 /api/play-data 代理播放。
| 参数 | 类型 | 说明 |
|---|---|---|
id必填 |
string | 歌曲 RID |
curl ""
{
"ok": true,
"url": "https://xxx.com/xxx.flac",
"format": "flac"
}
{
"ok": true,
"url": null,
"format": null
}