Qdrant
High-performance vector database written in Rust. Qdrant delivers exceptional speed and memory efficiency for large-scale vector search with a clean REST and gRPC API.
Apache-2.0
TypeScript / Python / Rust
Why Qdrant?
Performance-critical vector search at scale
You want the fastest self-hostable vector DB
Memory-efficient workloads with millions of vectors
Signal Breakdown
What drives the Trust Score
Download Trend
Last 12 months
Tradeoffs & Caveats
Know before you commitYou need a fully managed cloud-first solution
Your team doesn't have Rust/systems experience for tuning
Simple RAG use case where Pinecone is simpler
Pricing
Free tier & paid plans
Free open-source + 1GB free cloud
Cloud from $0.08/GB/mo
Best performance per dollar for self-hosted
Alternative Tools
Other options worth considering
Managed vector database purpose-built for AI applications. Fully hosted with serverless scaling and a free tier (100k vectors). The fastest way to add semantic search or RAG to production.
Open-source vector database with built-in ML model integration. Weaviate supports hybrid search (vector + BM25), multi-tenancy, and can run fully self-hosted or managed.
Often Used Together
Complementary tools that pair well with Qdrant
Learning Resources
Docs, videos, tutorials, and courses
Get Started
Repository and installation options
View on GitHub
github.com/qdrant/qdrant
npm install @qdrant/js-client-restpip install qdrant-clientQuick Start
Copy and adapt to get going fast
import { QdrantClient } from '@qdrant/js-client-rest';
const client = new QdrantClient({ url: process.env.QDRANT_URL, apiKey: process.env.QDRANT_API_KEY });
const results = await client.search('my_collection', {
vector: [0.1, 0.2, 0.3],
limit: 5,
});
console.log(results);Code Examples
Common usage patterns
Create collection and upsert
Set up a collection and add vectors
await client.createCollection('docs', {
vectors: { size: 1536, distance: 'Cosine' },
});
await client.upsert('docs', {
points: [{ id: 1, vector: embeddings[0], payload: { text: 'Hello world' } }],
});Filtered search
Search with metadata filters
const results = await client.search('docs', {
vector: queryEmbedding,
filter: { must: [{ key: 'category', match: { value: 'tech' } }] },
limit: 10,
});Community Notes
Real experiences from developers who've used this tool