聚合音乐 Web API
免责声明: 由博客 过客·余 个人开发的 PHP 接口服务,支持搜索、榜单、播放链接、歌词、歌手、专辑、歌单等功能。本站不提供API调用成功功能,仅个人学习使用。
接口信息
| 基础地址 | https://api.buaile.cn/search.php |
|---|---|
| 请求方式 | GET |
| 返回格式 | JSON (UTF-8) |
| 路由方式 | 通过 type 参数指定接口 |
所有接口通过
type 参数区分,不传 type 时返回接口列表。所有接口需携带 token 参数进行密钥授权,未授权将返回 401 错误。
统一返回格式
所有接口返回统一的 JSON 格式:
| 字段 | 类型 | 说明 |
|---|---|---|
code |
int | 200=成功, 400=参数错误, 401=未授权, 500=服务异常 |
title |
string | 接口名称 |
message |
string | 状态描述 |
time |
string | 响应时间 |
data |
object | 业务数据 |
{
"code": 200,
"title": "接口名称",
"message": "解析成功",
"time": "2026-06-29 12:00:00",
"data": { ... }
}
搜索歌曲
GET
type=search
通过关键词搜索歌曲,支持分页。
请求示例
/search.php?token=你的密钥&type=search&w=抽烟只抽煊赫门 (温柔女生版)&p=1&n=1
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | search | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
w |
string | 必填 | - | 搜索关键词 |
p |
int | 可选 | 1 | 页码,从1开始 |
n |
int | 可选 | 10 | 每页数量,最大50 |
返回示例
{
"code": 200,
"title": "搜索歌曲",
"message": "解析成功",
"time": "2026-06-30 22:30:38",
"data": {
"num": 1,
"songs": [
{
"id": 268888068,
"title": "抽烟只抽煊赫门 (温柔女生版)",
"singer": "记得晴逸",
"song_mid": "001XJiRO35D8jY",
"media_mid": "001XJiRO35D8jY",
"interval": "02:05",
"song_img_url": "https://y.qq.com/music/photo_new/T002R300x300M000003QhlmF4HOwxZ_2.jpg?max_age=2592000"
}
]
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 歌曲ID |
| title | string | 歌曲名称 |
| singer | string | 歌手名称,多位用/分隔 |
| song_mid | string | 歌曲mid |
| media_mid | string | 媒体mid |
| interval | string | 歌曲时长,格式mm:ss |
| song_img_url | string | 歌曲封面图URL |
排行榜详情
GETtype=rank
获取指定榜单的歌曲列表。
请求示例
/search.php?token=你的密钥&type=rank&topid=62&num=1
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | rank | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
topid |
int | 可选 | 26 | 榜单ID |
num |
int | 可选 | 50 | 获取数量 |
常用榜单ID
| topid | 榜单 |
|---|---|
| 4 | 流行指数榜 |
| 26 | 热歌榜 |
| 27 | 新歌榜 |
| 36 | 韩语榜 |
| 57 | 电音榜 |
| 62 | 飙升榜 |
返回示例
{
"code": 200,
"title": "排行榜",
"message": "解析成功",
"time": "2026-06-30 20:46:57",
"data": {
"info": {
"title": "飙升榜",
"titleShare": "飙升榜 2026年第181天",
"top_img": "https://y.gtimg.cn/music/photo_new/T002R300x300M000003YtOnb3UDtqO_2.jpg",
"num": 1
},
"songs": [
{
"id": 693727302,
"title": "相思锁",
"singer": "张真源",
"song_mid": "000EQX6y3kMOYI",
"media_mid": "000EQX6y3kMOYI",
"interval": "04:19",
"song_img_url": "https://y.qq.com/music/photo_new/T002R300x300M000003YtOnb3UDtqO_2.jpg?max_age=2592000"
}
]
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| title | string | 榜单名称 |
| titleShare | string | 分享标题 |
| top_img | string | 榜单封面图URL |
| num | int | 歌曲数量 |
| id | int | 歌曲ID |
| title | string | 歌曲名称 |
| singer | string | 歌手名称,多位用/分隔 |
| song_mid | string | 歌曲mid |
| media_mid | string | 媒体mid |
| interval | string | 歌曲时长,格式mm:ss |
| song_img_url | string | 歌曲封面图URL |
榜单列表
GETtype=rank_list
获取所有榜单列表,无需额外参数。
请求示例
/search.php?token=你的密钥&type=rank_list
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | rank_list | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
返回示例
{
"code": 200,
"title": "榜单列表",
"message": "解析成功",
"time": "2026-06-30 22:08:34",
"data": {
"total": 25,
"groups": [
{
"group_name": "热门榜单",
"list": [
{
"topid": 4,
"title": "巅峰榜·流行指数",
"cover": "http://y.gtimg.cn/music/photo_new/T003R300x300M000000rhrgo0fNhnC.jpg"
}
... 其余榜单
]
}
]
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| total | int | 榜单总数 |
| group_name | string | 分组名称 |
| topid | int | 榜单ID |
| title | string | 榜单名称 |
| cover | string | 榜单封面图URL |
播放链接
GETtype=song
获取歌曲各品质播放链接和文件大小,一次返回所有可用品质。
请求示例
/search.php?token=你的密钥&type=song&song_mid=001XJiRO35D8jY&media_mid=001XJiRO35D8jY
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | song | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
song_mid |
string | 必填 | - | 歌曲mid |
media_mid |
string | 推荐 | 同song_mid | 媒体mid,部分歌曲与song_mid不同 |
品质说明
| 品质标签 | 格式 | 说明 |
|---|---|---|
| 标准品质-M4A | m4a | 48/96kbps |
| 高品质-MP3 | mp3 | 128kbps |
| 超高品质-MP3 | mp3 | 320kbps |
| OGG标准-OGG | ogg | 96kbps |
| OGG高品质-OGG | ogg | 192kbps |
| 无损品质-FLAC | flac | 无损压缩 |
| HiRes-FLAC | flac | 高解析度 |
| 杜比全景声-FLAC | flac | 杜比全景声 |
无资源的品质不会出现在返回结果中。每个品质包含
url、size、sizeText 字段。
返回示例
{
"code": 200,
"title": "歌曲链接",
"message": "解析成功",
"time": "2026-06-30 22:34:42",
"data": {
"标准品质-M4A": {
"url": "http://aqqmusic.tc.qq.com/C400001XJiRO35D8jY.m4a?guid=3982385346&vkey=A7E10B41BCBED9103B24A9B68F63BBE405C45F178265C6AE635FD171C44D22113DE83CFCF8309E3CD230C37825FBCC1FC05A42E57F0502D4__v2b9abe75&uin=3073780892&fromtag=120032",
"size": 773079,
"sizeText": "755kb"
}
... 其余品质
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| url | string | 播放链接URL |
| size | int | 文件大小(字节) |
| sizeText | string | 文件大小(可读格式,如755kb) |
歌词
GETtype=lyric
获取歌曲歌词,支持原文和翻译。
请求示例
/search.php?token=你的密钥&type=lyric&song_id=391499660&song_mid=002hpcjX47W32V
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | lyric | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
song_id |
int | 二选一 | - | 歌曲ID |
song_mid |
string | 二选一 | - | 歌曲mid |
返回示例
{
"code": 200,
"title": "歌词",
"message": "解析成功",
"time": "2026-06-30 23:30:07",
"data": {
"song_id": 391499660,
"lyric": "[ti:]\n[ar:]\n[al:]\n[by:]\n[offset:0]\n[00:00.00]青衣(0.8 降速版)-CR3. \n[00:00.30]词:侯波\n[00:00.61]曲:玄昌俊\n[00:00.92]【未经著作权人许可不得翻唱翻录或使用】\n[00:01.23]我为你唱一曲\n[00:04.50]如游丝的气息\n[00:09.57]谁在抚琴配相思成疾\n[00:18.09]我为你梦入戏\n..."
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| song_id | int | 歌曲ID |
| lyric | string | LRC格式歌词 |
歌单详情
GETtype=playlist
获取歌单详情和歌曲列表。
请求示例
/search.php?token=你的密钥&type=playlist&id=7702818519&song_num=30
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | playlist | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
id |
int | 必填 | - | 歌单ID |
song_num |
int | 可选 | 30 | 默认返回20首歌曲,不填返回全部歌曲 |
返回示例
{
"code": 200,
"title": "歌单详情",
"message": "解析成功",
"time": "2026-07-01 01:02:23",
"data": {
"total": 1,
"info": [
{
"top_id": 7702818519,
"title": "1000首抖音热歌:爆火神曲都在这",
"desc": "全网超全1000首抖音热歌合集来袭!\n刷屏爆款、洗脑神曲、伤感民谣、温柔情歌、热门BGM全都整理好了✨\n前奏一响就忍不住单曲循环,刷视频听到的好听歌,这里全都有!\n不用到处找歌单,收藏这一份就够,日常听歌、拍视频配乐直接套用,承包你一整年的背景音乐",
"pic_img": "https://music-file.y.qq.com/songlist/u/oK4Aow4ioKol7z/1f546/c55b325172083afcb07de01be099df0280bae705_2a87f5.jpg?imageView2/4/w/600/h/600"
}
],
"songs": [
{
"id": 214920523,
"title": "溯 (Reverse)feat. 马吟吟",
"singer": "CORSAK胡梦周/马吟吟",
"song_mid": "002eDlpu4U223F",
"media_mid": "000SO5aG37KuhP",
"interval": "03:12",
"song_img_url": "https://y.qq.com/music/photo_new/T002R300x300M000002yOiJ347ly2o_1.jpg?max_age=2592000"
}
]
}
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| total | int | 歌曲总数 |
| top_id | int | 歌单ID |
| title | string | 歌单名称 |
| desc | string | 歌单描述 |
| pic_img | string | 歌单封面图URL |
| id | int | 歌曲ID |
| title | string | 歌曲名称 |
| singer | string | 歌手名称,多位用/分隔 |
| song_mid | string | 歌曲mid |
| media_mid | string | 媒体mid |
| interval | string | 歌曲时长,格式mm:ss |
| song_img_url | string | 歌曲封面图URL |
推荐歌单
GETtype=recommend
获取推荐歌单列表
请求示例
/search.php?token=你的密钥&type=recommend&num=20
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
type |
string | 必填 | recommend | 接口类型 |
token |
string | 必填 | - | 密钥授权token |
num |
int | 可选 | 20 | 返回的歌单数量,默认20首 |
返回示例
{
"code": 200,
"title": "推荐歌单",
"message": "解析成功",
"time": "2026-07-01 00:53:44",
"data": {
"total": 1,
"info": [
{
"top_id": 9563730925,
"title": "抖音歌曲最火的歌(全网热搜)",
"desc": "抖音歌曲最火的歌,没有之一,只有唯一。<br>本期歌单的所有歌曲,都为小编精挑细选后呈现给大家的。希望喜欢的小伙伴收藏聆听,多多留言!",
"pic_img": "https://music-file.y.qq.com/songlist/u/oioPNK-i7KE57n/150f0/56a7825283073532641723e4550d348edbea4e52_2b624e.jpg?imageView2/4/w/600/h/600"
}
]
}
}
... 其余歌单
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| total | int | 推荐歌单总数 |
| top_id | int | 歌单ID |
| title | string | 歌单名称 |
| desc | string | 歌单描述 |
| pic_img | string | 歌单封面图URL |
调用示例
JavaScript / Fetch
// 搜索歌曲 fetch('https://api.buaile.cn/search.php?token=你的密钥&type=search&w=稻香&p=1&n=10') .then(res => res.json()) .then(data => console.log(data));
jQuery
$.getJSON('https://api.buaile.cn/search.php', { token: '你的密钥', type: 'search', w: '稻香', p: 1, n: 10 }, function(data) { console.log(data); });
PHP
$result = file_get_contents('https://api.buaile.cn/search.php?token=你的密钥&type=song&song_mid=xxx&media_mid=xxx'); $data = json_decode($result, true);
cURL
curl "https://api.buaile.cn/search.php?token=你的密钥&type=rank&topid=26&num=30"
Python
import requests data = requests.get('https://api.buaile.cn/search.php', params={ 'token': '你的密钥', 'type': 'search', 'w': '稻香', 'p': 1, 'n': 10 }).json()