Node client for the Genius API.
Installation
$ npm install --save node-genius
Usage
// Instantiate a Genius instance:var Genius = require("node-genius");var geniusClient = new Genius(process.env.GENIUS_ACCESS_TOKEN); // Call functions on that instance:geniusClient.getSong("378195", function (error, song) { if (error) console.error("Whops. Something went wrong:", error); else console.log("Hoorah. Here is the song: ", song);});
Examples
var Genius = require("node-genius");var geniusClient = new Genius(process.env.GENIUS_ACCESS_TOKEN); // Look up an annotation.geniusClient.getAnnotation("6737668", function (error, annotation) {}); // Create an annotation.geniusClient.createAnnotation({ "annotation": { "body": { "markdown": "Genius is **awesome!**" } }, "referent": { "raw_annotatable_url": "http://genius.com/Marianne-moore-marriage-annotated", "fragment": "out of respect for which" }}, function(error, annotation) { }); // Update an annotation.geniusClient.updateAnnotation("123", { "annotation": { "body": { "markdown": "This is an updated annotation" } }}, function(error, annotation) { }); // Permanently delete an annotation.geniusClient.deleteAnnotation("123", function (error, response) {}); // Upvote an annotation.geniusClient.upvoteAnnotation("6737668", function (error, response) {}); // Removes vote (up or down) for the annotation.geniusClient.unvoteAnnotation("6737668", function (error, response) {}); // Downvote an annotation.geniusClient.downvoteAnnotation("6737668", function (error, response) {}); // Look up a song.geniusClient.getSong("378195", function (error, song) {}); // Look up an artist.geniusClient.getArtist("16775", {"text_format": "plain"}, function (error, artist) {}); // Look up songs by the given artist.geniusClient.getArtistSongs("16775", {"page": "1", "per_page": "10"}, function (error, songs) { }); // Look up an album.geniusClient.getAlbum("104614", function (error, album) {}); // Look up all referents/annotations for a song.geniusClient.getReferents({"song_id": "378195", "text_format": "plain"}, function (error, results) {}); // Search Genius.geniusClient.search("Kendrick Lamar", function (error, results) {}); // Look up a web page to which annotations may be attached.geniusClient.getWebPage({"raw_annotatable_url": "https://docs.genius.com"}, function(error, page) { }); // Look up information about the currently authenticated user.geniusClient.getMe(function (error, account) {});