An async wrapper for the CouchDB HTTP API, following Node.js conventions


This node.js module aims to provide a clean, asynchronous wrapper for the CouchDB API.

It uses callbacks that follow node.js conventions and aims to be as expressive as possible.

$ npm install couchdb-api

var couchdb = require("couchdb-api");

// connect to a couchdb server (defaults to http://localhost:5984)
var server = couchdb.srv();

// test it out! (err, response) {

// should get { couchdb: "Welcome", version: "1.0.1" }
// if something went wrong, the `err` argument would provide the error that CouchDB provides

// select a database
var db = server.db("my-database"); (err, response) {

// should see the basic statistics for your test database
// if you chose a non-existant db, you'd get { error: "not_found", reason: "no_db_file" } in place of `err`

Refer to my website for documentation and resources.


  • Fixing issues #17, #12 and #11


  • Complete documentation rewrite (now generated automatically via source code comments with dox)
  • Simplified the JSHint config by putting it into a single file at the root
  • Simplified the index.js entry-point. couchdb.srv() now only takes a single argument, a string URL.


  • Changed the package.json to allow for installs on node engine version 8