酷狗音乐

通过搜索歌曲获取播放链接、歌词和专辑图

API 文档

  • 接口地址: https://apicx.asia/api/kugoumusic
  • 返回格式: JOSN
  • 请求方式: GET
  • 请求示例: https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token

请求参数说明:

名称 必填 类型 说明
token string 登录获取token
msgstring搜索关键词(必填)
nstringn:歌曲索引,从1开始(默认1)
hashstringid :歌曲hash(必填)
brstringbr:音质选项,可选值:128、320、flac(默认320)
示例1string获取歌曲列表(默认):https://apicx.asia/api/kugoumusic?msg=周杰伦​&token=你的token
示例2string获取指定歌曲详情:https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token​​
示例3string通过hash获取歌曲详情:https://apicx.asia/api/kugoumusic?hash=歌曲hash&br=320&token=你的token​​

返回参数说明:

名称 类型 说明
code integer 返回的状态码
data object 返回的数据/数据对象
msg string 返回的消息
time string 请求时间

返回示例:

{
  "code": 200,
  "data": {
    "index": 1,
    "song_hash": "b3a52a7a958bf0aed0ebfba2e9a818b7",
    "name": "晴天",
    "artist": "周杰伦",
    "album": "叶惠美",
    "duration": "4:29",
    "cover": "http://imge.kugou.com/stdmusic/20230920/20230920142503632013.jpg",
    "pay_type": 3,
    "is_free": "否",
    "bitrate": "320",
    "play_info": {
      "success": true,
      "quality": "320kbps",
      "url": "http://fsmobile.kugou.com/202511281230/7bf3195815ddf4eb79490d65975b30c6/v3/1b56126a8a03924f1dd066259c095cbc/yp/full/ap3116_us2104371013_dfdykjs_pi2_mx1b56126a8a03924f1dd066259c095cbc_qu320_ct110000_s4281706306.mp3",
      "file_size": "10.29MB",
      "bitrate": 320,
      "format": "mp3"
    },
    "lyrics": "[ti:晴天]\r\n[ar:周杰伦]\r\n[al:叶惠美]\r\n[by:]\r\n[offset:0]\r\n[00:00.00]晴天 - 周杰伦 (Jay Chou)\r\n[00:02.25]词:周杰伦\r\n[00:04.50]曲:周杰伦\r\n[00:06.75]编曲:周杰伦\r\n[00:09.00]制作人:周杰伦\r\n[00:11.25]合声:周杰伦\r\n[00:13.50]合声编写:周杰伦\r\n[00:15.75]吉他:蔡科俊Again\r\n[00:18.00]贝斯:陈任佑\r\n[00:20.25]鼓:陈柏州\r\n[00:22.51]录音助理:刘勇志\r\n[00:24.76]录音工程:杨瑞代(Alfa Studio)\r\n[00:27.01]混音工程:杨大纬(杨大纬录音工作室)\r\n[00:29.26]故事的小黄花\r\n[00:32.71]从出生那年就飘着\r\n[00:36.24]童年的荡秋千\r\n[00:39.75]随记忆一直晃到现在\r\n[00:42.91]Re So So Si Do Si La\r\n[00:45.93]So La Si Si Si Si La Si La So\r\n[00:49.87]吹着前奏望着天空\r\n[00:53.20]我想起花瓣试着掉落\r\n[00:56.72]为你翘课的那一天\r\n[00:58.83]花落的那一天\r\n[01:00.60]教室的那一间\r\n[01:02.32]我怎么看不见\r\n[01:04.12]消失的下雨天\r\n[01:05.81]我好想再淋一遍\r\n[01:09.99]没想到失去的勇气我还留着\r\n[01:16.12]好想再问一遍\r\n[01:17.97]你会等待还是离开\r\n[01:24.91]刮风这天我试过握着你手\r\n[01:30.45]但偏偏雨渐渐大到我看你不见\r\n[01:38.88]还要多久我才能在你身边\r\n[01:45.44]等到放晴的那天也许我会比较好一点\r\n[01:52.87]从前从前有个人爱你很久\r\n[01:58.54]但偏偏风渐渐把距离吹得好远\r\n[02:06.94]好不容易又能再多爱一天\r\n[02:13.50]但故事的最后你好像还是说了拜拜\r\n[02:34.90]为你翘课的那一天\r\n[02:36.88]花落的那一天\r\n[02:38.66]教室的那一间\r\n[02:40.39]我怎么看不见\r\n[02:42.15]消失的下雨天\r\n[02:43.87]我好想再淋一遍\r\n[02:48.00]没想到失去的勇气我还留着\r\n[02:54.15]好想再问一遍\r\n[02:56.03]你会等待还是离开\r\n[03:02.92]刮风这天我试过握着你手\r\n[03:08.49]但偏偏雨渐渐大到我看你不见\r\n[03:16.94]还要多久我才能在你身边\r\n[03:23.43]等到放晴的那天也许我会比较好一点\r\n[03:30.87]从前从前有个人爱你很久\r\n[03:37.14]偏偏风渐渐把距离吹得好远\r\n[03:44.88]好不容易又能再多爱一天\r\n[03:51.42]但故事的最后你好像还是说了拜拜\r\n[03:58.49]刮风这天我试过握着你手\r\n[04:01.97]但偏偏雨渐渐大到我看你不见\r\n[04:05.65]还要多久我才能够在你身边\r\n[04:09.07]等到放晴那天也许我会比较好一点\r\n[04:12.92]从前从前有个人爱你很久\r\n[04:15.91]但偏偏雨渐渐把距离吹得好远\r\n[04:19.38]好不容易又能再多爱一天\r\n[04:22.86]但故事的最后你好像还是说了拜\r\n",
    "warnings": null
  },
  "timestamp": "2025-11-28 22:48:44",
  "message": "获取成功",
  "cached_time": "2025-11-28 22:48:44"
}

错误码格式说明:

名称 类型 说明
200 string 返回状态码(成功)
500 string 返回的状态码(失败)

代码示例:


<?php
// 初始化cURL会话
$ch = curl_init();
// 设置请求URL,用户中心获取token,自行替换其他参数
curl_setopt($ch, CURLOPT_URL, "https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token");
// 设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: YOUR_TOKEN'
));
// 返回响应而不是直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行请求并获取响应
$response = curl_exec($ch);
// 关闭cURL会话
curl_close($ch);
// 将响应解析为JSON格式
$data = json_decode($response, true);
// 输出JSON数据
print_r($data);
?>
            

import requests

# 设置请求URL和头部,用户中心获取token,自行替换其他参数
url = "https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token"
headers = {
    'Authorization': 'YOUR_TOKEN'
}

# 发送GET请求
response = requests.get(url, headers=headers)
# 将响应解析为JSON格式
data = response.json()
# 输出JSON数据
print(data)
            

// 发送GET请求,用户中心获取token,自行替换其他参数
fetch("https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token", {
    method: "GET",
    headers: {
        "Authorization": "YOUR_TOKEN"
    }
})
.then(response => response.json()) // 将响应解析为JSON格式
.then(data => console.log(data)) // 输出JSON数据
.catch(error => console.error('Error:', error));
            

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
    public static void main(String[] args) throws Exception {
        // 创建URL对象,用户中心获取token,自行替换其他参数
        URL url = new URL("https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token");
        // 打开连接
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        // 设置请求方法
        conn.setRequestMethod("GET");
        // 设置请求头
        conn.setRequestProperty("Authorization", "YOUR_TOKEN");

        // 读取响应
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String inputLine;
        StringBuffer content = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            content.append(inputLine);
        }
        in.close();
        // 输出JSON数据
        System.out.println(content.toString());
    }
}
            

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        using (HttpClient client = new HttpClient()) {
            // 设置请求头
            client.DefaultRequestHeaders.Add("Authorization", "YOUR_TOKEN");
            // 发送GET请求,用户中心获取token,自行替换其他参数
            HttpResponseMessage response = await client.GetAsync("https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token");
            // 将响应解析为字符串
            string responseBody = await response.Content.ReadAsStringAsync();
            // 输出JSON数据
            Console.WriteLine(responseBody);
        }
    }
}
            

require 'net/http'
require 'uri'

# 创建URI对象,用户中心获取token,自行替换其他参数
uri = URI.parse("https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token")
# 创建GET请求
request = Net::HTTP::Get.new(uri)
# 设置请求头
request["Authorization"] = "YOUR_TOKEN"

# 发送请求并获取响应
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end

# 输出JSON数据
puts response.body
            

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    // 创建GET请求,用户中心获取token,自行替换其他参数
    req, err := http.NewRequest("GET", "https://apicx.asia/api/kugoumusic?msg=周杰伦&n=1&br=320&token=你的token", nil)
    if err != nil {
        panic(err)
    }
    // 设置请求头
    req.Header.Add("Authorization", "YOUR_TOKEN")

    // 发送请求并获取响应
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // 读取响应体
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    // 输出JSON数据
    fmt.Println(string(body))
}