Skip to main content

Elastic logo

Elasticsearch Python Client

PyPI Version Python Versions Conda Version Downloads
Build Status on GitHub Buildkite Status on Buildkite Documentation Status

The official Python client for Elasticsearch.

Features

  • Translating basic Python data types to and from JSON
  • Configurable automatic discovery of cluster nodes
  • Persistent connections
  • Load balancing (with pluggable selection strategy) across available nodes
  • Failed connection penalization (time based - failed connections won't be retried until a timeout is reached)
  • Support for TLS and HTTP authentication
  • Thread safety across requests
  • Pluggable architecture
  • Helper functions for idiomatically using APIs together

Installation

Download the latest version of Elasticsearch or sign-up for a free trial of Elastic Cloud.

Refer to the Installation section of the getting started documentation.

Connecting

Refer to the Connecting section of the getting started documentation.

Usage


Compatibility

Language clients are forward compatible: each client version works with equivalent and later minor versions of Elasticsearch without breaking.

Compatibility does not imply full feature parity. New Elasticsearch features are supported only in equivalent client versions. For example, an 8.12 client fully supports Elasticsearch 8.12 features and works with 8.13 without breaking; however, it does not support new Elasticsearch 8.13 features. An 8.13 client fully supports Elasticsearch 8.13 features.

Elasticsearch version elasticsearch-py branch
main main
9.x 9.x
9.x 8.x
8.x 8.x

Elasticsearch language clients are also backward compatible across minor versions — with default distributions and without guarantees.

[!TIP] To upgrade to a new major version, first upgrade Elasticsearch, then upgrade the Python Elasticsearch client.

If you need to work with multiple client versions, note that older versions are also released as elasticsearch7 and elasticsearch8.

Documentation

Documentation for the client is available on elastic.co and Read the Docs.

Try Elasticsearch and Kibana locally

If you want to try Elasticsearch and Kibana locally, you can run the following command:

curl -fsSL https://elastic.co/start-local | sh

This will run Elasticsearch at http://localhost:9200 and Kibana at http://localhost:5601.

More information is available here.

Contributing

See CONTRIBUTING.md

License

This software is licensed under the Apache License 2.0. See NOTICE.

Release files for elasticsearch9 9.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elasticsearch9 9.5.1
File Size Uploaded
elasticsearch9-9.5.1.tar.gz 930.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for elasticsearch9 9.5.1
File Interpreter ABI Platform
elasticsearch9-9.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / elasticsearch9-9.5.1.tar.gz

Download URL elasticsearch9-9.5.1.tar.gz
Size 930.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0e204de09a86c5de95a7bc0e60f26ec5e0a365b234b35363f0050f7f1fcc9beb
BLAKE2b-256 checksum
How to use checksums
5e76429af6179c525797ff48e176f178a2ea5e5df3340edc5a3e487a896a9e23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / elasticsearch9-9.5.1-py3-none-any.whl

Download URL elasticsearch9-9.5.1-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2e49b0decd539cc23b48ac70a291b4ad3e4527a82730dc7eb1e495c332106d48
BLAKE2b-256 checksum
How to use checksums
621cb0a5d65b9d3d7a66d714fd0befb3e772f6782f78a0e3eb7bba2c5835ceb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

9.5.1 This release

2 release files

9.5.0

2 release files

9.4.1

2 release files

9.4.0

2 release files

9.3.0

2 release files

9.2.1

2 release files

9.2.0

2 release files

9.1.3

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.5

2 release files

9.0.4

2 release files

9.0.3

2 release files

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page