The Couchbase Java client allows Java applications to access a Couchbase cluster. It offers synchronous APIs as well as reactive and asynchronous equivalents to maximize flexibility and performance.

Scope scope = bucket.scope("inventory");
Collection collection = scope.collection("airport");
MutationResult result = collection.mutateIn(
        Collections.singletonList(MutateInSpec.upsert("foo", "bar")),

Couchbase Java SDK 3.3

Getting Started
Practical Howto Docs

Connect to our services — data (KV); Query; Search; Analytics; Views — and the Sub-Document and transaction APIs.

Reference Guides

The documentation supplements the practical Howto docs with references and concept guides, for those who prefer a broader understanding before diving in and coding.

What’s Hot?

Leverage the new Couchbase Server Scopes and Collection features to build multi-tenant micro-service application. Integrate with Open Telemetry API to instrument telemetry data for your mission critical workloads that will make troubleshooting and debugging of your applications easier than ever. Add an additional layer of security and protect your sensitive workloads using our Client Side Field Level Encryption capability.

Our Distributed ACID Transactions library is now integrated into the Java SDK.


Those useful nuts-and-bolts guides to compatibility tables; release notes; contribution guide; and the migration guide for moving to the 3.x API.


For community help, visit the Couchbase forums. The Java SDK can be combined with many other projects in the broader Java and JVM ecosystem and beyond. This includes Spring Data and Spark.

Older SDK Versions

Documentation on older, unsupported versions of the SDK — that have reached end-of-life — can be found in the archive.