音频流URL

音质qn参数定义

音质qn参数:

代码含义
0流畅 128K
1标准 192K
2高品质 320K
3无损 FLAC (大会员)

获取音频流URL(web端)

https://www.bilibili.com/audio/music-service-c/web/url

请求方式:GET

注:web端无法播放完整付费歌曲,付费歌曲为30s试听片段

本接口仅能获取192K音质的音频

url参数:

参数名类型内容必要性备注
sidnum音频auid必要

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
7201006:未找到或已下架
72000000:请求错误
msgstr错误信息默认为success
dataobj数据本体

data对象:

字段类型内容备注
sidnum音频auid
typenum音质标识-1:试听片段(192K)
1:192K
infostr作用尚不明确
timeoutnum有效时长单位为秒
一般为3h
sizenum文件大小单位为字节
type为-1时size为0
cdnsarray音频流url
qualitiesnull-
titlenull-
covernull-

data对象的cdns数组:

类型内容备注
0str音频流url
1str备用音频流url

示例:

curl -G 'https://www.bilibili.com/audio/music-service-c/web/url' \
--data-urlencode 'sid=sid=15664'
查看响应示例:
{
    "code": 0,
    "msg": "success",
    "data": {
        "sid": 15664,
        "type": 1,
        "info": "",
        "timeout": 10800,
        "size": 4853263,
        "cdns": [
            "https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=0ecd3c7a8d9539f260239d8fa4c093db",
            "https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/7bf6a3a3e94421ccc653f005457b1e8c-192k.m4a?deadline=1595331310&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=f3fe53aff56655b1b7264ae4ab65872e"
        ],
        "qualities": null,
        "title": null,
        "cover": null
    }
}

获取音频流URL(可获取付费音频)

https://api.bilibili.com/audio/music-service-c/url

请求方式:GET

认证方式:APP或Cookie(SESSDATA)

注:付费音乐需要有带大会员或音乐包的账号登录(Cookie或APP),否则为试听片段

无损音质需要登录的用户为会员

url参数:

参数名类型内容必要性备注
access_keystrAPP登录TokenAPP方式必要
songidnum音频auid必要
qualitynum音质代码必要详情见上表
privilegenum必须为2必要
midnum当前用户mid必要可为任意值
platformstr平台标识必要可为任意值

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
7201006:未找到或已下架
72000000:请求错误
msgstr错误信息默认为success
dataobj数据本体

data对象:

字段类型内容备注
sidnum音频auid
typenum音质标识-1:试听片段(192K)
0:128K
1:192K
2:320K
3:FLAC
infostr作用尚不明确
timeoutnum有效时长单位为秒
一般为3h
sizenum文件大小单位为字节
type为-1时size为0
cdnsarray音频流url
qualitiesarray音质列表
titlestr音频标题
coverstr音频封面url

data对象的cdns数组:

类型内容备注
0str音频流url
1str备用音频流url

data对象的qualities数组:

类型内容备注
0obj音质1音质由高向低顺序
nobj音质(n+1)

qualities数组中的对象:

字段类型内容备注
typenum音质代码详情见上表
descstr音质名称
sizenum该音质的文件大小单位为字节
bpsstr比特率标签
tagstr音质标签
requirenum是否需要会员权限0:不需要
1:需要
requiredescstr会员权限标签

示例:

获取音频au682118的音频流url,音质为3(无损)

Cookie方式:

curl -G 'https://api.bilibili.com/audio/music-service-c/url
--data-urlencode 'songid=682118' \
--data-urlencode 'quality=3' \
--data-urlencode 'privilege=2' \
--data-urlencode 'platform=android' \
--data-urlencode 'mid=293793435' \
-b 'SESSDATA=xxx'

APP方式:

curl -G 'https://api.bilibili.com/audio/music-service-c/url
--data-urlencode 'access_key=xxx' \
--data-urlencode 'songid=682118' \
--data-urlencode 'quality=3' \
--data-urlencode 'privilege=2' \
--data-urlencode 'platform=android' \
--data-urlencode 'mid=293793435'
查看响应示例:
{
    "code": 0,
    "msg": "success",
    "data": {
        "sid": 682118,
        "type": 3,
        "info": "",
        "timeout": 10800,
        "size": 34456494,
        "cdns": [
            "https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d",
            "https://upos-sz-mirrorks3.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=ks3bv&uparams=deadline,gen,os&upsig=3ac7d94dda5664f6f95dbfffeb289744"
        ],
        "qualities": [
            {
                "type": 3,
                "desc": "无损音质",
                "size": 34456494,
                "bps": "",
                "tag": "SQ",
                "require": 1,
                "requiredesc": "付费享受"
            },
            {
                "type": 2,
                "desc": "高品质",
                "size": 10788682,
                "bps": "320kbit/s",
                "tag": "HQ",
                "require": 0,
                "requiredesc": ""
            },
            {
                "type": 1,
                "desc": "标准",
                "size": 6491973,
                "bps": "192kbit/s",
                "tag": "",
                "require": 0,
                "requiredesc": ""
            },
            {
                "type": 0,
                "desc": "流畅",
                "size": 4343667,
                "bps": "128kbit/s",
                "tag": "",
                "require": 0,
                "requiredesc": ""
            }
        ],
        "title": "aLIEz",
        "cover": "http://i0.hdslb.com/bfs/music/61d3f8cfdce14d2d1b006af59559c9bd22a2d21b.jpg"
    }
}

音频流的获取

data.cdns.[0]data.cdns.[1]中的内容作为url进行GET操作

需要验证请求user-agent 不为空

user-agent错误并且referer不在*.bilibili.com域名下的情况下会导致403 Forbidden,故无法获取

以上述音频url为例:

wget 'https://upos-sz-mirrorkodo.bilivideo.com/ugaxcode/m190102ws2pzf6jitbem841vq2x0du5x-flac.flac?deadline=1595332269&gen=uga&os=kodobv&uparams=deadline,gen,os&upsig=ac2284d97a61ef8758681eccf621c56d' \
-O 'Download_music.flac'

响应正文将返回一个flac文件