QQL is a typed, declarative language for Qdrant. It turns search, hybrid retrieval, mutations, collection management, and tenant-safe policies into one portable syntax.
One language
qql-coreThe canonical grammar, typed AST, strict full-script parser, validation, and filter injection are shared by every SDK.
One plan
qql-planStatements lower to a transport-neutral plan before REST, gRPC, or in-process edge dispatch.
Every host
Rust Python
Use native Rust, Python, Node.js, WebAssembly, or the qql command-line tool without learning another query dialect.
Policy at the AST
Fail closedParse untrusted QQL, recursively inject mandatory filters, then plan and execute the rewritten statement.
A first query
Section titled “A first query”QUERY TEXT 'vector database'FROM docsUSING denseWHERE status = 'published'WITH PAYLOAD INCLUDE (title, url)LIMIT 10;This source remains readable in a pull request, a support ticket, or a browser session. Open it in the playground to see the AST and the Qdrant request before choosing a backend.