Qdrant: A Complete Guide
Qdrant

What is Qdrant?

High-performance open-source vector database for next-generation AI applications

6-min readUpdated Aug 2026

Qdrant in 60 seconds

WHAT IT IS

An open-source vector database that stores embeddings and finds the nearest ones to a query vector in milliseconds.

WHY IT'S USED

Teams reach for it to power semantic search, recommendations, and retrieval for AI apps with fast filtered nearest-neighbor lookups.

STRENGTHS
  • +Written in Rust for low-latency search with a small memory footprint
  • +Payload filtering runs inside the HNSW search, not as a slow post-step
  • +Apache 2.0 license with the same engine self-hosted or on Qdrant Cloud
LIMITATIONS
  • Built for vector search, so it does not replace a primary relational store
  • No SQL and no ACID multi-document transactions across the dataset
  • Consistency is eventual in a cluster, so fresh writes may lag on replicas
BEST KNOWN FOR
Semantic searchRAG for LLMsRecommendation enginesImage similarity searchAI agent memory
Jump to at a glance, how it works, or quick start for the full picture on Qdrant.

At a glance

CategoryVector
PronunciationPronounced "quadrant" (the "d" is silent). Written in lowercase in most of the project docs.
First released2021
Latest release1.18.3 (Jul 2026)
LicenseApache-2.0
Written inRust
Runs onLinux, Macos, Windows
DeploymentSelf-hosted, Managed
Wire protocolgrpc, http
Query dialectqdrant-api
Consistencyeventual
ACID supportno
JSON supportnative
Full-text searchnative
Vector supportnative
HA modelraft
Managed byqdrant-cloud

What is Qdrant?

Qdrant is an open-source vector database. It stores high-dimensional vectors, the numeric embeddings that models produce from text, images, or audio, and finds the ones closest to a query vector. Each vector is stored as a point with an id and an optional payload of JSON metadata, so a single search can rank by similarity and filter on fields like price, language, or timestamp at the same time.

The project started in 2021, written in Rust by a team that later formed Qdrant Solutions GmbH in Berlin. The choice of Rust is the reason it holds low latency and predictable memory use under load. The core engine is licensed under Apache 2.0, and the same code runs whether you self-host a container or use the company's managed Qdrant Cloud, so there is no separate open-core engine to switch to later.

Adoption tracked the rise of retrieval-augmented generation, where a model needs to pull relevant context before it answers. Dailymotion uses Qdrant for video recommendation, Disney Streaming for content personalization, and companies like Kaufland, Bayer, Cognizant, and Deloitte run it in production. It is one of the most used dedicated vector databases by GitHub stars and community size.

How Qdrant works

Qdrant runs as a server that speaks both a REST API over HTTP and a gRPC API, listening on ports 6333 and 6334 by default. Official clients exist for Python, JavaScript, Rust, Go, Java, and .NET, and the same requests work from plain HTTP. You create a collection, upload points in batches, then send a query vector and get back the closest points with their scores and payloads.

Search uses HNSW, a graph index that connects each vector to a set of near neighbors across several layers. A query walks the graph from the top layer down, hopping toward closer vectors at each step, which finds approximate nearest neighbors without scanning the whole collection. Payload filters are applied during this walk, so a filtered query stays fast instead of retrieving a large set and discarding most of it.

Vectors and payloads persist through a write-ahead log and memory-mapped storage, and quantization can compress vectors to cut memory use with a small accuracy tradeoff. A collection splits into shards, and shards replicate across nodes for availability. A cluster coordinates through the Raft protocol, and consistency is eventual, so a read right after a write may hit a replica that has not caught up yet.

Key concepts

Collections and points

A collection is a named set of points, and a point is the unit you store and search. Each point holds a vector, an id that is an unsigned integer or a UUID, and an optional payload of JSON fields. Every vector in a collection shares one dimensionality and one distance metric, both fixed when the collection is created.

Vectors and distance

A vector is the list of numbers a model outputs for a piece of content, and similarity is how close two vectors sit in that space. Qdrant scores closeness with a distance metric you choose per collection: Cosine, Dot product, Euclidean, or Manhattan. The metric has to match the one the embedding model was trained to use.

HNSW index

Hierarchical Navigable Small World is the graph index behind fast search. It links each vector to nearby ones across layers, and a query descends from the top layer while hopping toward closer points. This returns approximate nearest neighbors in logarithmic time, so latency stays low even as a collection grows into the millions.

Payloads and filtering

A payload is the JSON metadata attached to a point, holding fields like category, price, language, or a timestamp. You can require, exclude, or range-match those fields in a query, and Qdrant applies the filter during the HNSW walk rather than after it. Indexing a payload field keeps filtered searches fast at scale.

Quantization

Quantization compresses stored vectors to shrink memory and speed up search, trading a little accuracy for a lot of headroom. Scalar quantization maps each dimension to a single byte, binary quantization goes down to one bit, and product quantization groups dimensions. The original vectors stay on disk to rescore top candidates when needed.

Sharding and replication

A collection divides into shards so its data and search load spread across nodes, and each shard can be replicated for availability. Cluster members coordinate through the Raft consensus protocol to agree on where shards live. Consistency is eventual by default, though you can raise the consistency level per request when it matters.

Qdrant by the numbers

Live GitHub adoption, updated daily

#2 of 11 open-source vector databases by GitHub stars
GitHub stars
34.1k
+659 in 30d
Forks
2.6k
Weekly growth
+137
stars in the last 7 days
Last commit
today
Aug 2026

Who uses Qdrant

A handful of the companies running it in production

DailymotionDisney StreamingKauflandBayerCognizantDeloitte

When to use Qdrant

Best for

Semantic and hybrid search

Search that ranks by meaning instead of keywords, with metadata filters applied in the same query. Qdrant also combines dense and sparse vectors, so keyword and semantic signals rank together.

Retrieval for LLM apps

RAG pipelines store document chunks as vectors and fetch the most relevant ones to ground a model's answer. Qdrant plugs into LangChain, LlamaIndex, and Haystack as the retrieval layer.

Recommendations and similarity

Suggesting items close to what a user viewed, liked, or bought. Qdrant can search by example point ids and steer results toward some vectors and away from others in one request.

Image, audio, and multimodal search

Any content a model turns into embeddings becomes searchable by similarity, not tags. Store image or audio vectors with payloads and query them the same way you query text embeddings.

Not ideal for

Primary relational data store

Orders, accounts, and ledgers need joins, constraints, and ACID transactions. Qdrant holds vectors and metadata, not a normalized schema, so pair it with Postgres or MySQL for that data.

Transactional writes and rollbacks

There are no multi-point transactions you can commit or roll back as a unit. Workloads that depend on all-or-nothing writes across records belong in a relational database, not a vector store.

Analytics and reporting queries

Grouping, aggregation, and scans over billions of rows are the job of ClickHouse, BigQuery, or a warehouse. Qdrant ranks by vector similarity and is the wrong tool for GROUP BY reporting.

Plain keyword or exact lookups

If you only need exact matches or classic full-text ranking, a search engine or a SQL index is simpler and cheaper. Vector search adds an embedding model and cost you would not need there.

Qdrant vs alternatives

Head-to-head specs against the top 4 alternatives

Qdrant vs Pinecone
Qdrant
Pinecone
Identity
License
Apache-2.0
Proprietary
First released
2021
2021
Wire protocol
grpc, http
http, grpc
Query dialect
qdrant-api
Capabilities
ANN algo
hnsw
proprietary
Hybrid search
Native
Native
Vector
Native
Native
Full-text
Native
Native
Geospatial
Native
No
Consistency
Eventual
Eventual
HA model
Raft
None
Ecosystem
Managed providers
1
1
Integrations
11
4
Use cases
Best for
Semantic search, RAG pipelines, recommendation engines, image similarity, and AI agent memory with advanced filtering
Production-scale vector search with zero infrastructure management and enterprise security requirements
Not ideal for
Traditional relational queries, OLTP workloads, time-series data, or use cases not involving vector embeddings
Self-hosted deployments, on-premise requirements, cost-sensitive prototyping, or workloads needing open-source flexibility
Qdrant vs Chroma
Qdrant
Chroma
Identity
License
Apache-2.0
Apache-2.0
First released
2021
2022
Wire protocol
grpc, http
http
Query dialect
qdrant-api
Capabilities
ANN algo
hnsw
hnsw
Hybrid search
Native
Native
Vector
Native
Native
Full-text
Native
Native
Geospatial
Native
No
Consistency
Eventual
Strong
HA model
Raft
None
Ecosystem
Managed providers
1
1
Integrations
11
4
Use cases
Best for
Semantic search, RAG pipelines, recommendation engines, image similarity, and AI agent memory with advanced filtering
AI/LLM applications, RAG pipelines, semantic search, and rapid prototyping of embedding-based apps
Not ideal for
Traditional relational queries, OLTP workloads, time-series data, or use cases not involving vector embeddings
General-purpose data storage, OLTP, analytics, or production workloads requiring high availability
Qdrant vs Milvus
Qdrant
Milvus
Identity
License
Apache-2.0
Apache-2.0
First released
2021
2019
Wire protocol
grpc, http
grpc, http
Query dialect
qdrant-api
milvus-query
Capabilities
ANN algo
hnsw
hnsw, ivf, diskann, scann
Hybrid search
Native
Native
Vector
Native
Native
Full-text
Native
Native
Geospatial
Native
No
Consistency
Eventual
Tunable
HA model
Raft
Raft
Ecosystem
Managed providers
1
1
Integrations
11
7
Use cases
Best for
Semantic search, RAG pipelines, recommendation engines, image similarity, and AI agent memory with advanced filtering
Large-scale vector similarity search, RAG applications, and AI-powered recommendations
Not ideal for
Traditional relational queries, OLTP workloads, time-series data, or use cases not involving vector embeddings
Traditional relational data, OLTP workloads, or applications not using embeddings
Qdrant vs Weaviate
Qdrant
Weaviate
Identity
License
Apache-2.0
BSD-3-Clause
First released
2021
2019
Wire protocol
grpc, http
http, grpc
Query dialect
qdrant-api
graphql
Capabilities
ANN algo
hnsw
HNSW
Hybrid search
Native
Native
Vector
Native
Native
Full-text
Native
Native
Geospatial
Native
Native
Consistency
Eventual
Eventual
HA model
Raft
Raft
Ecosystem
Managed providers
1
1
Integrations
11
4
Use cases
Best for
Semantic search, RAG pipelines, recommendation engines, image similarity, and AI agent memory with advanced filtering
Semantic search, RAG pipelines, and AI-native applications requiring hybrid vector and keyword search
Not ideal for
Traditional relational queries, OLTP workloads, time-series data, or use cases not involving vector embeddings
Traditional relational workloads, complex transactions, or use cases requiring strong ACID guarantees

Quick start

Run Qdrant locally with Docker, connect over HTTP, and create your first collection and search. Under a minute if you have Docker.

Run with Docker (fastest)
docker run --name qdrant -p 6333:6333 -p 6334:6334 -d qdrant/qdrant
Check it is up
curl http://localhost:6333/healthz

# The web dashboard is at http://localhost:6333/dashboard
Create a collection
curl -X PUT http://localhost:6333/collections/demo \
  -H "Content-Type: application/json" \
  -d '{ "vectors": { "size": 4, "distance": "Cosine" } }'
Add a point and search
from qdrant_client import QdrantClient
from qdrant_client.models import PointStruct

client = QdrantClient(url="http://localhost:6333")

client.upsert(
    collection_name="demo",
    points=[PointStruct(id=1, vector=[0.1, 0.2, 0.3, 0.4], payload={"tag": "a"})],
)

hits = client.query_points(collection_name="demo", query=[0.1, 0.2, 0.3, 0.4]).points
print(hits)

That is a working instance. Point any of the official clients at it, or use a GUI when you want to browse collections and run searches visually.

Frequently asked questions

What is Qdrant used for?
Qdrant is a vector database used to store embeddings and find the most similar ones to a query, which powers semantic search, recommendations, image and audio similarity, anomaly detection, and retrieval for AI apps. Its most common role today is the retrieval layer in RAG, where a large language model pulls relevant context before answering. It plugs into LangChain, LlamaIndex, and Haystack, and companies like Dailymotion, Disney Streaming, Kaufland, and Bayer run it in production.
Is Qdrant free?
Yes. The Qdrant engine is open-source under the Apache 2.0 license and free to download, self-host, and run in production with no fees or usage limits. Qdrant Cloud, the company's managed service, charges for hosting and includes a free tier for small workloads, but the database itself is the same open code you can run yourself. You can move between self-hosted and cloud without changing engines.
Who owns and maintains Qdrant?
Qdrant is developed by Qdrant Solutions GmbH, a company founded in 2021 and based in Berlin, Germany. The company maintains the open-source engine on GitHub and sells the managed Qdrant Cloud service on top of it. Unlike community-run projects with no owning entity, Qdrant is a single-vendor product, which gives it a clear roadmap while keeping the core engine under the permissive Apache 2.0 license.
Is Qdrant open source?
Yes. Qdrant is licensed under Apache 2.0, an OSI-approved permissive license, and the full engine source is on GitHub. There is no separate proprietary core: the same code runs whether you self-host or use Qdrant Cloud, and Apache 2.0 places no restriction on commercial or managed use. That sets it apart from databases that moved to source-available licenses like the SSPL to limit cloud providers.
What is a vector database?
A vector database stores embeddings, the numeric vectors that machine learning models produce from text, images, or audio, and searches by similarity rather than exact matches. Given a query vector, it returns the stored vectors that sit closest in high-dimensional space, usually with an approximate nearest-neighbor index like HNSW so the search stays fast at scale. It is the storage layer behind semantic search and the retrieval step in most AI applications, and Qdrant is one of the dedicated engines built for that job.

Skip the config files

Connect to Qdrant in 30 seconds. Browse tables, run queries, and edit rows visually, on localhost, self-hosted, or cloud.

Open Qdrant in 1bench