musicmatch
v0.3.2
Published
musicmatch api
Downloads
65
Readme
musicmatch
NodeJS musicmatch api
Install
$ npm install musicmatch
Usage
music = require('musicmatch')({apikey:""});
// or
music = require('musicmatch')();
Methods
| Name | Method | |---|---| |chart.artists.get| chartArtists| |chart.tracks.get| chartTracks| |track.search| trackSearch| |track.get| track| |track.subtitle.get| trackSubtitle| |track.lyrics.get| trackLyrics| |track.snippet.get| trackSnippet| |track.lyrics.post| trackLyricsAdd| |track.lyrics.feedback.post| trackLyricsFeedback| |matcher.lyrics.get| matcherLyrics| |matcher.track.get| matcherTrack| |matcher.subtitle.get| matcherSubtitle| |artist.get| artist| |artist.search.get| artistSearch| |artist.albums.get| artistAlbums| |artist.related.get| artistRelated| |album.get| album| |album.tracks.get| albumTracks|
chartArtists
| Params | Desc | |---|---| | country | A valid country code (default US) | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. |
Example
music.chartArtists({page:1, page_size:3, country:"tr"})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
chartTracks
| Params | Desc | |---|---| | country | A valid country code (default US) | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. | | f_has_lyrics | When set, filter only contents with lyrics |
Example
music.chartTracks({page:1, page_size:3, country:"tr", f_has_lyrics:1})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackSearch
| Params | Desc |
|---|---|
| q | Search within track titles,artists,lyrics |
| q_lyrics |Any word in the lyrics |
| page | Define the page number for paginated results |
| page_size | Define the page size for paginated results. Range is 1 to 100. |
| f_has_lyrics | When set, filter only contents with lyrics |
| f_artist_id | When set, filter by this artist id |
| f_music_genre_id | When set, filter by this music category id |
| f_artist_mbid | When set, filter by this artist musicbrainz id |
| f_lyrics_language | Filter by the lyrics language (en,it,..) |
| s_track_rating | Sort by our popularity index for tracks (asc-desc) |
| s_artist_rating | Sort by our popularity index for artists (asc-desc) |
| quorum_factor | Search only a part of the given query string.Allowed range is (0.1 – 0.9), default is 1 (100%) |
Example
music.trackSearch({q:"Chet Faker - Gold", page:1, page_size:3})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
track
| Params | Desc | |---|---| | track_id | The musiXmatch track id | | track_mbid |The musicbrainz recording id |
Example
music.track({track_id:15445219})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackSubtitle
| Params | Desc | |---|---| | track_id | The musiXmatch track id | | track_mbid |The musicbrainz recording id | |subtitle_format | The format of the subtitle (lrc,dfxp,stledu). Default to lrc | |f_subtitle_length | The desired length of the subtitle (seconds) | |f_subtitle_length_max_deviation| The maximum deviation allowed from the f_subtitle_length (seconds) |
Example
music.trackSubtitle({track_id:15445219})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackLyrics
| Params | Desc | |---|---| | track_id | The musiXmatch track id | | track_mbid |The musicbrainz recording id |
Example
music.trackLyrics({track_id:15445219})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackSnippet
| Params | Desc | |---|---| | track_id | The musiXmatch track id |
Example
music.trackSnippet({track_id:15445219})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackLyricsAdd
| Params | Desc | |---|---| | track_id | The musiXmatch track id | | lyrics_body | The lyrics Example
music.trackLyricsAdd({track_id:15445219, lyrics_body:"example lyrics"})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
trackLyricsFeedback
| Params | Desc | |---|---| |lyrics_id | The musiXmatch lyrics id | |track_id | The musiXmatch track id | |feedback | The feedback to be reported, possible values are: wrong_lyrics, wrong_attribution, bad_characters, lines_too_long, wrong_verses, wrong_formatting | Example
music.trackLyricsFeedback({track_id:15445219, lyrics_id:4193713, feedback:"wrong_verses"})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
matcherLyrics
| Params | Desc | |---|---| | q_track | The song title | | q_artist | The song artist | Example
music.matcherLyrics({q_track:"sexy and i know it", q_artist:"lmfao"})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
matcherTrack
| Params | Desc | |---|---| | q_track | The song title | | q_artist | The song artist | | q_album | The song album | | f_has_lyrics | When set, filter only contents with lyrics | | f_has_subtitle | |
Example
music.matcherTrack({q_artist:"eminem", q_track:"lose yourself"})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
matcherSubtitle
| Params | Desc | |---|---| | q_track | The song title | | q_artist | The song artist | | f_subtitle_length | Filter by subtitle length in seconds | | f_subtitle_length_max_deviation | Max deviation for a subtitle length in seconds |
Example
music.matcherSubtitle({q_track:"sexy and i know it", q_artist:"lmfao", f_subtitle_length:200})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
artist
| Params | Desc | |---|---| | artist_id | The musiXmatch artist id | | artist_mbid | The musicbrainz artist id |
Example
music.artist({artist_id:118})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
artistSearch
| Params | Desc | |---|---| | q_artist | The song artist | | f_artist_id | When set, filter by this artist id | | f_artist_mbid | When set, filter by this artist musicbrainz id | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. |
Example
music.artistSearch({q_artist:"prodigy", page_size:5})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
artistAlbums
| Params | Desc | |---|---| | artist_id | The musiXmatch artist id | | artist_mbid | The musicbrainz artist id | | g_album_name | Group by Album Name | | s_release_date | Sort by release date (asc-desc) | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. |
Example
music.artistAlbums({artist_id:1039, s_release_date:"desc", g_album_name:1})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
artistRelated
| Params | Desc | |---|---| | artist_id | The musiXmatch artist id | | artist_mbid | The musicbrainz artist id | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. |
Example
music.artistRelated({artist_id:56, page_size:2, page:1})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
album
| Params | Desc | |---|---| | album_id | The musiXmatch album id |
Example
music.album({album_id:14250417})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})
albumTracks
| Params | Desc | |---|---| | album_id | The musiXmatch album id | | album_mbid | The musicbrainz album id | | format | Decide the output type (json or xml) | | f_has_lyrics | When set, filter only contents with lyrics | | page | Define the page number for paginated results | | page_size | Define the page size for paginated results. Range is 1 to 100. |
Example
music.albumTracks({album_id:13750844, page:1, page_size:2})
.then(function(data){
console.log(data);
}).catch(function(err){
console.log(err);
})