MemoryKit

Search Memories

Hybrid search with vector similarity, full-text, and reranking.

GET/v1/memories/search

Query parameters

querystringrequired

Search query.

precisionstring

Result precision level: low, medium (default), or high. Higher precision returns fewer but more relevant results.

limitnumber

Max results (1–100). Default: 10.

user_idstring

Scope results to a specific user.

typestring

Filter by memory type.

tagsstring

Comma-separated tags to filter by (e.g. finance,reports).

created_afterstring

ISO 8601 timestamp. Only return memories created after this date (e.g. 2025-01-01T00:00:00Z).

created_beforestring

ISO 8601 timestamp. Only return memories created before this date.

include_graphboolean

Include knowledge graph connections.

Response

resultsSearchResult[]

Array of search results ranked by relevance.

results[].idstring

Chunk ID.

results[].contentstring

Chunk content.

results[].scorenumber

Relevance score (0–1).

results[].memory_idstring

Parent memory ID.

total_resultsnumber

Total number of matching results.

Example response
{
  "results": [
    {
      "id": "chunk_abc123",
      "content": "Q4 revenue target is $10M...",
      "score": 0.92,
      "memory_id": "mem_abc123",
      "metadata": {}
    }
  ],
  "total_results": 15
}
const results = await mk.memories.search({
  query: "quarterly revenue targets",
  tags: "finance",
  precision: "high",
  limit: 10,
  includeGraph: true,
});
 
for (const result of results.results) {
  console.log(`${result.score.toFixed(2)} — ${result.content}`);
}
Edit on GitHub

On this page