npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

angular-echonest

v0.2.6

Published

Echonest adapter for AngularJS.

Readme

Angular-echonest v0.2.6 Build Status

Angular-echonest allows you to easily call Echo Nest methods in AngularJS.

Uses EchoNest API v4.

Installation

var myApp = angular.module('myApp', [
  'angular-echonest'
]);

myApp.config(['EchonestProvider', function(EchonestProvider) {
  EchonestProvider.setApiKey('apiKey');
}]);

Get an API key.

Usage

myApp.controller('SomeCtrl', function($scope, Echonest) {
  ...
});

Tests

npm install
bower install angular
bower install angular-mocks

grunt karma:unit

Artists Methods

  • search - Search artists.
  • get - Get artist by id or name.
  • topHot - Return a list of the top hottt artists.
  • suggest - Suggest artists based upon partial names. This method will return a list of potential artist matches based upon a query string. The method returns the most familiar best matching artist for the query.
  • extract - Extract artist names from text.

Artist Methods

  • getBiographies - Get a list of artist biographies.
  • getBlogs - Get a list of blog articles related to an artist.
  • getImages - Get a list of artist images.
  • getNews - Get a list of news articles found on the web related to an artist.
  • getReviews - Get reviews related to an artist's work.
  • getSongs - Get a list of songs created by an artist.
  • getFamiliarity - Get our numerical estimation of how familiar an artist currently is to the world.
  • getHotnes - Returns our numerical description of how hottt an artist currently is.
  • getSimilar - Return similar artists given one or more artists for comparison. The Echo Nest provides up-to-the-minute artist similarity and recommendations from their real-time musical and cultural analysis of what people are saying across the Internet and what the music sounds like.
  • getTerms - Get a list of most descriptive terms for an artist.
  • getTwitter - Gets the twitter handle for an artist.
  • getUrls - Get links to the artist's official site, MusicBrainz site, MySpace site, Wikipedia article, and official URL.
  • getVideo - Get a list of video documents found on the web related to an artist.

Artist Api Doc

Songs Methods

  • search - Search for songs given different query types.
  • get - Get song by id or track_id.
  • identify - Identifies a song given an Echoprint or Echo Nest Musical Fingerprint hash codes.

Song Api Doc

Example

Get artist songs

// Multiple requests
Echonest.artists.get({
  name: 'nirvana'
}).then(function(artist) {
  return artist.getSongs();
}).then(function(artist) {
  console.log(artist.songs); // -> {id: "ARH3S5S1187FB4F76B", name: "Nirvana", songs: Array[15]}
});

// or

// Single request
Echonest.artists.get({
  name: 'nirvana',
  bucket: 'songs'
}).then(function(artist) {
  console.log(artist); // -> {id: "ARH3S5S1187FB4F76B", name: "Nirvana", songs: Array[15]}
});

Search for artists from the Boston area

Echonest.artists.search({ 
  artist_location: 'boston',
  results: 3
}).then(function(artists) {
  console.log(artists); // -> [{id: "AR12F2S1187FB56EEF", name: "Aerosmith"}, {...}, {...}]
});

Get artist by name

Echonest.artists.get({ 
  name: 'motorhead'
}).then(function(artist) {
  console.log(artist); // -> {id: "AR212SC1187FB4A4F9", name: "Motörhead"}
});

Get top 3 rock artists

Echonest.artists.topHot({
  genre: 'rock',
  results: 10
}).then(function(artists) {
  console.log(artists); // -> [{id: "ARUJ5A41187FB3F5F1", name: "U2"}, {...}, {...}]
});

Get song by artist and title

Echonest.songs.search({
  artist: 'radiohead',
  title: 'karma police'
}).then(function(songs) {
  console.log(songs); // -> [{artist_id: "ARH6W4X1187B99274F", artist_name: "Radiohead", id: "SOHJOLH12A6310DFE5", title: "Karma Police"}, {...}]
});

Get song by id

Echonest.songs.get({
  id: 'SOCZMFK12AC468668F'
}).then(function(song) {
  console.log(song); // -> {artist_id: "ARZHQSP12FE086C216", id: "SOCZMFK12AC468668F", artist_name: "Wil-Lean", title: "Stay Fly"}
});

Get song by code, artist and title

Echonest.songs.identify({
  artist: 'Michael Jackson',
  title: 'Billie Jean',
  code: 'eJxVlIuNwzAMQ1fxCDL133-xo1rnGqNAEcWy_ERa2aKeZmW9ustWVYrXrl5bthn_laFkzguNWpklEmoTB74JKYZSPlbJ0sy9fQrsrbEaO9W3bsbaWOoK7IhkHFaf_ag2d75oOQSZczbz5CKA7XgTIBIXASvFi0A3W8pMUZ7FZTWTVbujCcADlQ_f_WbdRNJ2vDUwSF0EZmFvAku_CVy440fgiIvArWZZWoJ7GWd-CVTYC5FCFI8GQdECdROE20UQfLoIUmhLC7IiByF1gzbAs3tsSKctyC76MPJlHRsZ5qhSQhu_CJFcKtW4EMrHSIrpTGLFqsdItj1H9JYHQYN7W2nkC6GDPjZTAzL9dx0fS4M1FoROHh9YhLHWdRchQSd_CLTpOHkQQP3xQsA2-sLOUD7CzxU0GmHVdIxh46Oide0NrNEmjghG44Ax_k2AoDHsiV6WsiD6OFm8y-0Lyt8haDBBzeMlAnTuuGYIB4WA2lEPAWbdeOabgFN6TQMs6ctLA5fHyKMBB0veGrjPfP00IAlWNm9n7hEh5PiYYBGKQDP-x4F0CL8HkhoQnRWN997JyEpnHFR7EhLPQMZmgXS68hsHktEVErranvSSR2VwfJhQCnkuwhBUcINNY-xu1pmw3PmBqU9-8xu0kiF1ngOa8vwBSSzzNw=='
}).then(function(songs) {
  console.log(songs); // -> [{artist_id: "ARXPPEY1187FB51DF4", artist_name: "Michael Jackson", id: "SODJXOA1313438FB61", message: "OK (match type 5)", score: 54, title: "Billie Jean"}]
});

TO DO

  • Genre API Methods
  • Track API Methods