--- title: 'Supermemory SDK' sidebarTitle: "Supermemory SDK" description: 'Official Python and JavaScript SDKs for Supermemory' icon: "/images/supermemory.svg" --- pip install supermemory npm install supermemory ## Installation ```bash npm install supermemory ``` ## Quick Start ```typescript import Supermemory from 'supermemory'; const client = new Supermemory({ apiKey: process.env.SUPERMEMORY_API_KEY, // Default, can be omitted }); // Add a memory await client.add({ content: "Meeting notes from Q1 planning", containerTags: ["user_123"] }); // Search memories const response = await client.search.documents({ q: "planning notes", containerTags: ["user_123"] }); console.log(response.results); // Get user profile const profile = await client.profile({ containerTag: "user_123" }); console.log(profile.profile.static); console.log(profile.profile.dynamic); ``` ## Common Operations ```typescript // Add with metadata await client.add({ content: "Technical design doc", containerTags: ["user_123"], metadata: { category: "engineering", priority: "high" } }); // Search with filters const results = await client.search.documents({ q: "design document", containerTags: ["user_123"], filters: { AND: [ { key: "category", value: "engineering" } ] } }); // List documents const docs = await client.documents.list({ containerTags: ["user_123"], limit: 10 }); // Delete a document await client.documents.delete({ docId: "doc_123" }); ``` ## Installation ```bash pip install supermemory ``` ## Quick Start ```python import os from supermemory import Supermemory client = Supermemory( api_key=os.environ.get("SUPERMEMORY_API_KEY"), # Default, can be omitted ) # Add a memory client.add(content="Meeting notes from Q1 planning", container_tags=["user_123"]) # Search memories response = client.search.documents( q="planning notes", container_tags=["user_123"] ) print(response.results) # Get user profile profile = client.profile(container_tag="user_123") print(profile.profile.static) print(profile.profile.dynamic) ``` ## Common Operations ```python # Add with metadata client.add( content="Technical design doc", container_tags=["user_123"], metadata={"category": "engineering", "priority": "high"} ) # Search with filters results = client.search.documents( q="design document", container_tags=["user_123"], filters={ "AND": [ {"key": "category", "value": "engineering"} ] } ) # List documents docs = client.documents.list(container_tags=["user_123"], limit=10) # Delete a document client.documents.delete(doc_id="doc_123") ```