{"id":13634974,"url":"https://github.com/fython/BilibiliAPIDocs","last_synced_at":"2025-04-19T03:34:10.003Z","repository":{"id":35198687,"uuid":"39457144","full_name":"fython/BilibiliAPIDocs","owner":"fython","description":"哔哩哔哩开放接口第三方文档（仅提供官方曾公开接口）","archived":true,"fork":false,"pushed_at":"2020-09-05T01:06:35.000Z","size":25,"stargazers_count":2408,"open_issues_count":7,"forks_count":384,"subscribers_count":86,"default_branch":"master","last_synced_at":"2024-09-27T02:45:04.364Z","etag":null,"topics":["bilibili-api","documentation"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fython.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-21T16:34:02.000Z","updated_at":"2024-09-26T14:09:00.000Z","dependencies_parsed_at":"2022-07-12T14:02:45.256Z","dependency_job_id":null,"html_url":"https://github.com/fython/BilibiliAPIDocs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fython%2FBilibiliAPIDocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fython%2FBilibiliAPIDocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fython%2FBilibiliAPIDocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fython%2FBilibiliAPIDocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fython","download_url":"https://codeload.github.com/fython/BilibiliAPIDocs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223790230,"owners_count":17203350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bilibili-api","documentation"],"created_at":"2024-08-02T00:00:38.410Z","updated_at":"2024-11-09T05:30:16.192Z","avatar_url":"https://github.com/fython.png","language":null,"readme":"# Bilibili API 第三方文档\n绝大部分内容根据 http://docs.bilibili.cn/wiki 官方文档进行编写\n\u003e 哔哩哔哩开放平台为第三方提供了简便的合作模式，满足了网站、手机和平板电脑用户随时随地观看哔哩哔哩的需求。哔哩哔哩开放平台提供相关接口，以实现第三方WAP站和客户端等多种应用的接入。\n\n### API 分类\n\n[作者推荐](./API.author_recommend.md)；\n[番剧](./API.bangumi.md)；\n[弹幕](./API.comment.md)；\n[动态](./API.dynamic.md)；\n\n[视频/专题收藏、关注](./API.favourite.md)；\n[视频评论](./API.feedback.md)；\n[好友/悄悄关注/黑名单](./API.friend.md)；\n\n[历史记录](./API.history.md)；\n[批量获取排行信息(首页)](./API.index.md)；\n[获取视频排行信息](./API.list.md)；\n\n[登录行为记录](./API.log.md)；\n[第三方登录](./API.login.3rd.md)；\n[登录](./API.login.md)；\n\n[我的信息](./API.myinfo.md)；\n[通知](./API.notify.md)；\n[视频推荐](./API.recommend.md)；\n[搜索](./API.search.md)；\n[读取/创建专题](./API.sp.md)；\n\n[番剧专题](./API.spview.md)；\n[搜索关键词](./API.suggest.md)；\n[标签](./API.tags.md)；\n[用户信息](./API.userinfo.md)；\n[获取视频信息](./API.view.md)。\n\n\n### 注意事项\n\n##### 关于滥用\n以下这些，但并不限于以下这些行为都被视为滥用：\na.短时间内大量操作API用于采集。\nb.测试帐号及密码\nc.其它没有提到的，但会给系统带来压力的请求行为。\n\n##### 禁止登录\n\n如果账号尝试登录错误次数在 30 分钟内超过 5 次则会被禁止登录一个小时，写程序的时候特别是 客户端的时候必须判断是否登录成功，如果不成功必须马上停止尝试。\n\n##### 关于封禁\n\n由于滥用 API 将会导致 API 被封禁，但并不影响在官方网站上的使用，封禁一定的时间后会自动解除，一般需要一个小时后才会解封，所以请小心操作，不要拿 API 进行大量测试\n\n##### 请求地址\n\n请求的地址为 http://api.bilibili.com/ 开头的地址\n\n##### 请求方法\n\n只支持 GET 方法请求数据，用其它方法会提示相关错误。\n\n##### 关于编码\n\n请用 UTF-8 编码进行数据传输，返回的数据也是 UTF-8 编码的。\n\n##### 关于 UserAgent\n\n请求的时候必须设置 UserAgent，如果不设置或者设置为不合法的（比如设置为浏览器的）也会导致账号被封禁 API。 UserAgent 的格式必须为：程序英文名称/版本 (联系邮箱) 比如：BiLiBiLi WP Client/1.0.0 (orz@loli.my)\n\n\n### 通用调用参数\n\n|字段|必选|类型|说明|\n|----|----|----|----|\n|type|false|string (json/xml/jsonp)|返回数据方式 默认json|\n|appkey|true|string|应用appkey|\n|ts|true|int|当前时间截 (UNIX TIMESTAMP)|\n|sign|true|string|应用校验密匙|\n|callback|false|string|JSONp调用方式时回调函数名称|\n|access_key|false|string|应用在用户申请登陆后获取到的access_key 可以此access_key访问需要用户权限的操作|\n|platform|false|string (android/ios)|客户端平台适配及统计用|\n\n### 通用错误代码\n\n|代码|说明|\n|----|----|\n|-1|应用程序不存在或已被封禁|\n|-2|Access key错误|\n|-3|API校验密匙错误|\n|-101|帐号未登陆|\n|-102|帐号被封停|\n|-103|积分不足|\n|-104|硬币不足|\n|-105|验证码错误|\n|-106|帐号未激活|\n|-107|帐号非正式会员或在适应期|\n|-108|应用沒有存取相应功能的权限|\n|-400|请求有误|\n|-403|权限不足|\n|-404|文档不存在|\n|-500|服务器内部错误|\n|-503|调用速度过快|\n\n### 签名(sign)生成方式\n\n把接口所需所有参数拼接，如utk=xx\u0026time=xx，按参数名称排序，最后再拼接上密钥App-Secret，做md5加密 (callback不需要参与sign校检)\n\n##### 代码示例\n\nPHP 版本:\n\n```\n/**\n * @param $params array 参数列表\n * @param $key 加密密钥\n * @return array sign:加密校验串,params:参数拼接串\n */\n function get_sign($params, $key) {\n  $_data = array();\n  ksort($params);\n  reset($params);\n  foreach ($params as $k =\u003e $v) {\n  // rawurlencode 返回的转义数字必须为大写( 如%2F )\n  $_data[] = $k . '=' . rawurlencode($v);\n  }\n  $_sign = implode('\u0026', $_data);\n  return array(\n    'sign' =\u003e strtolower(md5($_sign . $key)),\n    'params' =\u003e $_sign,\n  );\n }\n define(\"APP_SECRET\",\"abcdef123456\");\n get_sign(array(\"type\"=\u003e\"json\"),APP_SECRET);\n```\n\nJS 版本:\n\n```\n\u003cscript type=\"text/javascript\" src=\"http://static.hdslb.com/js/md5.js\"\u003e/script\u003e\n function get_sign(params, key)\n {\n \tvar s_keys = [];\n \tfor (var i in params)\n \t{\n \t\ts_keys.push(i);\n \t}\n \ts_keys.sort();\n \tvar data = \"\";\n \tfor (var i = 0; i \u003c s_keys.length; i++)\n \t{\n \t\t// encodeURIComponent 返回的转义数字必须为大写( 如 %2F )\n \t\tdata+=(data ? \"\u0026\" : \"\")+s_keys[i]+\"=\"+encodeURIComponent(params[s_keys[i]]);\n \t}\n \treturn {\n \t\t\"sign\":hex_md5(data+key),\n \t\t\"params\":data\n \t};\n }\n```\n","funding_links":[],"categories":["Awesome Bilibili","Others"],"sub_categories":["API"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffython%2FBilibiliAPIDocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffython%2FBilibiliAPIDocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffython%2FBilibiliAPIDocs/lists"}