nodecogs
v0.0.1
Published
A Discogs API v2.0 client
Downloads
6
Readme
Discogs API v2.0 Client
Nodecogs is a thin wrapper that gives you access to the Discogs API (Version 2.0).
Example Usage
Nodecogs asks that you identifying your application so be sure to set the userAgent
. You are strongly encouraged to follow the conventions of RFC 1945
var NC = require('nodecogs');
// Initialize Nodecogs
var nc = new NC({userAgent:'my-awesome-app/0.0.1 ( http://my-awesome-app.com )'});
Setting a custom host
, basePath
and defaultPerPage
(if not set, the defaultPerPage
is 50);
var nc = new NC({host:'localhost', basePath:'/path/to/data/', defaultPerPage:100});
Resources
There are three main resources: Database
, Marketplace
and User
. The current version of Nodecogs
only supports the Database
resource.
Database Resource
The Database resouce contains six resources:
Artists
The artist
resource represents a person in the Discogs database who contributed to a Release in some capacity.
nc.artist(1602787, function(err, response){
console.log(response);
});
Returns a list of Releases and Masters associated with the artist
. Accepts Pagination parameters.
nc.artistReleases(1602787, {page:2, per_page:10}, function(err, response){
console.log(response);
});
If you do not include the pagination perameters, the page
is 1 and the per_page
is 50.
nc.artistReleases(1602787, function(err, response){
console.log(response);
});
Release
The release
resource represents a particular physical or digital object released by one or more Artists.
Look up a release:
nc.release(2113771, function(err, response){
console.log(response);
});
Master
The master
resource represents a set of similar Releases. Masters (also known as “master releases”) have a “main release” which is often the chronologically earliest.
nc.master(220990, function(err, response){
console.log(response);
});
Retrieves a list of all Releases that are versions of this master
. Accepts Pagination parameters.
nc.masterVersions(220990, function(err, response){
console.log(response);
});
Label
The label
resource represents a label, company, recording studio, location, or other entity involved with Artists and Releases. Labels were recently expanded in scope to include things that aren’t labels – the name is an artifact of this history.
nc.label(22532, function(err, response){
console.log(response);
});
Returns a list of Releases associated with the label
. Accepts Pagination parameters.
nc.labelReleases(22532, function(err, response){
console.log(response);
});
Image
The Image resource represents a user-contributed image of a database object, such as Artists or Releases.
nc.image('A-1602787-1368176977-5588.jpeg', function(err, response){
console.log(response);
// "contentType": "image/jpeg",
// "rateLimit": {
// "limit": "1000",
// "remaining": "955",
// "reset": "81631",
// "type": "image"
// },
// "image" : ... // Binary data
});
Search
The Search resource lists objects in the database that meet the criteria you specify.
nc.search({type:'release', country:'UK', page:2, per_page:3}, function(err, response){
console.log(response);
});
Take into the power of Lucene search by using the q
parameter.
nc.search({type:'release', q:'artist:t??l OR artist:afx AND -year:1997'}, function(err, response){
console.log(response);
});
todo
- Rate limits