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 音乐不支持。
⑧ 搜索 search
关键词直接填中文。在代码 / 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)。接口以服务端实际行为为准,如有出入以站长公告为准。
评论交流
欢迎留下你的想法