Skip to main content
Get a Mixpeek API key from mixpeek.com/start, then pick your path — BYO vectors for instant search, or managed pipelines for automatic extraction.
New to Mixpeek? Follow the first tab — MVS Standalone — end to end. It’s the shortest path to a working search (under 60 seconds) and needs nothing but an API key. The other tabs wire that same search into an agent (LangChain, MCP) or call it over REST once you’ve created a retriever.
Already have embeddings? Skip extraction — search in under 60 seconds.
pip install mixpeek
export MIXPEEK_API_KEY="sk_live_replace_me"
1

Create a standalone namespace

import os
from mixpeek import Mixpeek

client = Mixpeek(api_key=os.environ["MIXPEEK_API_KEY"])

client.namespaces.create(
    namespace_id="my-search",   # you choose this id in standalone mode
    mode="standalone",
)
2

Upsert your vectors

client.namespaces.documents.upsert(
    namespace_id="my-search",
    documents=[{
        "document_id": "doc-001",
        "vectors": {"embedding": [0.12, -0.34, 0.56]},  # your embedding
        "payload": {"title": "First document", "category": "demo"},
    }],
)
3

Search

Vectors are searchable within 10–30 seconds of upsert (the index flushes in the background). For immediate verification, add a short poll:
import time

# Wait for indexing
time.sleep(15)

results = client.search(
    namespace_id="my-search",
    queries=[{
        "vector_name": "embedding",
        "vector": [0.15, -0.28, 0.44],  # query embedding
        "top_k": 10,
    }],
)
for hit in results["results"]:
    print(f"{hit['score']:.3f} | {hit['payload']['title']}")
MVS infers vector dimensions on first write — no schema needed. When you’re ready for automatic extraction, promote your namespace to Managed.