Practical overview
When it fits
Use it when an Elixir application needs a client library for Qdrant's REST interface, including vector operations and collection management.
Who it is for
- Elixir developers integrating Qdrant vector search into an application or service.
- Teams building Elixir services that need to store, retrieve, or query vectors through Qdrant's REST API.
Documented uses
- Create collections and payload indexes.
- Upsert points and retrieve or query vectors.
- Use recommendation, discovery, and other point-query operations.
- Manage collection aliases and inspect cluster or service status.
- Download or upload snapshots, including file-based workflows.
Requirements & limits
The README describes the package as available on Hex and identifies the repository license as MIT.
- The client supports REST only; gRPC is unsupported.
- The production HTTP adapter is Tesla.Adapter.Finch, backed by a supervised Finch pool.
- The default maximum in-memory response size is 50 MiB; file-based snapshot functions are available for large snapshot transfers.
- Cloud Qdrant hosts require an API key by default, and remote plain-HTTP requests carrying a key are rejected unless insecure-key use is explicitly enabled.
- The README says the library is under active development and subject to change.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add the client and configure a Qdrant connection
Set up the library dependency and construct an explicit client with a Qdrant URL and optional API key.
Before you start
- An Elixir application using Mix.
- A Qdrant base URL.
- An API key when required by the Qdrant endpoint.
Steps
Add
{:qdrant, "~> 0.1.18"}to the dependencies inmix.exs.Create a client with
Qdrant.Client.new!, supplying the Qdrant URL and, if needed, an API key such asSystem.fetch_env!("QDRANT_API_KEY").
Expected outcome
An explicit client configured with its own URL, credentials, adapter, and timeout settings.
Guide limitations
- The client targets Qdrant 1.18.x.
- gRPC is unsupported.
- API keys are rejected over remote plain HTTP unless
allow_insecure_api_key: trueis explicitly set.
Create a collection, upsert points, and query vectors
Use the client to create a Qdrant collection, store a point, and retrieve query results.
Before you start
- A configured
Qdrant.Client. - A reachable Qdrant service compatible with the client's target.
Steps
Call
Qdrant.create_collectionwith a collection name and vector configuration.Call
Qdrant.upsert_pointswith point IDs, vectors, and any payload.Call
Qdrant.query_pointswith a vector query and result limit, then read points from the response'sresultfield.
Expected outcome
The documented request sequence for creating a collection, inserting a vector point, and accessing query results.
Guide limitations
- The example assumes Qdrant accepts the supplied vector dimensions and request parameters.
- Batch search, recommendation, discovery, and query calls require a
%{searches: [...]}wrapper.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- marinac-dev/qdrant · Official homepage title · retained in its source language

