OpenSearch language clients

OpenSearch provides clients for several popular programming languages, with more to come.

OpenSearch language client compatibility

In general, clients are compatible with clusters running the same major version of OpenSearch (major.minor.patch).

For example, a 1.0.0 client works with an OpenSearch 1.1.0 cluster, but might not support any non-breaking API changes in OpenSearch 1.1.0. A 1.2.0 client works with the same cluster, but might allow you to pass unsupported options in certain functions. We recommend using the same version for both, but if your tests pass after a cluster upgrade, you don’t necessarily need to upgrade your clients immediately.

Legacy clients

Most clients that work with Elasticsearch OSS 7.10.2 should work with OpenSearch, but the latest versions of those clients might include license or version checks that artificially break compatibility. This page includes recommendations around which versions of those clients to use for best compatibility with OpenSearch.

ClientRecommended version
Java low-level REST client7.13.4
Java high-level REST client7.13.4
Python Elasticsearch client7.13.4
Elasticsearch Node.js client7.13.0
Ruby Elasticsearch client7.13.0

If you test a legacy client and verify that it works, please submit a PR and add it to this table.