API 文档
-
接口地址:
https://apicx.asia/api/kw_music_api
-
返回格式:
JOSN
-
请求方式:
GET
-
请求示例:
https://apicx.asia/api/kw_music_apikw_music_api?artist=周杰伦&n=1&token=你的token
请求参数说明:
| 名称 |
必填 |
类型 |
说明 |
|
token
|
是
|
string
|
登录获取token
|
| artist | 是 | string | 周杰伦 |
| n | 是 | string | 歌曲序号 |
| br | 是 | string | 320,默认320可选择{br=128,192,320,740,999} |
| 示例1 | 否 | string | 获取歌曲列表(默认):https://apicx.asia/api/kw_music_api?artist=周杰伦&token=你的token |
| 示例2 | 否 | string | 获取指定歌曲详情:https://apicx.asia/api/kw_music_api?artist=周杰伦&n=1&br=320&token=你的token |
返回参数说明:
| 名称 |
类型 |
说明 |
| code |
integer |
返回的状态码 |
| data |
object |
返回的数据/数据对象 |
| msg |
string |
返回的消息 |
| time |
string |
请求时间 |
| data.index | number | 歌曲序号 |
| data.song_id | string | 歌曲id |
| data.name | string | 歌曲名 |
| data.album | string | 专辑名 |
| data.duration | string | 歌曲时长 |
| data.cover | string | 专辑图 |
| data.play_url | string | 歌曲链接 |
| data.lyrics.raw[].lineLyric | string | lineLyric |
| data.lyrics.raw[].time | string | time |
| data.lyrics.formatted | string | 歌词 |
| data.bitrate | string | 音质 |
| timestamp | string | 时间戳 |
| cached_time | string | 缓存时间 |
{
"code": 200,
"data": {
"index": 1,
"song_id": "228908",
"name": "晴天",
"artist": "周杰伦",
"subtitle": "《左手上篮》动画片尾曲",
"album": "叶惠美",
"duration": "04:29",
"cover": "http://img1.kwcdn.kuwo.cn/800/s3s94/93/211513640.jpg",
"play_url": "https://er-sycdn.kuwo.cn/f71c14e0b3d009feec11fe6fd9ff79cc/68ddca3f/resource/30106/trackmedia/M8000039MnYb0qxYhV.mp3",
"lyrics": {
"raw": [
{
"lineLyric": "晴天 - 周杰伦 (Jay Chou)",
"time": "0.0"
},
{
"lineLyric": "词:周杰伦",
"time": "2.25"
},
{
"lineLyric": "曲:周杰伦",
"time": "4.5"
},
{
"lineLyric": "编曲:周杰伦",
"time": "6.75"
},
{
"lineLyric": "制作人:周杰伦",
"time": "9.0"
},
{
"lineLyric": "合声:周杰伦",
"time": "11.25"
},
{
"lineLyric": "合声编写:周杰伦",
"time": "13.5"
},
{
"lineLyric": "吉他:蔡科俊Again",
"time": "15.75"
},
{
"lineLyric": "贝斯:陈任佑",
"time": "18.0"
},
{
"lineLyric": "鼓:陈柏州",
"time": "20.25"
},
{
"lineLyric": "录音助理:刘勇志",
"time": "22.51"
},
{
"lineLyric": "录音工程:杨瑞代(Alfa Studio)",
"time": "24.76"
},
{
"lineLyric": "混音工程:杨大纬(杨大纬录音工作室)",
"time": "27.01"
},
{
"lineLyric": "故事的小黄花",
"time": "29.26"
},
{
"lineLyric": "从出生那年就飘着",
"time": "32.71"
},
{
"lineLyric": "童年的荡秋千",
"time": "36.24"
},
{
"lineLyric": "随记忆一直晃到现在",
"time": "39.75"
},
{
"lineLyric": "Re So So Si Do Si La ",
"time": "42.91"
},
{
"lineLyric": "So La Si Si Si Si La Si La So ",
"time": "45.93"
},
{
"lineLyric": "吹着前奏望着天空",
"time": "49.87"
},
{
"lineLyric": "我想起花瓣试着掉落",
"time": "53.2"
},
{
"lineLyric": "为你翘课的那一天",
"time": "56.72"
},
{
"lineLyric": "花落的那一天",
"time": "58.83"
},
{
"lineLyric": "教室的那一间",
"time": "60.6"
},
{
"lineLyric": "我怎么看不见",
"time": "62.32"
},
{
"lineLyric": "消失的下雨天",
"time": "64.12"
},
{
"lineLyric": "我好想再淋一遍",
"time": "65.81"
},
{
"lineLyric": "没想到失去的勇气我还留着",
"time": "69.99"
},
{
"lineLyric": "好想再问一遍",
"time": "76.12"
},
{
"lineLyric": "你会等待还是离开",
"time": "77.97"
},
{
"lineLyric": "刮风这天我试过握着你手",
"time": "84.91"
},
{
"lineLyric": "但偏偏雨渐渐大到我看你不见",
"time": "90.45"
},
{
"lineLyric": "还要多久我才能在你身边",
"time": "98.880005"
},
{
"lineLyric": "等到放晴的那天也许我会比较好一点",
"time": "105.44"
},
{
"lineLyric": "从前从前有个人爱你很久",
"time": "112.869995"
},
{
"lineLyric": "但偏偏风渐渐把距离吹得好远",
"time": "118.54"
},
{
"lineLyric": "好不容易又能再多爱一天",
"time": "126.94"
},
{
"lineLyric": "但故事的最后你好像还是说了拜拜",
"time": "133.5"
},
{
"lineLyric": "为你翘课的那一天",
"time": "154.9"
},
{
"lineLyric": "花落的那一天",
"time": "156.88"
},
{
"lineLyric": "教室的那一间",
"time": "158.66"
},
{
"lineLyric": "我怎么看不见",
"time": "160.39"
},
{
"lineLyric": "消失的下雨天",
"time": "162.15"
},
{
"lineLyric": "我好想再淋一遍",
"time": "163.87"
},
{
"lineLyric": "没想到失去的勇气我还留着",
"time": "168.0"
},
{
"lineLyric": "好想再问一遍",
"time": "174.15"
},
{
"lineLyric": "你会等待还是离开",
"time": "176.03"
},
{
"lineLyric": "刮风这天我试过握着你手",
"time": "182.92"
},
{
"lineLyric": "但偏偏雨渐渐大到我看你不见",
"time": "188.49"
},
{
"lineLyric": "还要多久我才能在你身边",
"time": "196.94"
},
{
"lineLyric": "等到放晴的那天也许我会比较好一点",
"time": "203.43"
},
{
"lineLyric": "从前从前有个人爱你很久",
"time": "210.87"
},
{
"lineLyric": "偏偏风渐渐把距离吹得好远",
"time": "217.14"
},
{
"lineLyric": "好不容易又能再多爱一天",
"time": "224.88"
},
{
"lineLyric": "但故事的最后你好像还是说了拜拜",
"time": "231.42"
},
{
"lineLyric": "刮风这天我试过握着你手",
"time": "238.49"
},
{
"lineLyric": "但偏偏雨渐渐大到我看你不见",
"time": "241.97"
},
{
"lineLyric": "还要多久我才能够在你身边",
"time": "245.65"
},
{
"lineLyric": "等到放晴那天也许我会比较好一点",
"time": "249.07"
},
{
"lineLyric": "从前从前有个人爱你很久",
"time": "252.92"
},
{
"lineLyric": "但偏偏雨渐渐把距离吹得好远",
"time": "255.91"
},
{
"lineLyric": "好不容易又能再多爱一天",
"time": "259.38"
},
{
"lineLyric": "但故事的最后你好像还是说了拜",
"time": "262.86"
}
],
"formatted": "[00:00.000]晴天 - 周杰伦 (Jay Chou)\n[00:02.250]词:周杰伦\n[00:04.500]曲:周杰伦\n[00:06.750]编曲:周杰伦\n[00:09.000]制作人:周杰伦\n[00:11.250]合声:周杰伦\n[00:13.500]合声编写:周杰伦\n[00:15.750]吉他:蔡科俊Again\n[00:18.000]贝斯:陈任佑\n[00:20.250]鼓:陈柏州\n[00:22.510]录音助理:刘勇志\n[00:24.760]录音工程:杨瑞代(Alfa Studio)\n[00:27.010]混音工程:杨大纬(杨大纬录音工作室)\n[00:29.260]故事的小黄花\n[00:32.710]从出生那年就飘着\n[00:36.240]童年的荡秋千\n[00:39.750]随记忆一直晃到现在\n[00:42.910]Re So So Si Do Si La \n[00:45.930]So La Si Si Si Si La Si La So \n[00:49.870]吹着前奏望着天空\n[00:53.200]我想起花瓣试着掉落\n[00:56.720]为你翘课的那一天\n[00:58.830]花落的那一天\n[01:00.600]教室的那一间\n[01:02.320]我怎么看不见\n[01:04.120]消失的下雨天\n[01:05.810]我好想再淋一遍\n[01:09.990]没想到失去的勇气我还留着\n[01:16.120]好想再问一遍\n[01:17.970]你会等待还是离开\n[01:24.910]刮风这天我试过握着你手\n[01:30.450]但偏偏雨渐渐大到我看你不见\n[01:38.880]还要多久我才能在你身边\n[01:45.440]等到放晴的那天也许我会比较好一点\n[01:52.870]从前从前有个人爱你很久\n[01:58.540]但偏偏风渐渐把距离吹得好远\n[02:06.940]好不容易又能再多爱一天\n[02:13.500]但故事的最后你好像还是说了拜拜\n[02:34.900]为你翘课的那一天\n[02:36.880]花落的那一天\n[02:38.660]教室的那一间\n[02:40.390]我怎么看不见\n[02:42.150]消失的下雨天\n[02:43.870]我好想再淋一遍\n[02:48.000]没想到失去的勇气我还留着\n[02:54.150]好想再问一遍\n[02:56.030]你会等待还是离开\n[03:02.920]刮风这天我试过握着你手\n[03:08.490]但偏偏雨渐渐大到我看你不见\n[03:16.940]还要多久我才能在你身边\n[03:23.430]等到放晴的那天也许我会比较好一点\n[03:30.870]从前从前有个人爱你很久\n[03:37.140]偏偏风渐渐把距离吹得好远\n[03:44.880]好不容易又能再多爱一天\n[03:51.420]但故事的最后你好像还是说了拜拜\n[03:58.490]刮风这天我试过握着你手\n[04:01.970]但偏偏雨渐渐大到我看你不见\n[04:05.650]还要多久我才能够在你身边\n[04:09.070]等到放晴那天也许我会比较好一点\n[04:12.920]从前从前有个人爱你很久\n[04:15.910]但偏偏雨渐渐把距离吹得好远\n[04:19.380]好不容易又能再多爱一天\n[04:22.860]但故事的最后你好像还是说了拜"
},
"bitrate": "exhigh"
},
"timestamp": "2025-10-02 08:41:36",
"cached_time": "2025-10-02 08:41:36"
}
错误码格式说明:
| 名称 |
类型 |
说明 |
| 200 |
string |
返回状态码(成功) |
| 500 |
string |
返回的状态码(失败) |
代码示例:
-
-
-
-
-
-
-
<?php
// 初始化cURL会话
$ch = curl_init();
// 设置请求URL,用户中心获取token,自行替换其他参数
curl_setopt($ch, CURLOPT_URL, "https://apicx.asia/api/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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/kw_music_apikw_music_api?artist=周杰伦&n=1&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))
}