Skip to content
The couchbase client for C.
C++ C CMake Shell Perl Makefile
Latest commit 59371fe @mnunberg mnunberg committed with mnunberg Reorder headers for documentation
This change reorganizes the main library documentation. No APIs have
been changed.

* api3.h is now empty
* new api-legacy.h contains the old v.v.v.v.v API
* http.h is now empty (only contained old-style status codes, now moved
  to deprecated.h
* Some additional wording fixes to shorten the name of doc module
* headings
* Subdoc API now present as <include/libcouchbase/subdoc.h>. Will be
  moved into couchbase.h when considered stable

views.h and n1ql.h should also likely be moved into their own files

Change-Id: I015f60187bf782b407b87589e15f578b16d28458
Tested-by: buildbot <>
Reviewed-by: Brett Lawson <>


Couchbase C Client

Build Status

This is the C client library for Couchbase It communicates with the cluster and speaks the relevant protocols necessary to connect to the cluster and execute data operations.


  • Can function as either a synchronous or asynchronous library
  • Callback Oriented
  • Can integrate with most other asynchronous environments. You can write your code to integrate it into your environment. Currently support exists for
    • libuv (Windows and POSIX)
    • libev (POSIX)
    • libevent (POSIX)
    • select (Windows and POSIX)
    • IOCP (Windows Only)
  • Support for operation batching
  • ANSI C ("C89")
  • Cross Platform - Tested on Linux, OS X, and Windows.


Before you build from this repository, please check the installation page to see if there is a binary or release tarball available for your needs. Since the code here is not part of an official release it has therefore not gone through our release testing process.


By default the library depends on:

  • libevent (or libev) for the primary I/O backend.
  • openssl for SSL transport.
  • CMake version 2.8.9 or greater (for building)

On Unix-like systems these dependencies are checked for by default while on Windows they are not checked by default.

On Unix, the build system will expect to have libevent or libev installed, unless building plugins is explicitly disabled (see further).

Building on Unix-like systems

Provided is a convenience script called cmake/configure. It is a Perl script and functions like a normal autotools script.

$ git clone git://
$ cd libcouchbase && mkdir build && cd build
$ ../cmake/configure
$ make
$ ctest

Building on Windows

Assuming git and Visual Studio 2010 are installed, from a CMD shell, do:

C:\> git clone git://
C:\> mkdir lcb-build
C:\> cd lcb-build
C:\> cmake -G "Visual Studio 10" ..\libcouchbase
C:\> cmake --build .

This will generate and build a Visual Studio .sln file.

Windows builds are known to work on Visual Studio versions 2008, 2010 and 2012.

If you wish to link against OpenSSL, you should set the value of OPENSSL_ROOT_DIR to the location of the installation path, as described here

Bugs, Support, Issues

You may report issues in the library in our issue tracked at Sign up for an account and file an issue against the Couchbase C Client Library project.

The developers of the library hang out in IRC on #libcouchbase on



API documentation may be generated by running doxygen within the source root directory. When this is done, you should have a doc/html/index.html page which may be viewed.

Doxygen may be downloaded from the doxygen downloads page. Note however that most Linux distributions as well as Homebrew contain Doxygen in their repositories.

$ doxygen
$ xdg-open doc/html/index.html # Linux
$ open doc/html/index.html # OS X

You may also generate documentation using the doc/Makefile which dynamically inserts version information

$ make -f doc/Makefile public # for public documentation
$ make -f doc/Makefile internal # for internal documentation

The generated documentation will be in the doc/public/html directory for public documentation, and in the doc/internal/html directory for internal documentation.


The following people contributed to libcouchbase (in alphabetic order) (last updated Nov. 27 2014)


libcouchbase is licensed under the Apache 2.0 License. See LICENSE file for details.

Something went wrong with that request. Please try again.