# qdrant-client

> Client library for the Qdrant vector search engine

- **URL**: https://www.freshcrate.ai/projects/qdrant-client
- **Author**: Andrey Vasnetsov
- **Category**: Databases
- **Latest version**: `v1.18.0` (2026-05-11)
- **License**: Apache-2.0
- **Source**: https://github.com/qdrant/qdrant-client
- **Homepage**: https://pypi.org/project/qdrant-client/
- **Language**: Python
- **GitHub**: 1,268 stars, 214 forks
- **Registry**: pypi (`qdrant-client`)
- **Tags**: `client`, `matching`, `neural`, `pypi`, `search`, `vector`

## Description

<p align="center">
  <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://github.com/qdrant/qdrant/raw/master/docs/logo-dark.svg">
      <source media="(prefers-color-scheme: light)" srcset="https://github.com/qdrant/qdrant/raw/master/docs/logo-light.svg">
      <img height="100" alt="Qdrant" src="https://github.com/qdrant/qdrant/raw/master/docs/logo.svg">
  </picture>
</p>

<p align="center">
    <b>Python Client library for the <a href="https://github.com/qdrant/qdrant">Qdrant</a> vector search engine.</b>
</p>


<p align=center>
    <a href="https://pypi.org/project/qdrant-client/"><img src="https://badge.fury.io/py/qdrant-client.svg" alt="PyPI version" height="18"></a>
    <a href="https://api.qdrant.tech/"><img src="https://img.shields.io/badge/Docs-OpenAPI%203.0-success" alt="OpenAPI Docs"></a>
    <a href="https://github.com/qdrant/qdrant-client/blob/master/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-success" alt="Apache 2.0 License"></a>
    <a href="https://qdrant.to/discord"><img src="https://img.shields.io/badge/Discord-Qdrant-5865F2.svg?logo=discord" alt="Discord"></a>
    <a href="https://qdrant.to/roadmap"><img src="https://img.shields.io/badge/Roadmap-2025-bc1439.svg" alt="Roadmap 2025"></a>
</p>

# Python Qdrant Client

Client library and SDK for the [Qdrant](https://github.com/qdrant/qdrant) vector search engine.

Library contains type definitions for all Qdrant API and allows to make both Sync and Async requests.

Client allows calls for all [Qdrant API methods](https://api.qdrant.tech/) directly.
It also provides some additional helper methods for frequently required operations, e.g. initial collection uploading.

See [QuickStart](https://qdrant.tech/documentation/quick-start/#create-collection) for more details!

## Installation

```
pip install qdrant-client
```

## Features

- Type hints for all API methods
- Local mode - use same API without running server
- REST and gRPC support
- Minimal dependencies
- Extensive Test Coverage

## Local mode

<p align="center">
  <!--- https://github.com/qdrant/qdrant-client/raw/master -->
  <img max-height="180" src="https://github.com/qdrant/qdrant-client/raw/master/docs/images/try-develop-deploy.png" alt="Qdrant">
</p>

Python client allows you to run same code in local mode without running Qdrant server.

Simply initialize client like this:

```python
from qdrant_client import QdrantClient

client = QdrantClient(":memory:")
# or
client = QdrantClient(path="path/to/db")  # Persists changes to disk
```

Local mode is useful for development, prototyping and testing.

- You can use it to run tests in your CI/CD pipeline.
- Run it in Colab or Jupyter Notebook, no extra dependencies required. See an [example](https://colab.research.google.com/drive/1Bz8RSVHwnNDaNtDwotfPj0w7AYzsdXZ-?usp=sharing)
- When you need to scale, simply switch to server mode.

## Connect to Qdrant server

To connect to Qdrant server, simply specify host and port:

```python
from qdrant_client import QdrantClient

client = QdrantClient(host="localhost", port=6333)
# or
client = QdrantClient(url="http://localhost:6333")
```

You can run Qdrant server locally with docker:

```bash
docker run -p 6333:6333 qdrant/qdrant:latest
```

See more launch options in [Qdrant repository](https://github.com/qdrant/qdrant#usage).


## Connect to Qdrant cloud

You can register and use [Qdrant Cloud](https://cloud.qdrant.io/) to get a free tier account with 1GB RAM.

Once you have your cluster and API key, you can connect to it like this:

```python
from qdrant_client import QdrantClient

qdrant_client = QdrantClient(
    url="https://xxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxx.us-east.aws.cloud.qdrant.io:6333",
    api_key="<your-api-key>",
)
```

## Inference API

Qdrant Client has Inference API that allows to seamlessly create embeddings and use them in Qdrant.
Inference API can be used locally with FastEmbed or remotely with models available in Qdrant Cloud.

### Local Inference with FastEmbed

```
pip install qdrant-client[fastembed]
```

FastEmbed is a library for creating fast vector embeddings on CPU. It is based on ONNX Runtime and allows to run inference both on CPU and GPU.

Qdrant Client can use FastEmbed to create embeddings and upload them to Qdrant. This allows to simplify API and make it more intuitive.

```python
from qdrant_client import QdrantClient, models

# running qdrant in local mode suitable for experiments
client = QdrantClient(":memory:")  # or QdrantClient(path="path/to/db") for local mode and persistent storage

model_name = "sentence-transformers/all-MiniLM-L6-v2"
payload = [
    {"document": "Qdrant has Langchain integrations", "source": "Langchain-docs", },
    {"document": "Qdrant also has Llama Index integrations", "source": "LlamaIndex-docs"},
]
docs = [models.Document(text=data["document"], model=model_name) for data in payload]
ids = [42, 2]

client.create_collection(
    "demo_collection",
    vectors_config=models.Vect

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `v1.18.0` | 2026-05-11 | High | # Change Log  ## Features 🌊   * #1176 - bump fastembed to v0.8.0 by @joein  * #1173 - per request custom headers for tracing by @generall  * #1201 - create/delete named vector API after creating a collection, turboquantization and [more](https://github.com/qdrant/qdrant/releases/tag/v1.18.0)  ## Fixes 🧑‍🔧  * #1191 - fix local mode inconsistency of values count with the server in case of iterables other than list by @joein  * #1190 - fix local mode geo filter edge cases by @joein |
| `1.17.1` | 2026-04-21 | Low | Imported from PyPI (1.17.1) |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |
| `v1.17.1` | 2026-03-13 | Low | # Change Log  ## Features 🌊   * #1162 - add a way to provide custom headers in http and grpc by @Anush008 @joein * #1166 - do not use fastembed for bm25 inference with hosted qdrant by @joein   ## Fixes 🔧   * #1169 - do not modify date filters in local mode by @jnMetaCode * #1168 - run server version check in a thread to avoid blocking async client by @joein  * #1157 - fix type hint error in grpc_uploader with older versions of protobuf by @joein   Thanks to everyone who contribute |

## Citation

- HTML: https://www.freshcrate.ai/projects/qdrant-client
- Markdown: https://www.freshcrate.ai/projects/qdrant-client.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/qdrant-client/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
