Meting-API 接口调用教程

接口地址已更新:api-music.liveling.top 即将下线,之后只维护 meting.liveling.top。 路径、参数、返回格式完全一致,把域名换掉就行,其他代码不用动。本文所有示例都已改用新地址。

- https://api-music.liveling.top/api?server=netease&type=song&id=1840459406
+ https://meting.liveling.top/api?server=netease&type=song&id=1840459406

具体下线时间以站长公告为准,新项目请直接使用新地址。

一个 GET 接口,就能拿到网易云 / QQ 音乐 / 酷狗音乐的歌曲、播放链接、歌词、封面~服务由站长自费维护,纯公益性质,仅供个人学习与测试使用,网易云这边已经配好 VIP Cookie,会员歌曲也能解析(QQ 音乐没有配会员 Cookie,只能查信息、放不了音频)。


一、30 秒上手

把下面这串丢进浏览器地址栏,直接回车:

https://meting.liveling.top/api?server=netease&type=song&id=1840459406

会看到:

[{"title":"热爱105°C的你","author":"阿肆","pic":"https://p2.music.126.net/0an3_G-gKvbAMiII-nVD_A==/109951172884054135.jpg","url":"https://meting.liveling.top/api?server=netease&type=url&id=1840459406","lrc":"https://meting.liveling.top/api?server=netease&type=lrc&id=1840459406"}]

「Super Idol 的笑容」已经蹦蹦跳跳来到你面前啦。教程到这儿其实就能用了,下面只是把细节讲清楚。


二、这次更新改了什么

老教程是两平台(网易云 + QQ)时代的版本,现在接口长胖了,先看差异表,老读者看这段就够:

项目 旧教程 现在
平台 netease / tencent 增加 kugou
type 7 种 新增 album(专辑曲目)
音质 无 type=url 支持 quality 参数,网易云可选无损 / 母带
QQ 音乐播放 可用 无会员 Cookie,url 基本 404,只能查信息
拿不到直链 403 404({"error":"no url"}),不再 302 到占位页
MetingJS meting@2.0.1 建议 @xizeyoupan/meting@latest
错误码 200/302/400/403/429/500 补 404 / 502,429 带明确配额说明

三、参数说明

只有一个接口 /api,三个必填参数 + 一个可选参数:

参数 必填 说明
server 是 平台:netease / tencent / kugou,默认 tencent
type 是 查什么:song / album / playlist / artist / search / url / lrc / pic
id 是 歌曲 / 专辑 / 歌单 / 歌手 ID,或搜索关键词
quality 否 音质,只影响 type=url,默认 standard
  • id 只允许字母、数字、_、,、-(搜索关键词放宽,但不能有 <>{} 这类字符)。
  • 多个 ID 可以逗号分隔一次查:id=347230,347231。
  • /api/(带尾斜杠)与 /api 等价。

各 type 支持的平台

type 说明 netease tencent kugou
song 单曲信息 ✅ ✅ ✅
album 专辑曲目 ✅ ✅ ✅
playlist 歌单 ✅ ✅ ✅
artist 歌手歌曲 ✅ ❌ ✅
search 关键词搜索 ✅ ❌ ✅
url 播放链接 ✅ ✅† ✅*
lrc 歌词(含翻译) ✅ ✅ ✅
pic 封面图片 ✅ ✅ ✅

* 酷狗的直链需要 Cookie(t + KugooID),没有时 url 返回 404。

† QQ 音乐的 url 需要会员 Cookie,本站没有配,实际基本都返回 404;song / album / playlist / lrc / pic 正常(详见 ⑨)。

目前可用的平台就是这三个。


四、各类型怎么用

下面这些示例都在 https://meting.liveling.top 实测过,直接复制就行,放心抄作业~

① 单曲信息 song

返回的 url / pic / lrc 字段是指向本接口的链接,要拿音频本体,再请求对应的 url 接口。

https://meting.liveling.top/api?server=netease&type=song&id=1840459406

② 播放链接 url(重点)

返回 302,Location 头指向真实音频地址。播放器 / 浏览器跟随跳转,音乐就咕咚咕咚响起来啦:

https://meting.liveling.top/api?server=netease&type=url&id=1840459406

响应形如:

HTTP/1.1 302 Found
location: https://m701.music.126.net/.../xxx.mp3

想听好一点,加 quality:

https://meting.liveling.top/api?server=netease&type=url&id=1840459406&quality=lossless

拿不到直链时返回 404({"error":"no url"}),不会再跳到奇怪的占位页。会员歌、地区限制、曲目本身没有该音质,都会走到这里。

③ 歌词 lrc

返回标准 LRC 纯文本,翻译自动合并:

https://meting.liveling.top/api?server=netease&type=lrc&id=1840459406
[00:00.000] 作词 : 阿肆
[00:00.159] 作曲 : 阿肆
[00:00.318] 编曲 : 栾卓忻
[00:00.638]Super Idol的笑容
[00:02.043]都没你的甜
[00:03.907]八月正午的阳光
[00:05.863]都没你耀眼

④ 封面 pic

同样 302,轻轻一跳就到封面图啦。

https://meting.liveling.top/api?server=netease&type=pic&id=1840459406

酷狗的 pic 返回的是歌手头像——上游只给这张图,不是专辑封面。

⑤ 歌单 playlist

返回整个歌单的歌曲数组。ID 从网易云歌单页 URL 里拿。

https://meting.liveling.top/api?server=netease&type=playlist&id=7326220405

⑥ 专辑 album(新增)

https://meting.liveling.top/api?server=netease&type=album&id=34720827

周杰伦《床边故事》整张专辑,十首一次给你:

[{"title":"床边故事","author":"周杰伦","pic":"https://p2.music.126.net/.../3265549553028224.jpg","url":"https://meting.liveling.top/api?server=netease&type=url&id=415792916","lrc":"https://meting.liveling.top/api?server=netease&type=lrc&id=415792916"}]

QQ 音乐也有专辑:?server=tencent&type=album&id=000MkMni19ClKG。

⑦ 歌手歌曲 artist

5771 是许嵩,11564 是凤凰传奇。歌手 ID 从网易云歌手主页 URL 里拿。

https://meting.liveling.top/api?server=netease&type=artist&id=5771

只有网易云和酷狗支持 artist,QQ 音乐不支持。

关键词直接填中文。在代码 / curl 里记得 URL 编码。

https://meting.liveling.top/api?server=netease&type=search&id=%E5%AD%A4%E5%8B%87%E8%80%85

有小惊喜:搜「孤勇者」你会收到一份「大型演唱会现场」——陈奕迅原版打头,往下翻有《奥特曼之歌(星云孤勇者律动舞曲)》《孤勇者(DJ版)》《孤勇者(童声版)》《孤勇者(35秒)》《孤勇者-陈奕迅(伴奏钢琴版)》……搜一首歌,白送一个综艺盛典,赚到啦。

search 有每日配额(默认单 IP 300 次),超了返回 429 并带 Retry-After,次日 00:00 恢复。省着点用。

⑨ QQ 音乐

003XMyG91NpwQ1 是凤凰传奇的《奢香夫人》在 QQ 音乐上的 ID(也叫 songmid)。返回会多一个 songmid 字段:

https://meting.liveling.top/api?server=tencent&type=song&id=003XMyG91NpwQ1
[{"author":"凤凰传奇","title":"奢香夫人","pic":"https://y.gtimg.cn/music/photo_new/T002R300x300M0000021YkiD1WR578.jpg","url":"https://meting.liveling.top/api?server=tencent&type=url&id=003XMyG91NpwQ1","lrc":"https://meting.liveling.top/api?server=tencent&type=lrc&id=003XMyG91NpwQ1","songmid":"003XMyG91NpwQ1"}]

QQ 音乐只查信息,不放音频:站长没有配 QQ 音乐的会员 Cookie,type=url 基本都返回 404(《奢香夫人》实测就是 {"error":"no url"})。song / album / playlist / lrc / pic 都正常,拿歌名、歌词、封面没问题;要真正播放,请换网易云。

另外 QQ 音乐本身有地区限制(海外访问拿不到直链),配上 Cookie 也绕不过去。


五、音质 quality

只有 type=url 认这个参数,默认 standard。列表接口返回的 url 字段会自动带上同一个值。

值 网易云 QQ 音乐 会员要求 常见简写
standard MP3 128kbps M500 128kbps 无需会员 128 128k std
higher MP3 192kbps M800 320kbps(QQ 无 192k 档) 无需会员 192 192k
exhigh MP3 320kbps M800 320kbps 部分需会员 320 320k hq
lossless FLAC 无损 F000 FLAC 多数需会员 flac sq
hires FLAC 24bit / 48kHz 起 F000 FLAC(不高于无损) 需付费会员 hi-res hi_res hr
jyeffect 高清环绕声 不支持,回落 128kbps 需付费会员 effect
sky 沉浸环绕声 不支持,回落 128kbps 需付费会员 —
jymaster 超清母带 F000 FLAC(不高于无损) 需付费会员 master
  • QQ 音乐没有配会员 Cookie,url 基本都 404,上表 QQ 一列只作能力对照;想听高品质(包括无损)请用网易云。

  • 传表外的值直接 400,并且会把可选值列给你:

    {"status":400,"message":"quality 参数不合法,可选值:standard / higher / exhigh / lossless / hires / jyeffect / sky / jymaster","param":{"quality":"ultra"}}
    
  • 没有对应会员、或曲目本身没有该音质时,上游可能回落到较低音质;完全拿不到直链就 404。

  • 酷狗暂时忽略 quality,按平台默认规格返回。

  • 缓存键包含音质,不会把 320k 和无损串用。


六、响应头与缓存

接口带响应缓存(直链 10 分钟,歌单/歌手 30 分钟,其余 60 分钟),所以偶尔会看到「明明改了 ID 还是老数据」——那是缓存,不是 bug。

响应头 说明
X-Cache HIT 命中缓存 / MISS 回源
X-Audio-Quality 回显你请求的音质
X-Audio-Quality-Actual 上游实际命中的音质(可能被回落)
X-Audio-Bitrate 实际码率(网易云)
X-Robots-Tag noindex,接口不参与搜索收录

七、常用调用方式

curl

# 单曲信息
curl "https://meting.liveling.top/api?server=netease&type=song&id=1840459406"

# 直接下载歌曲(-L 跟随 302)
curl -L "https://meting.liveling.top/api?server=netease&type=url&id=1840459406" -o song.mp3

# 无损
curl -L "https://meting.liveling.top/api?server=netease&type=url&id=1840459406&quality=lossless" -o song.flac

# 歌词
curl "https://meting.liveling.top/api?server=netease&type=lrc&id=1840459406"

JavaScript

const base = 'https://meting.liveling.top/api';

// 获取歌单
const res = await fetch(`${base}?server=netease&type=playlist&id=7326220405`);
const songs = await res.json();

// 播放第一首(url 字段自动 302 到真实音频)
const audio = new Audio(songs[0].url);
audio.play();

// 歌词
const lrc = await (await fetch(songs[0].lrc)).text();

Python

import requests

base = "https://meting.liveling.top/api"

# 搜索
r = requests.get(base, params={"server": "netease", "type": "search", "id": "孤勇者"})
songs = r.json()

# 下载第一首(requests 默认跟随 302)
r = requests.get(songs[0]["url"], stream=True)
with open("song.mp3", "wb") as f:
    for chunk in r.iter_content(chunk_size=8192):
        f.write(chunk)

前端 MetingJS 播放器

用 @xizeyoupan/meting(旧版 meting@2.0.1 拿 QQ 音乐直链容易失败,建议换掉)。引入前先声明 API 地址:

<script>
var meting_api = 'https://meting.liveling.top/api?server=:server&type=:type&id=:id&auth=:auth&r=:r';
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css">
<div id="player"></div>
<script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@xizeyoupan/meting@latest/dist/Meting.min.js"></script>
<script>
new Meting({
  server: "netease",
  type: "playlist",
  id: "7326220405",
}).mount("#player");
</script>

八、错误码

状态码 含义 怎么处理
200 成功 —
302 重定向到真实音频 / 图片 客户端跟随跳转即可
400 参数不合法 看响应里的 message / param,检查 server、type、id、quality
403 该客户端不允许访问 /api 抓取型 UA(如 YisouSpider)被拦,换正常 UA
404 没有可播放链接 / 没有封面 会员歌、地区限制、曲目无该音质,或 ID 不存在(QQ 音乐的 url 基本都走这里)
429 请求太频繁 / 搜索配额用尽 看 Retry-After,歇一会儿再来
502 上游平台不可用 上游异常,稍后重试

错误响应都是 JSON,带人话解释,比如:

{"error":"upstream unavailable","message":"<平台> 上游没有返回有效曲目,请稍后重试"}

九、调试小工具

地址 用途
https://meting.liveling.top/test 在线试听页:填 server/type/id 直接听、看歌词、看错误
https://meting.liveling.top/api/stats 调用量、缓存命中率等统计
https://meting.liveling.top/robots.txt 已 Disallow: /api,接口本就不打算被爬

调不通的时候先上 /test 页,比对着文档猜快得多。


十、公益与使用须知(认真脸)

这个接口是站长个人自费维护的公益服务,初衷是方便做播放器、写小工具的朋友们学习玩耍。所以有几件小事想拜托你:

  • 别拿它当下载器:限流是 60 次 / 分钟 / IP,搜索另有 300 次 / 天 / IP 的配额。大家都要用,别一个人把资源都薅走啦。
  • 别批量抓取:整站搬运、离线歌库这类事,会给服务器和音乐平台带来压力,会让这个小公益变脆弱的。
  • 别商用:公益服务撑不起商业流量,商用请自行部署(Meting-API 是开源的)或联系站长,大家都有蛋糕吃。
  • 低调使用:音乐版权属于音乐人和平台,这个接口只是技术上的「搬运小助手」,请尊重版权。

auth、r 参数是 MetingJS 自动带的,手动调用不用管。例子里的歌曲名、歌手只是举例,把 id 换成任何 ID 都一样用。

如果它帮到了你,偷偷分享给同样爱折腾的朋友就好;要是你用它做成了有趣的东西,也欢迎回来说一声~


变更记录

日期 内容
2026-10 补充 album 类型、quality 音质参数与酷狗平台支持;url 无直链改为 404;错误码补充 404 / 502;MetingJS 换 @xizeyoupan/meting
更早 初版:网易云 + QQ 音乐两平台,7 种 type

文中示例均在 https://meting.liveling.top 实测通过(2026-10-29)。接口以服务端实际行为为准,如有出入以站长公告为准。