可搜索歌曲、MV,获取多音质音源,资源来自网络
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 是 | 接口调用密钥 | |
| action | string | 是 | 操作类型,仅可为:search(搜索)、detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源) | |
| type | string | 否 | 搜索资源类型,仅当action为search时有效,仅可为:mv(MV资源)、song(歌曲资源) | song |
| keyword | string | 否 | 搜索资源名称,仅当action为search时有效 | 起风了 |
| hash | string | 否 | 资源hash的id,仅当action为detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)时有效,注意:此字段可变,quality=flac 用 sq_hash,res 用 res_hash,super 用 super_hash | F125DA898596AC226085281F476BDB7E |
| quality | string | 否 | 音质映射,res/hires→res、super→super、flac→flac、high→high、320→320、128→128,注意:res、super需要解密,建议flac及以下音质 | flac |
| mixsong_id | string | 否 | 资源id,仅当action为play时有效 | 264086632 |
[
{
"name": "key",
"type": "string",
"required": true,
"description": "接口调用密钥",
"example": ""
},
{
"name": "action",
"type": "string",
"required": true,
"description": "操作类型,仅可为:search(搜索)、detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)",
"example": ""
},
{
"name": "type",
"type": "string",
"required": false,
"description": "搜索资源类型,仅当action为search时有效,仅可为:mv(MV资源)、song(歌曲资源)",
"example": "song"
},
{
"name": "keyword",
"type": "string",
"required": false,
"description": "搜索资源名称,仅当action为search时有效",
"example": "起风了"
},
{
"name": "hash",
"type": "string",
"required": false,
"description": "资源hash的id,仅当action为detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)时有效,注意:此字段可变,quality=flac 用 sq_hash,res 用 res_hash,super 用 super_hash",
"example": "F125DA898596AC226085281F476BDB7E"
},
{
"name": "quality",
"type": "string",
"required": false,
"description": "音质映射,res/hires→res、super→super、flac→flac、high→high、320→320、128→128,注意:res、super需要解密,建议flac及以下音质",
"example": "flac"
},
{
"name": "mixsong_id",
"type": "string",
"required": false,
"description": "资源id,仅当action为play时有效",
"example": "264086632"
}
]
{
"openapi": "3.1.1",
"info": {
"title": "酷狗音乐",
"description": "可搜索歌曲、MV,获取多音质音源,资源来自网络",
"version": "1.0.0"
},
"paths": {
"/v1/kugou_music.php": {
"get": {
"summary": "酷狗音乐",
"description": "可搜索歌曲、MV,获取多音质音源,资源来自网络",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "action",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "操作类型,仅可为:search(搜索)、detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "song"
},
"description": "搜索资源类型,仅当action为search时有效,仅可为:mv(MV资源)、song(歌曲资源)"
},
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "起风了"
},
"description": "搜索资源名称,仅当action为search时有效"
},
{
"name": "hash",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "F125DA898596AC226085281F476BDB7E"
},
"description": "资源hash的id,仅当action为detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)时有效,注意:此字段可变,quality=flac 用 sq_hash,res 用 res_hash,super 用 super_hash"
},
{
"name": "quality",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "flac"
},
"description": "音质映射,res/hires→res、super→super、flac→flac、high→high、320→320、128→128,注意:res、super需要解密,建议flac及以下音质"
},
{
"name": "mixsong_id",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "264086632"
},
"description": "资源id,仅当action为play时有效"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
}
},
"post": {
"summary": "酷狗音乐",
"description": "可搜索歌曲、MV,获取多音质音源,资源来自网络",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥"
},
{
"name": "action",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "操作类型,仅可为:search(搜索)、detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "song"
},
"description": "搜索资源类型,仅当action为search时有效,仅可为:mv(MV资源)、song(歌曲资源)"
},
{
"name": "keyword",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "起风了"
},
"description": "搜索资源名称,仅当action为search时有效"
},
{
"name": "hash",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "F125DA898596AC226085281F476BDB7E"
},
"description": "资源hash的id,仅当action为detail(歌曲详情)、play(获取播放)、mv(MV资源)、lyric(歌词资源)时有效,注意:此字段可变,quality=flac 用 sq_hash,res 用 res_hash,super 用 super_hash"
},
{
"name": "quality",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "flac"
},
"description": "音质映射,res/hires→res、super→super、flac→flac、high→high、320→320、128→128,注意:res、super需要解密,建议flac及以下音质"
},
{
"name": "mixsong_id",
"in": "query",
"required": false,
"schema": {
"type": "string",
"example": "264086632"
},
"description": "资源id,仅当action为play时有效"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://xiaoapi.cn",
"description": "当前访问入口(https)"
}
]
}
请求示例:https://xiaoapi.cn/v1/kugou_music.php?action=play&hash=CD0AF377206DAAACAEE61B76D32360A3&channel=app&quality=flac&mixsong_id=264086632&hq_hash=689017304D59EBC52307F8837DCBFE38
{
"code": 200,
"message": "ok",
"data": {
"hash": "f125da898596ac226085281f476bdb7e",
"request_hash": "cd0af377206daaacaee61b76d32360a3",
"quality": "flac",
"play_url": "http://fs.youthandroid2.kugou.com/202610062125/a7709c241f4afcfdaf4cced8bbc10c8d/v3/f125da898596ac226085281f476bdb7e/yp/full/ap1005_us638411479_dfKCQ89Z5POG6O2G3WDAV8I1Q7_mi268500970247877721068168694046846264778_pi411_quflac_mx264086632_ct330100__s2801405976.flac",
"bitrate": 999,
"filesize": 38913855,
"duration": 311,
"ext": "flac",
"img": "http://imge.kugou.com/stdmusic/20250703/20250703225416338652.png",
"vip": 1
},
"channel_used": "app",
"login": true,
"cache": "write",
"cache_file": "play_channel_app_hash_cd0af377206daaacaee61b76d32360a3_quality_flac.json"
}
提供酷狗音乐资源的搜索与获取能力,支持歌曲与 MV 搜索,并可获取歌曲详情、播放地址、MV 及歌词资源。适用于需要在自有应用中集成音乐检索与播放能力的开发者。调用需携带密钥,按次计费。
http://xiaoapi.cn/v1/kugou_music.php
支持 GET 与 POST 两种方式提交请求,请求参数均可通过查询字符串或表单形式传递。
本接口必须携带调用密钥,密钥通过 Query 参数 key 传递,即在请求地址后附加 key=你的接口调用密钥。未携带或密钥无效时,请求将无法正常返回数据。
调用地址:http://xiaoapi.cn/v1/kugou_music.php,请求方式支持 GET 与 POST。密钥通过 Query 参数 key 传递。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 接口调用密钥,通过 Query 传递,如 key=… |
| action | string | 是 | 操作类型,仅可为:search(搜索)、detail(歌曲详情)、play(获取播放)、mv(MV 资源)、lyric(歌词资源) |
| type | string | 否 | 搜索资源类型,仅当 action=search 时有效,仅可为:mv(MV 资源)、song(歌曲资源),例如 song |
| keyword | string | 否 | 搜索资源名称,仅当 action=search 时有效,例如 起风了 |
| hash | string | 否 | 资源 hash 的 id,仅当 action 为 detail(歌曲详情)、play(获取播放)、mv(MV 资源)、lyric(歌词资源)时有效。注意:此字段可变,quality=flac 用 sq_hash,res 用 res_hash,super 用 super_hash,例如 F125DA898596AC226085281F476BDB7E |
| quality | string | 否 | 音质映射,res/hires→res、super→super、flac→flac、high→high、320→320、128→128。注意:res、super 需要解密,建议使用 flac 及以下音质,例如 flac |
| mixsong_id | string | 否 | 资源 id,仅当 action=play 时有效,例如 264086632 |
action:五个取值分别对应搜索、歌曲详情、获取播放、MV 资源、歌词资源,需按目标能力选择;type、keyword 仅在 search 下生效,hash、quality 在 detail、play、mv、lyric 下生效,mixsong_id 仅在 play 下生效。quality:不同取值对应不同音质档位,且与 hash 的取值来源相关,按音质选择对应 hash 字段传入,否则可能取不到目标音源。{
"code": 200,
"message": "ok",
"data": {
"hash": "f125da898596ac226085281f476bdb7e",
"request_hash": "cd0af377206daaacaee61b76d32360a3",
"quality": "flac",
"play_url": "http://fs.youthandroid2.kugou.com/202610062125/a7709c241f4afcfdaf4cced8bbc10c8d/v3/f125da898596ac226085281f476bdb7e/yp/full/ap1005_us638411479_dfKCQ89Z5POG6O2G3WDAV8I1Q7_mi268500970247877721068168694046846264778_pi411_quflac_mx264086632_ct330100__s2801405976.flac",
"bitrate": 999,
"filesize": 38913855,
"duration": 311,
"ext": "flac",
"img": "http://imge.kugou.com/stdmusic/20250703/20250703225416338652.png",
"vip": 1
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
| code | integer | 状态码,200 表示请求成功 |
| message | string | 状态描述,成功时为 ok |
| data | object | 业务数据主体,随 action 不同而不同 |
| data.hash | string | 实际取用的资源 hash |
| data.request_hash | string | 本次请求传入的 hash |
| data.quality | string | 实际返回的音质标识 |
| data.play_url | string | 音频播放地址,可直接用于播放或下载 |
| data.bitrate | integer | 音频码率 |
| data.filesize | integer | 文件大小,单位字节 |
| data.duration | integer | 音频时长,单位秒 |
| data.ext | string | 文件扩展名 |
| data.img | string | 歌曲封面图片地址 |
| data.vip | integer | 是否为 VIP 资源标记 |
说明:不同 action 返回的 data 内容存在差异,搜索类操作以列表形式返回结果,详情、播放、MV、歌词类操作按上述字段结构返回对应资源信息。
调用失败时,接口返回统一的 JSON 结构:code 固定为 0,表示本次请求未成功;msg 为可读的错误描述;errcode 为具体业务错误码,可直接对照下表定位原因。
密钥错误时的返回:
{
"code": 0,
"msg": "密钥错误",
"errcode": 11002
}
积分余额不足时的返回:
{
"code": 0,
"msg": "积分余额不足",
"errcode": 11004
}
无论触发哪一类业务错误,返回结构均与上例一致,仅 msg 与 errcode 发生变化。调用方应优先读取 errcode 做分支处理,msg 仅用于展示与日志记录;当 errcode 为 11005 时,请降低请求频率后重试,其余错误码在问题修复前重试通常无效。
| errcode | 含义 |
|---|---|
| 11001 | 未提供调用密钥 |
| 11002 | 密钥错误 |
| 11003 | 密钥已禁用 |
| 11004 | 积分余额不足 |
| 11005 | 请求过于频繁(QPM 限制) |
| 11006 | 接口维护中 |
| 11007 | 接口已禁用 |
| 11008 | 接口不可用 |
| 11009 | 密钥校验暂不可用 |
| 11010 | 积分系统暂不可用 |
| 11011 | 收费接口须提供有效密钥 |
| 11012 | 鉴权方式错误 |
| 11013 | 接口不存在 |
| 11014 | ***地址无效 |
| 11015 | ***地址不允许 |
| 11016 | ***请求失败 |
| 11017 | 服务暂不可用 |
| 11018 | 请求方式不允许 |
| 11019 | 当前 IP 不在白名单内 |
| 11020 | 启用出口代理须提供有效密钥 |
| 11021 | 未配置可用出口代理 |
| 11022 | 出口代理不可用 |
| 11023 | 密钥已过期 |
| 11024 | 令牌分配积分不足 |
补充说明:
11001~11003、11011、11023:与密钥本身有关。调用密钥通过 Query 参数 key 传递,缺失、拼写错误、被禁用或已过期都会导致请求被拒绝。11004、11024:本接口为收费接口,每次成功调用按接口计费规则扣减积分;余额不足或令牌可用额度不足时返回。11005:短时间内并发或频次超过接口允许的 QPM 上限,稍后重试即可。11006~11008、11017:接口处于维护、禁用、不可用状态,或服务整体暂时不可用,请稍后再试。11009、11010:密钥校验服务或积分系统暂时不可用,属于临时性故障。11012:密钥传递方式不符合本接口要求,请按本接口规定的 Query 方式传递 key。11013~11016:与资源获取链路相关。11013 表示请求的接口路径不存在;11014~11016 表示目标资源地址无效、不被允许或本次获取失败,音质越高越容易遇到此类情况,可改用较低音质重试。11018:使用了接口不支持的请求方法,本接口仅接受 GET、POST。11019:调用来源 IP 未在当前密钥的白名单内。11020~11022:与出口代理配置相关。密钥已开启出口代理但未提供有效密钥、未配置可用出口代理,或出口代理当前不可用。调用地址:http://xiaoapi.cn/v1/kugou_music.php,请求方式 GET / POST,密钥以 Query 参数 key 传递。
curl "http://xiaoapi.cn/v1/kugou_music.php?key=你的密钥&action=search&type=song&keyword=起风了"
获取指定音质的播放资源:
curl "http://xiaoapi.cn/v1/kugou_music.php?key=你的密钥&action=play&hash=CD0AF377206DAAACAEE61B76D32360A3&quality=flac&mixsong_id=264086632"
// PHP 示例
$params = [
'key' => '你的密钥',
'action' => 'play',
'hash' => 'CD0AF377206DAAACAEE61B76D32360A3',
'quality' => 'flac',
'mixsong_id' => '264086632',
];
$url = 'http://xiaoapi.cn/v1/kugou_music.php?' . http_build_query($params);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
key 传递,例如 ?action=play&key=你的密钥。请妥善保管密钥,不要写进前端页面、客户端包体、公开仓库或截图,一旦泄露可能被他人消耗你的调用额度。action,取值仅支持 search、detail、play、mv、lyric,其他取值无法正常返回。type、keyword 仅在 action=search 时生效,type 仅支持 mv、song;搜索时 keyword 不能为空。hash 会随音质变化:quality=flac 时用 sq_hash,res 用 res_hash,super 用 super_hash。建议先用 detail 取到对应音质的 hash,再调用 play,不要# 搜索示例:type=song、keyword=起风了
curl "http://xiaoapi.cn/v1/kugou_music.php?key=YOUR_API_KEY&action=search&type=song&keyword=起风了"
// 结果将在此处显示
生效日期:2026年7月22日
欢迎使用 xiaoapi.cn(以下简称"本平台")。在使用本平台提供的 API 服务(以下简称"本服务")前,请务必仔细阅读并充分理解本免责声明。您以任何方式调用、访问或使用本服务,即视为您已阅读、理解并同意接受本声明的全部内容。
本平台作为 API 技术服务的提供方,仅提供技术接口与数据分发服务。本声明的目的在于明确平台与用户之间的责任边界,督促用户合法、合规地使用本服务,防范违法违规行为的发生。
用户在使用本服务时,明确禁止从事以下行为:
在法律法规允许的最大范围内,本平台对以下情形不承担责任:
因用户违反本声明或相关法律法规,导致本平台及其关联方、合作方遭受任何损失(包括但不限于赔偿款、罚款、律师费、诉讼费等),用户同意向本平台及相关方承担全部赔偿责任。
本平台有权根据法律法规变化、业务调整或监管要求,随时修改本声明。修改后的声明将在本页面公布,自公布之日起生效。您继续使用本服务,即视为接受更新后的声明。
如您对本声明有任何疑问,或发现他人存在违规使用本服务的行为,欢迎通过本平台公示的联系方式与我们联系,我们将及时处理。