JerryMusicAPI v1.0
网易云音乐接口服务 — 支持 Vercel 部署 & 本地预览,覆盖 120+ 接口,涵盖登录、搜索、歌曲获取(含 VIP 解灰)、歌单、评论等全功能。
接口概览
| Base URL | http://localhost:3000 |
| 协议 | HTTPS (Vercel) / HTTP (本地) |
| 认证 | Cookie 透传(MUSIC_U)免费 |
| 接口前缀 | /api/ |
| 请求方法 | GET / POST 均可 |
| 返回格式 | JSON |
| CORS | 允许所有来源 (*) |
| 加密方式 | weapi / linuxapi / eapi(自动选择) |
认证与 Cookie
VIP 歌曲获取
VIP 歌曲自动解灰机制(返回完整歌曲,非 30 秒试听)
调用 song/url 或 song/url/v1 时,系统自动检测 VIP 歌曲和试听片段(freeTrialInfo),通过以下策略链获取完整播放地址:
| 优先级 | 策略 | 说明 |
|---|---|---|
| 1 | unblock | 多音源解灰:通过 gdmusic、qijieyaPlus、bikonoo、byfuns、qijieya、msls 等 6 个第三方 API 获取网易云 CDN 完整音频链接。链接来自网易云服务器,确保原版完整歌曲 |
| 2 | netease | eapi + os=pc:模拟网易云桌面客户端请求。若用户提供了 VIP 账号 MUSIC_U Cookie,可获取高品质无损音频 |
| 3 | kuwo | 酷我音乐兜底:通过歌名 + 歌手严格匹配(置信度 ≥ 70 分),仅在其他策略均失败时使用 |
方法一:VIP 账号 Cookie(获取最高品质无损)
# 传入 VIP 账号的 MUSIC_U Cookie,直接获取无损音质
curl "http://localhost:3000/api/song/url?id=210049&cookie=MUSIC_U=你的VIP账号Cookie"
方法二:多音源自动解灰(无需登录)
# 无需 Cookie,系统自动检测并解灰,返回 320kbps 完整歌曲
curl "http://localhost:3000/api/song/url?id=210049"
响应 source 字段标识音源:netease(免费歌曲直连)、unblock(解灰音源)、kuwo(酷我兜底);sourceType 为具体音源名称(如 gdmusic、bikonoo 等)
快速开始
所有接口以 /api/ 为前缀,支持 GET / POST,返回 JSON。
# 搜索歌曲
curl http://localhost:3000/api/search?keywords=稻香
# 获取歌曲 URL(支持 VIP 歌曲,默认最高码率)
curl http://localhost:3000/api/song/url?id=33894312
# 获取歌曲 URL v1(指定音质: standard/exhigh/lossless/hires)
curl "http://localhost:3000/api/song/url/v1?id=33894312&level=exhigh"
# 获取歌词
curl http://localhost:3000/api/song/lyric?id=33894312
# 获取歌单详情
curl http://localhost:3000/api/playlist/detail?id=3778678
# 获取歌曲详情(多个 ID 用逗号分隔)
curl "http://localhost:3000/api/song/detail?ids=33894312,347230"
接口列表
没有找到匹配的接口
代码示例
JavaScript (fetch)
// 搜索歌曲
const resp = await fetch('/api/search?keywords=稻香');
const data = await resp.json();
console.log(data.result.songs[0].name); // "稻香"
// 获取歌曲播放地址(VIP 自动解灰)
const resp2 = await fetch('/api/song/url?id=210049');
const data2 = await resp2.json();
console.log(data2.data[0].url); // 完整播放地址
console.log(data2.data[0].source); // "unblock" 或 "netease"
Python (requests)
import requests
# 搜索歌曲
resp = requests.get('https://your-domain.vercel.app/api/search',
params={'keywords': '稻香'})
data = resp.json()
print(data['result']['songs'][0]['name']) # 稻香
# 获取 VIP 歌曲 URL
resp2 = requests.get('https://your-domain.vercel.app/api/song/url',
params={'id': '210049'})
print(resp2.json()['data'][0]['url'])
Node.js (axios)
const axios = require('axios');
// 获取歌词
const { data } = await axios.get('/api/song/lyric', {
params: { id: '33894312' }
});
console.log(data.lrc.lyric); // 歌词文本
// 登录后获取每日推荐(需 Cookie)
const { data: recs } = await axios.get('/api/recommend/songs', {
params: { cookie: 'MUSIC_U=xxx' }
});
JerryMusicAPI v1.0 · Powered by Node.js & Vercel Serverless Functions · jerrynis.com · 仅供学习研究使用