node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


node-prowl - Prowl for Node.js API

Be happy! Send push notifications to iDevices (iPad, iPhone etc) that has the Prowl iPhone app installed. Simple, easy and clean.

As of now this API supports push and only push.


npm install node-prowl

or put it in your package.json as usual and hit npm install. It depends on xml2js and request.


The API requires your API-key, which could be found or created on the "API Keys" tab on the Prowl website.

Initialize it with your key and start pushing!

var Prowl = require('node-prowl');
var prowl = new Prowl('MY-API-KEY');

Now, use the prowl object whenever sending a push:

prowl.push('YO, this is awesomez!', 'My app', function( err, remaining ){
    if( err ) throw err;
    console.log( 'I have ' + remaining + ' calls to the api during current hour. BOOM!' );

You can provide more options to the PUSH notification:

prowl.push('YO, this is awesomez!', 'My app', {
    providerkey: 'my-provider-key',
    priority: 2,
    url: ''
}, function( err, remaining ){
    if( err ) throw err;
    console.log( 'I have ' + remaining + ' calls to the api during current hour. BOOM!' );


I´d be happy if you wanted to contribute with pull requests or tips. I´ll add you to the contributors list here and in the package.json file.


While contributing, make sure to write a test and make it pass if you extend the library. Tests are written in the test directory, preferably in all.js, since its quite small right now. It uses should.js and mocha for tests.

Test by installing mocha and should.js (dev dependencies) and then just hit:

PROWL_KEY=[my key here] make

And voila, it autotests for you.

Happily written during a four hour hack in my apt in Chamonix, France.



  • mrose17 contributes with error handling fix

2013-02-15 - version 0.1.6

  • Jellyfrog contributes with fixes parameter bugs.
  • Better error handling solving Issue 1