
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
node-songkick
Advanced tools
A node.js wrapper around songkick's API.
You can use npm to install this module:
npm install node-songkick
If you prefer to use the source form github, clone the repo:
git clone https://github.com/carvil/node-songkick.git
After installing/cloning the module, you can open a node console:
node
and require the module:
var Songkick = require("node-songkick");
If you cloned the repo, use this instead:
var Songkick = require("<PATH-TO-node-songkick>");
And create an instance of Songkick
:
var sk = new Songkick("<YOUR API KEY>");
You can request an API key at songkick's website.
After creating an instance, it is possible to query information about artists. More to come in the future (venue, location, events)
Assuming there is a sk
object, it is possible to search for all artists:
sk.artist.all({ page: 1 }, callback)
The params are:
page
and the api key
;An example:
> sk.artist.all({page: 1}, function(r) {console.log(r);})
> { resultsPage:
{ results: { artist: [Object] },
page: 1,
totalEntries: 266226,
perPage: 30 } }
The results
object will contain the first set of results. More examples in specs/fixtures
.
Assuming there is a sk
object, it is possible to search for artists:
sk.artist.search("joe bonamassa", { page: 1, per_page: 25 }, callback)
The params are:
per_page
and page
, besides the api key
and query string
already present;An example:
> sk.artist.search("muse",{},function(r) { console.log(r); } )
> { resultsPage:
{ results: { artist: [Object] },
totalEntries: 0,
perPage: 50,
page: 1,
status: 'ok' } }
The results
object will contain a number of results. More examples in specs/fixtures
.
Assuming there is a sk
object, it is possible to search for an artist's calendar:
sk.artist.calendar("artist_id", 324967,{ per_page: 10, page: 1 }, callback )
The params are:
artist_id
or music_brainz_id
;per_page
and page
, besides the api key
and query string
already present;An example:
> sk.artist.calendar("artist_id", 324967, { per_page: 10 }, function(r) { console.log(r);} )
> { resultsPage:
{ results: { event: [Object] },
totalEntries: 5,
perPage: 10,
page: 1,
status: 'ok' } }
The results
object will contain a number of results. More examples in specs/fixtures
.
Assuming there is a sk
object, it is possible to search for an artist's gigography:
sk.artist.gigography("artist_id", 324967, { per_page: 5, page: 2 }, callback )
The params are:
artist_id
or music_brainz_id
;per_page
and page
, besides the api key
and query string
already present;An example:
> sk.artist.gigography("artist_id", 324967,{ per_page: 10, page: 2 }, function(r) { console.log(r);} )
> { resultsPage:
{ results: { event: [Object] },
totalEntries: 961,
perPage: 10,
page: 2,
status: 'ok' } }
The results
object will contain a number of results. More examples in specs/fixtures
.
In order to run the tests, clone the repo:
git clone https://github.com/carvil/node-songkick.git
cd node-songkick
Install dependencies:
npm install
And the run:
npm test
or
jasmine-node --coffee --verbose ./spec/
jasmine-node --coffee --verbose ./spec/
. If your specs pass, return to step 3.jasmine-node --coffee --verbose ./spec/
. If your specs fail, return to step 5.I only tested this module on node 0.8.0
, therefore I don't know if it will work on previous/more recent
versions. Please let me know if you tried it and if it worked/didn't work.
This was the first time I wrote a node
module. If you find stuff that could be improved or done
differently/in a better way, I would love to hear from you. Feel free to DM me on twitter or
send me a pull request!
Copyright (c) 2012 Carlos Vilhena. See LICENSE for details.
FAQs
A node.js wrapper around the songkick API.
We found that node-songkick demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.