{"id":13608735,"url":"https://github.com/LIU9293/musicAPI","last_synced_at":"2025-04-12T17:32:40.514Z","repository":{"id":57305570,"uuid":"76480430","full_name":"LIU9293/musicAPI","owner":"LIU9293","description":"Centralized package to get data from qq, xiami, netease music","archived":false,"fork":false,"pushed_at":"2018-01-28T12:39:19.000Z","size":515,"stargazers_count":485,"open_issues_count":4,"forks_count":72,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-09T03:34:44.585Z","etag":null,"topics":["api","music","netease","skd","xiami"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/LIU9293.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":"2016-12-14T17:09:15.000Z","updated_at":"2025-03-18T21:47:27.000Z","dependencies_parsed_at":"2022-09-02T05:50:32.447Z","dependency_job_id":null,"html_url":"https://github.com/LIU9293/musicAPI","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/LIU9293%2FmusicAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIU9293%2FmusicAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIU9293%2FmusicAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LIU9293%2FmusicAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LIU9293","download_url":"https://codeload.github.com/LIU9293/musicAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248605306,"owners_count":21132147,"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","music","netease","skd","xiami"],"created_at":"2024-08-01T19:01:29.573Z","updated_at":"2025-04-12T17:32:35.494Z","avatar_url":"https://github.com/LIU9293.png","language":"JavaScript","readme":"# Centralized Node.js API for Netease, QQ, Xiami music\n\n![travis](https://travis-ci.org/LIU9293/musicAPI.svg?branch=master)\n![prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)\n\n\u003e This SDK provide simple API interface based on Promise, netease API is get\nfrom github, qq api is get from y.qq.com and xiami api is get from xiami Mac App.\n Please make no commerical use of this project.\n\n```\nnpm install music-api --save\n```\n## Basic usage\n```javascript\nconst musicAPI = require('music-api');\n\nmusicAPI.searchSong('netease', {\n  key: '陈粒',\n  limit: 10,\n  page: 1,\n})\n  .then(res =\u003e console.log(res))\n  .catch(err =\u003e console.log(err))\n\n```\n\n## Run local\n```shell\ngit clone https://github.com/LIU9293/musicAPI.git\ncd musicAPI\nnpm install\nnpm start\n\n// open another terminal\ncurl http://localhost:8080/api/search/song/all?key=taylor\u0026limit=5\u0026page=1\n\n```\n\n## Usage\n - [x] search songs.\n - [x] search playlist.(xiami collects)\n - [x] search albums.\n - [x] get song play url.\n - [x] get playlist detail.\n - [x] get album detail.\n - [x] get suggestions albums.\n - [ ] get artists' detail.\n - [x] raw data / converted data available.\n\n## API\n\n - **musicAPI.searchSong(vendor, query)**\n\n   ```\n   vendor: one if ['netease', 'xiami', 'qq', 'all'];\n   query: {\n     key: KEY,\n     limit: 10,\n     page: 1,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/search/song/netease?key=刘瑞琦\u0026limit=5\u0026page=1](https://music-api-jwzcyzizya.now.sh/api/search/song/netease?key=刘瑞琦\u0026limit=5\u0026page=1)\n\n - **musicAPI.searchAlbum(vendor, query)**\n\n   ```\n   vendor: one if ['netease', 'xiami', 'qq', 'all'];\n   query: {\n     key: KEY,\n     limit: 10,\n     page: 1,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/search/album/xiami?key=范宗沛\u0026limit=5\u0026page=1](https://music-api-jwzcyzizya.now.sh/api/search/album/xiami?key=范宗沛\u0026limit=5\u0026page=1)\n\n - **musicAPI.searchPlaylist(vendor, query)**\n\n   ```\n   vendor: one if ['netease', 'xiami', 'qq', 'all'];\n   query: {\n     key: KEY,\n     limit: 10,\n     page: 1,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/search/playlist/qq?key=周杰伦\u0026limit=5\u0026page=1](https://music-api-jwzcyzizya.now.sh/api/search/playlist/qq?key=周杰伦\u0026limit=5\u0026page=1)\n\n - **musicAPI.getSong(vendor, query)** (not work with raw now, keep it false)\n\n   ```\n   vendor: one of ['netease', 'xiami', 'qq'];\n   query: {\n     id: songID,\n     raw: true or false\n     br: Bit rate (only support Netease ! default is 999000, example 128000 or 192000 or 320000)\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/get/song/qq?id=003OUlho2HcRHC](https://music-api-jwzcyzizya.now.sh/api/get/song/qq?id=003OUlho2HcRHC)\n\n - **musicAPI.getAlbum(vendor, query)**\n\n   ```\n   vendor: one of ['netease', 'xiami', 'qq'];\n   query: {\n     id: albumID,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/get/album/qq?id=002J7XNt2m9sNc](https://music-api-jwzcyzizya.now.sh/api/get/album/qq?id=002J7XNt2m9sNc)\n\n - **musicAPI.getPlaylist(vendor, query)**\n\n   ```\n   vendor: one of ['netease', 'xiami', 'qq'];\n   query: {\n     id: playlistID,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/get/playlist/netease?id=461600464](https://music-api-jwzcyzizya.now.sh/api/get/playlist/netease?id=461600464)\n\n - **musicAPI.getSuggestAlbums(vendor, query)**\n\n   ```\n   vendor: one of ['all', 'xiami', 'qq'];\n   query: {\n     limit: limit,\n     raw: true or false\n   }\n   ```\n   example: [https://music-api-jwzcyzizya.now.sh/api/suggest/album/all?limit=10](https://music-api-jwzcyzizya.now.sh/api/suggest/album/all?limit=10)\n","funding_links":[],"categories":["Public APIs","JavaScript","APIs"],"sub_categories":["Music"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLIU9293%2FmusicAPI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLIU9293%2FmusicAPI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLIU9293%2FmusicAPI/lists"}