{"id":14989526,"url":"https://github.com/rain120/qq-music-api","last_synced_at":"2025-05-14T23:07:38.143Z","repository":{"id":38787309,"uuid":"185423719","full_name":"Rain120/qq-music-api","owner":"Rain120","description":"QQ 音乐API koa2实现","archived":false,"fork":false,"pushed_at":"2025-01-01T03:25:54.000Z","size":15166,"stargazers_count":863,"open_issues_count":21,"forks_count":220,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-14T23:07:26.643Z","etag":null,"topics":["api","apis","koa2","music","nodejs","qq","qq-music","qq-music-api"],"latest_commit_sha":null,"homepage":"https://rain120.github.io/qq-music-api/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rain120.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-05-07T14:55:19.000Z","updated_at":"2025-05-14T15:07:23.000Z","dependencies_parsed_at":"2024-10-14T01:40:49.171Z","dependency_job_id":"ab9686b9-3b7e-4d14-9915-bade1a75598a","html_url":"https://github.com/Rain120/qq-music-api","commit_stats":{"total_commits":90,"total_committers":9,"mean_commits":10.0,"dds":"0.21111111111111114","last_synced_commit":"fb7a1b132485f3505cd263b1ed3e3fd43ad15ba7"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rain120%2Fqq-music-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rain120%2Fqq-music-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rain120%2Fqq-music-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rain120%2Fqq-music-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rain120","download_url":"https://codeload.github.com/Rain120/qq-music-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254243362,"owners_count":22038046,"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":["api","apis","koa2","music","nodejs","qq","qq-music","qq-music-api"],"created_at":"2024-09-24T14:18:30.335Z","updated_at":"2025-05-14T23:07:33.137Z","avatar_url":"https://github.com/Rain120.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eQQ Music API\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src='music.png' /\u003e\n\n![GitHub watchers](https://img.shields.io/github/watchers/rain120/qq-music-api?style=social) ![GitHub stars](https://img.shields.io/github/stars/rain120/qq-music-api?style=social) ![GitHub forks](https://img.shields.io/github/forks/rain120/qq-music-api?style=social)\n\u003cbr /\u003e\n![node](https://img.shields.io/node/v/koa?style=flat-square)\n\u003cbr /\u003e\n![GitHub repo size](https://img.shields.io/github/repo-size/rain120/qq-music-api?style=flat-square) ![GitHub package.json version](https://img.shields.io/github/package-json/v/rain120/qq-music-api?style=flat-square) ![GitHub](https://img.shields.io/github/license/rain120/qq-music-api?style=flat-square) ![GitHub open issues](https://img.shields.io/github/issues/rain120/qq-music-api?style=flat-square) ![GitHub closed issues](https://img.shields.io/github/issues-closed/rain120/qq-music-api) ![GitHub last commit](https://img.shields.io/github/last-commit/rain120/qq-music-api?style=flat-square) ![GitHub top language](https://img.shields.io/github/languages/top/rain120/qq-music-api?style=flat-square)\n\n\u003c/div\u003e\n\n\u003e QQ音乐API koa2 版本, 通过Web网页版请求QQ音乐接口数据, 有问题请提 [issue](https://github.com/Rain120/qq-music-api/issues)\n\n\u003e 当前代码仅供学习，不可做商业用途\n\n### API结构图\n\n\u003e 目前暂时没有时间做登录模块的接口，欢迎各位大佬给我`PR`, 阿里嘎多\n\n![qq-music](./screenshot/qq-music.png)\n\n### 环境要求\n\n\u003e 因为本项目采用的是`koa2`, 所以请确保你的`node`版本是7.6.0+\n\n```\nnode -v\n```\n### 📦 安装\n\n```\ngit clone git@github.com:Rain120/qq-music-api.git\ncd qq-music-api\nnpm install\n```\n\n### 🔨项目启动\n```\n// npm i -g nodemon\nnpm run start\n\n// or don't install nodemon\nnode app.js\n```\n项目监听端口是`3200`\n\n### 🐳 Docker\n\n```sh\n# local local build\nnpm run build:local-images\n\n# local remote build\nnpm run build:remote-images\n\n# build images\nnpm run build:images\n\n# local run\nnpm run run:images\n\n# remote run\ndocker pull qq-music-api\n```\n\n### 功能特性\n\n- [x] 获取歌曲播放链接 **2021-01-24**\n\n- [x] 支持自定义设置 `cookie` **2021-01-23**\n\n- [x] 获取歌曲 + 专辑图片 **2020-05-24**\n\n- [x] 获取歌手热门歌曲 **2020-07-04**\n\n- [x] 获取QQ音乐产品的下载地址\n\n- [x] 获取歌单分类\n\n- [x] 获取歌单列表\n\n- [x] 获取歌单详情\n\n- [x] 获取MV标签\n\n- [x] 获取MV播放信息\n\n- [x] 获取歌手MV\n\n- [x] 获取相似歌手\n\n- [x] 获取歌手信息\n\n- [x] 获取歌手被关注数量信息\n\n- [x] 获取电台列表\n\n- [x] 获取专辑\n\n- [x] 获取数字专辑\n\n- [x] 获取歌曲歌词\n\n- [x] 获取MV\n\n- [x] 获取新碟信息\n\n- [x] 获取歌手专辑\n\n- [x] ~~获取歌曲VKey~~ **2021-01-24**\n\n- [x] 获取搜索热词\n\n- [x] 获取关键字搜索提示\n\n- [x] 获取搜索结果\n\n- [x] 获取首页推荐\n\n- [x] 获取排行榜单列表\n\n- [x] 获取排行榜单详情\n\n- [x] 获取评论信息(cmd代表的意思没太弄明白)\n\n- [x] 获取票务信息\n\n- [x] 获取歌单详情\n\n- [x] 获取歌手列表\n\n### 使用文档\n\n使用`apis`详见[文档](https://rain120.github.io/qq-music-api/#/)\n\n### 关于项目\n\n**灵感来自**\n\n[Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi)\n\n[Vue2.0开发企业级移动端音乐Web App](https://coding.imooc.com/class/107.html)\n\n**参考内容**\n\n[Koa 2](https://koa.bootcss.com/)\n\n[Axios](https://github.com/axios/axios)\n\n[阮一峰老师 - HTTP Referer 教程](http://www.ruanyifeng.com/blog/2019/06/http-referer.html)\n\n### 项目不足\n\n1. 因为本人没写过`unit test`, 所以本项目尚未添加`unit test`, 等有时间再添加;\n\n2. 登录获取个人信息等接口都没做\n\n#### 🤝 贡献 ![PR](https://img.shields.io/badge/PRs-Welcome-orange?style=flat-square\u0026logo=appveyor)\n\nWe welcome all contributions. You can submit any ideas as [pull requests](https://github.com/Rain120/qq-music-api/pulls) or as a GitHub [issue](https://github.com/Rain120/qq-music-api/issues). \n\n#### 👨‍🏭 作者\n\n\u003e Front-End development engineer, technology stack: React + Typescript + Mobx, also used Vue + Vuex for a while\n\n- [Github](https://github.com/Rain120)\n- [知乎](https://www.zhihu.com/people/yan-yang-nian-hua-120/activities)\n- [掘金](https://juejin.im/user/57c616496be3ff00584f54db)\n\n#### 📝 License\n\n[MIT](https://github.com/Rain120/qq-music-api/blob/master/LICENSE)\n\nCopyright © 2019-present [Rain120](https://github.com/Rain120).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frain120%2Fqq-music-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frain120%2Fqq-music-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frain120%2Fqq-music-api/lists"}