Music API for search results, songs, comments from QQ, Xiami and Netease.
For more information on how to get started and how to use music-api-next
, please see author's blog and comment there. For source files and issues, please visit the github repo.
npm install music-api-next --save
If you are in China, please use:
cnpm install music-api-next --save
const musicAPI = require("music-api-next");
// Search API: search keywords on qq, xiami or netease
musicAPI
.searchSong({
key: "周杰伦",
page: 1,
limit: 10,
vendor: "qq"
})
.then(songs => console.log(songs))
.catch(error => console.log(error.message));
// Song API: get music meta including URL
musicAPI
.getSong({
id: "003OUlho2HcRHC",
vendor: "qq"
})
.then(meta => console.log(meta))
.catch(error => console.log(error.message));
// Comment API: get comments for the specified song
musicAPI
.getComment({
id: "003OUlho2HcRHC",
page: 1,
limit: 20,
vendor: "qq"
})
.then(comments => console.log(comments))
.catch(error => console.log(error.message));
git clone git@github.com:dongyuanxin/music-api-next.git
cd music-api-next
npm install
// run server on port: 5050
node server.js
You can see the results of music APIs by accessing the url.
For example:
- Search API:
http://localhost:5050/search/song?key=周杰伦&page=1&limit=10&vendor=qq
- Song API:
http://localhost:5050/get/song?id=003OUlho2HcRHC&vendor=qq
- Comment API:
http://localhost:5050/get/comment?id=003OUlho2HcRHC&page=1&limit=10&vendor=qq
First, package with webpack.
git clone git@github.com:dongyuanxin/music-api-next.git
cd music-api-next
npm install
// use webpack to package program
// pacakged file named 'music-api-next.js' is placed in ./dist/
webpack
Then, you can move music-api-next.js
very conveniently and use it in the following ways:
const musicAPI = require("./music-api-next");
// ...
-
musicAPI.searchSong(query)
:query: { key: String, page: Number, limit: Number, vendor: one of ['netease', 'xiami', 'qq'] }
-
musicAPI.getSong(query)
:query: { id: String or Number, vendor: one of ['netease', 'xiami', 'qq'] }
-
musicAPI.getComment(query)
:query: { id: String or Number, page: Number, limit: Number, vendor: one of ['netease', 'xiami', 'qq'] }
- It cannot be used for commercial purposes.
- It runs only on NodeJS instead of browser.
- Please use it politely and don't put too much pressure on music platforms.
The code for this project refers to the following open source projects and has been fixed, improved and added on NodeJS.
- listen1_chrome_extension: Has received a lawyer's letter from Tencent. May stop maintenance at the end of the year 2018.
- musicAPI: It has stopped maintenance one year ago. So its APIs are invalid.