Connect to and Work with CouchDB Databases

Interface to the couchDB document database <>.

Travis-CI Build Status Coverage Status CRAN Status Badge

R interface to the CouchDB database


This package contains various functions for interacting with couchDB - a document database. For more information about the couchDB database see Apache Couchdb or the implementation by IBM as IBM Cloudant.


The pacakge on CRAN is outdated at this moment. To follow the examples below (especially the connection to Cloudant), please install the source code in this development branch with devtools:


Get connected

To interact with a couchDB instance you will need to create a connection object. Communication with couchDB happens over a http protocol. A minimal connection (running on the default port and no password protection) would be:

myConn <- couch_http_connection("localhost")

The variable myConn can now be used as parameters to other functions.

For convenience a default connection can also be created with couch_set_default_connection using the same parameters.

Once a connection object exists, you may want to make sure it is connecting correctly with the couch_ping function. If you are properly connected the reponse should be something like:

Response [http://localhost:5984]
Status: 200
Content-type: text/plain; charset=utf-8
Size: 151 B

To connect to cloudant specify the service (otherwise it defaults to couchdb) as follows:

myConn <- couch_http_connection(host = "",
                                https = TRUE,
                                service = "cloudant")
Response []
  Date: 2016-05-13 16:50
  Status: 200
  Content-Type: application/json
  Size: 64 B


On a couchDB install there can be several databases (i.e. namespaces). The function couch_list_databases will provide a list of available databases on the connection provided.

The function couch_create_database will, similarly, allow you to create a new database or namespace on the couchDB instance.

Fetch, store and delete documents

Once you have a connection and a database to work with you can fetch, store and delete documents by using the corresponding functions:

couch_fetch() and couch_fetch_default()

couch_store() and couch_store_default()



Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.4.1 by Aleksander Dietrichson, 3 years ago

Browse source code at

Authors: Aleksander Dietrichson [aut, cre] , Frans van Dunn<c3><a9> [ctb]

Documentation:   PDF Manual  

AGPL-3 license

Depends on RCurl, bitops, httr, rjson

Suggests testthat

System requirements: couchDB instance to connect to and work with.

See at CRAN