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

kimono

v0.2.0

Published

Kimono API wrapper

Readme

Kimono

Build Status

More information about Kimono can be found on the API docs.

Getting Started

Install the module with: npm install kimono

var Kimono = require('kimono');
var kimono = new Kimono('api key'); // Use your API key

Documentation

Kimono(apikey)

Constructor of a new Kimono object.

  • apikey: your private API key

Kimono.retrieve(id [, params] [, ondemand], callback)

Returns an API object matching a specific API id.

  • id: unique 8 character identifier for the API
  • params: additional URL parameters to pass with the request
    • kimlimit: limits the number of result rows returned by the API call
    • kimoffset: offset results returned to begin from a row other than the first
    • kimbypage: collate the results by page instead of by collection
    • kimwithurl: includes the original URL each row of data was extracted from
    • kimindex: includes an extra unique, incrementing index property for every item in every collection
    • kimhash: includes an extra unique hash property on every row in the collection
    • kimseries: presents the data as a time series across historical results, rather than as a single snapshot in time
    • kimstats: includes API crawl statistics in your data
  • ondemand: set to true if the API should be requested on demand
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.list(callback)

Returns a list of all APIs for the specified user.

  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.set(id, property, value, callback)

Sets a property on the API to a new value.

  • id: unique 8 character identifier for the API
  • property: the API property to update
  • value: the new value of the API property
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.setTargetUrl(id, value, callback)

Alias for Kimono.set(id, 'targeturl', value, callback)

Set the target url for the API.

  • id: unique 8 character identifier for the API
  • value: any url
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.setFrequency(id, value, callback)

Alias for Kimono.set(id, 'frequency', value, callback)

Set the update frequency for the API. Once specified, kimono will attempt to fetch data from the target URL at this interval.

  • id: unique 8 character identifier for the API
  • value: fifteenminutely, halfhourly, hourly, daily, weekly, or monthly
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.setCrawlLimit(id, value, callback)

Alias for Kimono.set(id, 'crawllimit', value, callback)

Set the maximum number of pages to visit during a pagination crawl.

  • id: unique 8 character identifier for the API
  • value: the maximum number of pages to visit
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.setCrawlUrls(id, value, callback)

Alias for Kimono.set(id, 'urls', value, callback)

Set the list of urls to visit during a targeted crawl.

  • id: unique 8 character identifier for the API
  • value: an array containing all urls to be crawled
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Kimono.startCrawl(id, callback)

Start the crawl process.

  • id: unique 8 character identifier for the API
  • callback(err, res): if err is null then the API response is returned in res, otherwise an error occured

Examples

var Kimono = require('kimono');

var apikey = 'abc123';
var kimono = new Kimono(apikey);

kimono.retrieve('def456', {
  kimlimit: 50
}, function (err, res) {});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

License

Copyright (c) 2015 David Caseria
Licensed under the MIT license.