咪咕音乐

提供音乐搜索、播放链接获取等功能

API 文档

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

请求参数说明:

名称 必填 类型 说明
token string 登录获取token
gmstringgm
nintn
brintbr

返回参数说明:

名称 类型 说明
code integer 返回的状态码
data object 返回的数据/数据对象
msg string 返回的消息
time string 请求时间
data.titlestringtitle
data.singerstringsinger
data.albumstringalbum
data.contentIdstringcontentId
data.urlstringurl
data.coverstringcover
data.lrcstringlrc
data.qualitystringquality
data.durationstringduration
data.bitratestringbitrate

返回示例:

{
  "code": 200,
  "msg": "操作成功!",
  "time": "2026-01-03 15:39:41",
  "api_source": "API官网:apicx.asia",
  "data": {
    "title": "我的地盘",
    "singer": "周杰伦",
    "album": "七里香",
    "contentId": "600902000006889294",
    "url": "https://freetyst.nf.migu.cn/public/product9th/product45/2022/05/0716/2009%E5%B9%B406%E6%9C%8826%E6%97%A5%E5%8D%9A%E5%B0%94%E6%99%AE%E6%96%AF/%E6%A0%87%E6%B8%85%E9%AB%98%E6%B8%85/MP3_320_16_Stero/60054701941164951.mp3?channelid=02&msisdn=3abf935a-3e4f-4770-88d8-8950424760be&Tim=1767426280721&Key=d63b9515356b2dfe",
    "cover": "https://d.musicapp.migu.cn/data/oss/resource/00/41/zf/098e1270d4fa4d84a8899909de009ff4.webp",
    "lrc": "[00:01.00]歌曲名 我的地盘\r\n[00:02.00]歌手名 周杰伦\r\n[00:03.00]作词:方文山\r\n[00:04.00]作曲:周杰伦\r\n[00:29.36]在我地盘这\r\n[00:30.21]你就得听我的\r\n[00:32.00]把音乐收割\r\n[00:32.85]用听觉找快乐\r\n[00:34.70]开始在雕刻\r\n[00:35.69]我个人的特色\r\n[00:37.44]未来难预测\r\n[00:38.34]坚持当下的选择\r\n[00:40.23]在我地盘这\r\n[00:41.38]你就得听我的\r\n[00:43.18]节奏在招惹\r\n[00:44.22]我跟街舞亲热\r\n[00:45.97]我灌溉原则\r\n[00:47.07]培养一种独特\r\n[00:48.76]观念不及格\r\n[00:49.81]其他全部是垃圾\r\n[00:51.21]用态度扩张地盘\r\n[00:52.46]到底什么意思\r\n[00:53.55]怎么一回事\r\n[00:54.45]广场的鸽子\r\n[00:55.30]占领头版的报纸\r\n[00:56.85]一种全新的解释\r\n[00:58.04]标题关于这座城市\r\n[00:59.69]关于一种学习考试\r\n[01:01.04]和年轻就该有的本事\r\n[01:02.48]动感地带的交通号志\r\n[01:04.13]到底离我有几公尺\r\n[01:05.72]我说老师\r\n[01:06.52]我是不是真的不懂事\r\n[01:08.12]听我念饶舌歌词\r\n[01:09.42]欣赏我打拳的样子\r\n[01:10.81]我站在教室练拳方式\r\n[01:12.61]你的样子线条一致\r\n[01:14.01]隔壁的小姑娘\r\n[01:15.10]公开表演需要勇气\r\n[01:16.65]别人玩线上游戏\r\n[01:17.95]我偏耍猴戏\r\n[01:19.19]我用形意猴拳在练习\r\n[01:20.89]引你注意\r\n[01:21.78]如果觉得有趣\r\n[01:22.93]不要吝啬示个好意\r\n[01:25.23]青春是干净的纯白\r\n[01:27.98]像一片绿地的窗外\r\n[01:30.82]我将记忆的门打开\r\n[01:33.70]把所有发生的事记下来\r\n[01:36.75]在我地盘这\r\n[01:37.89]你就得听我的\r\n[01:39.54]把音乐收割\r\n[01:40.69]用听觉找快乐\r\n[01:42.43]开始在雕刻\r\n[01:43.58]我个人的特色\r\n[01:45.23]未来难预测\r\n[01:46.33]坚持当下的选择\r\n[01:47.82]在我地盘这\r\n[01:49.22]你就得听我的\r\n[01:50.91]节奏在招惹\r\n[01:52.01]我跟街舞亲热\r\n[01:53.76]我灌溉原则\r\n[01:54.81]培养一种独特\r\n[01:56.45]观念不及格\r\n[01:57.60]其他全部是垃圾\r\n[01:59.47]那弹钢琴的孩子\r\n[02:01.02]正用他们的手指\r\n[02:02.41]弹奏未来的历史\r\n[02:03.66]我用手机传中文字\r\n[02:05.41]那传输的速度\r\n[02:06.41]绝对会让你们竖起大拇指\r\n[02:11.17]生活不该有公式\r\n[02:12.32]我可以随性跳芭蕾舞\r\n[02:13.81]照节拍手放开\r\n[02:15.26]静下来像一只天鹅\r\n[02:16.86]把脚尖踮起来\r\n[02:18.10]讲究速食的这年代\r\n[02:19.83]也可以很天真的说爱\r\n[02:22.02]在我地盘这\r\n[02:23.02]你就得听我的\r\n[02:24.76]把音乐收割\r\n[02:25.96]用听觉找快乐\r\n[02:27.61]开始在雕刻\r\n[02:28.71]我个人的特色\r\n[02:30.40]未来难预测\r\n[02:31.50]坚持当下的选择\r\n[02:33.24]在我地盘这\r\n[02:34.39]你就得听我的\r\n[02:36.09]节奏在招惹\r\n[02:37.19]我跟街舞亲热\r\n[02:38.88]我灌溉原则\r\n[02:39.98]培养一种独特\r\n[02:41.68]观念不及格\r\n[02:42.67]其他全部是垃圾\r\n[03:10.06]在我地盘这\r\n[03:11.11]你就得听我的\r\n[03:12.76]把音乐收割\r\n[03:13.90]用听觉找快乐\r\n[03:15.60]开始在雕刻\r\n[03:16.70]我个人的特色\r\n[03:18.39]未来难预测\r\n[03:19.54]坚持当下的选择\r\n[03:32.71]在我地盘这\r\n[03:33.71]你就得听我的\r\n[03:35.35]把音乐收割\r\n[03:36.40]用听觉找快乐\r\n[03:38.15]开始在雕刻\r\n[03:39.29]我个人的特色\r\n[03:40.94]未来难预测\r\n[03:42.09]坚持当下的选择\r\n[03:43.88]在我地盘这\r\n[03:44.93]你就得听我的\r\n[03:46.58]节奏在招惹\r\n[03:47.73]我跟街舞亲热\r\n[03:49.47]我灌溉原则\r\n[03:50.52]培养一种独特\r\n[03:52.27]观念不及格\r\n[03:53.36]其他全部是垃圾\r\n",
    "quality": "高品质 MP3 (320kbps)",
    "duration": "4分5秒",
    "bitrate": "320"
  },
  "cached_time": "2026-01-03 15:39:41"
}

错误码格式说明:

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

代码示例:


<?php
// 初始化cURL会话
$ch = curl_init();
// 设置请求URL,用户中心获取token,自行替换其他参数
curl_setopt($ch, CURLOPT_URL, "https://apicx.asia/api/migu?gm=周杰伦&n=1&br=320");
// 设置请求头
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/migu?gm=周杰伦&n=1&br=320"
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/migu?gm=周杰伦&n=1&br=320", {
    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/migu?gm=周杰伦&n=1&br=320");
        // 打开连接
        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/migu?gm=周杰伦&n=1&br=320");
            // 将响应解析为字符串
            string responseBody = await response.Content.ReadAsStringAsync();
            // 输出JSON数据
            Console.WriteLine(responseBody);
        }
    }
}
            

require 'net/http'
require 'uri'

# 创建URI对象,用户中心获取token,自行替换其他参数
uri = URI.parse("https://apicx.asia/api/migu?gm=周杰伦&n=1&br=320")
# 创建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/migu?gm=周杰伦&n=1&br=320", 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))
}