--- title: Quickstart icon: "bolt" iconType: "solid" --- Mem0 offers two powerful ways to leverage our technology: [our managed platform](#mem0-platform-managed-solution) and [our open source solution](#mem0-open-source). Check out our [Playground](https://mem0.dev/pd-pg) to see Mem0 in action. Better, faster, fully managed, and hassle free solution. Self hosted, fully customizable, and open source. ## Mem0 Platform (Managed Solution) Our fully managed platform provides a hassle-free way to integrate Mem0's capabilities into your AI agents and assistants. Sign up for Mem0 platform [here](https://mem0.dev/pd). The Mem0 SDK supports both Python and JavaScript, with full [TypeScript](/platform/quickstart/#4-11-working-with-mem0-in-typescript) support as well. Follow the steps below to get started with Mem0 Platform: 1. [Install Mem0](#1-install-mem0) 2. [Add Memories](#2-add-memories) 3. [Retrieve Memories](#3-retrieve-memories) ### 1. Install Mem0 ```bash pip pip install mem0ai ``` ```bash npm npm install mem0ai ``` 1. Sign in to [Mem0 Platform](https://mem0.dev/pd-api) 2. Copy your API Key from the dashboard ![Get API Key from Mem0 Platform](/images/platform/api-key.png) ### 2. Add Memories ```python Python import os from mem0 import MemoryClient os.environ["MEM0_API_KEY"] = "your-api-key" client = MemoryClient() ``` ```javascript JavaScript import MemoryClient from 'mem0ai'; const client = new MemoryClient({ apiKey: 'your-api-key' }); ``` ```python Python messages = [ {"role": "user", "content": "Thinking of making a sandwich. What do you recommend?"}, {"role": "assistant", "content": "How about adding some cheese for extra flavor?"}, {"role": "user", "content": "Actually, I don't like cheese."}, {"role": "assistant", "content": "I'll remember that you don't like cheese for future recommendations."} ] client.add(messages, user_id="alex") ``` ```javascript JavaScript const messages = [ {"role": "user", "content": "Thinking of making a sandwich. What do you recommend?"}, {"role": "assistant", "content": "How about adding some cheese for extra flavor?"}, {"role": "user", "content": "Actually, I don't like cheese."}, {"role": "assistant", "content": "I'll remember that you don't like cheese for future recommendations."} ]; client.add(messages, { user_id: "alex" }) .then(response => console.log(response)) .catch(error => console.error(error)); ``` ```bash cURL curl -X POST "https://api.mem0.ai/v1/memories/" \ -H "Authorization: Token your-api-key" \ -H "Content-Type: application/json" \ -d '{ "messages": [ {"role": "user", "content": "I live in San Francisco. Thinking of making a sandwich. What do you recommend?"}, {"role": "assistant", "content": "How about adding some cheese for extra flavor?"}, {"role": "user", "content": "Actually, I don't like cheese."}, {"role": "assistant", "content": "I'll remember that you don't like cheese for future recommendations."} ], "user_id": "alex" }' ``` ```json Output [ { "id": "24e466b5-e1c6-4bde-8a92-f09a327ffa60", "memory": "Does not like cheese", "event": "ADD" }, { "id": "e8d78459-fadd-4c5a-bece-abb8c3dc7ed7", "memory": "Lives in San Francisco", "event": "ADD" } ] ``` ### 3. Retrieve Memories ```python Python # Example showing location and preference-aware recommendations query = "I'm craving some pizza. Any recommendations?" filters = { "AND": [ { "user_id": "alex" } ] } client.search(query, version="v2", filters=filters) ``` ```javascript JavaScript const query = "I'm craving some pizza. Any recommendations?"; const filters = { "AND": [ { "user_id": "alex" } ] }; client.search(query, { version: "v2", filters }) .then(results => console.log(results)) .catch(error => console.error(error)); ``` ```bash cURL curl -X POST "https://api.mem0.ai/v1/memories/search/?version=v2" \ -H "Authorization: Token your-api-key" \ -H "Content-Type: application/json" \ -d '{ "query": "I'm craving some pizza. Any recommendations?", "filters": { "AND": [ { "user_id": "alex" } ] } }' ``` ```json Output [ { "id": "7f165f7e-b411-4afe-b7e5-35789b72c4a5", "memory": "Does not like cheese", "user_id": "alex", "metadata": null, "created_at": "2024-07-20T01:30:36.275141-07:00", "updated_at": "2024-07-20T01:30:36.275172-07:00", "score": 0.92 }, { "id": "8f165f7e-b411-4afe-b7e5-35789b72c4b6", "memory": "Lives in San Francisco", "user_id": "alex", "metadata": null, "created_at": "2024-07-20T01:30:36.275141-07:00", "updated_at": "2024-07-20T01:30:36.275172-07:00", "score": 0.85 } ] ``` ```python Python filters = { "AND": [ { "user_id": "alex" } ] } all_memories = client.get_all(version="v2", filters=filters, page=1, page_size=50) ``` ```javascript JavaScript const filters = { "AND": [ { "user_id": "alex" } ] }; client.getAll({ version: "v2", filters, page: 1, page_size: 50 }) .then(memories => console.log(memories)) .catch(error => console.error(error)); ``` ```bash cURL curl -X GET "https://api.mem0.ai/v1/memories/?version=v2&page=1&page_size=50" \ -H "Authorization: Token your-api-key" \ -H "Content-Type: application/json" \ -d '{ "filters": { "AND": [ { "user_id": "alice" } ] } }' ``` ```json Output [ { "id": "7f165f7e-b411-4afe-b7e5-35789b72c4a5", "memory": "Does not like cheese", "user_id": "alex", "metadata": null, "created_at": "2024-07-20T01:30:36.275141-07:00", "updated_at": "2024-07-20T01:30:36.275172-07:00", "score": 0.92 }, { "id": "8f165f7e-b411-4afe-b7e5-35789b72c4b6", "memory": "Lives in San Francisco", "user_id": "alex", "metadata": null, "created_at": "2024-07-20T01:30:36.275141-07:00", "updated_at": "2024-07-20T01:30:36.275172-07:00", "score": 0.85 } ] ``` Learn more about Mem0 platform ## Mem0 Open Source Our open-source version is available for those who prefer full control and customization. You can self-host Mem0 on your infrastructure and integrate it with your AI agents and assistants. Checkout our [GitHub repository](https://mem0.dev/gd) Follow the steps below to get started with Mem0 Open Source: 1. [Install Mem0 Open Source](#1-install-mem0-open-source) 2. [Add Memories](#2-add-memories-open-source) 3. [Retrieve Memories](#3-retrieve-memories-open-source) ### 1. Install Mem0 Open Source ```bash pip pip install mem0ai ``` ```bash npm npm install mem0ai ``` ### 2. Add Memories ```python Python from mem0 import Memory m = Memory() ``` ```typescript TypeScript import { Memory } from 'mem0ai/oss'; const memory = new Memory(); ``` ```python Code # For a user messages = [ { "role": "user", "content": "I like to drink coffee in the morning and go for a walk" } ] result = m.add(messages, user_id="alice", metadata={"category": "preferences"}) ``` ```typescript TypeScript const messages = [ { role: "user", content: "I like to drink coffee in the morning and go for a walk" } ]; const result = memory.add(messages, { userId: "alice", metadata: { category: "preferences" } }); ``` ```json Output [ { "id": "3dc6f65f-fb3f-4e91-89a8-ed1a22f8898a", "data": {"memory": "Likes to drink coffee in the morning"}, "event": "ADD" }, { "id": "f1673706-e3d6-4f12-a767-0384c7697d53", "data": {"memory": "Likes to go for a walk"}, "event": "ADD" } ] ``` ### 3. Retrieve Memories ```python Python related_memories = m.search("Should I drink coffee or tea?", user_id="alice") ``` ```typescript TypeScript const relatedMemories = memory.search("Should I drink coffee or tea?", { userId: "alice" }); ``` ```json Output [ { "id": "3dc6f65f-fb3f-4e91-89a8-ed1a22f8898a", "memory": "Likes to drink coffee in the morning", "user_id": "alice", "metadata": {"category": "preferences"}, "categories": ["user_preferences", "food"], "immutable": false, "created_at": "2025-02-24T20:11:39.010261-08:00", "updated_at": "2025-02-24T20:11:39.010274-08:00", "score": 0.5915589089130715 }, { "id": "e8d78459-fadd-4c5a-bece-abb8c3dc7ed7", "memory": "Likes to go for a walk", "user_id": "alice", "metadata": {"category": "preferences"}, "categories": ["hobby", "food"], "immutable": false, "created_at": "2025-02-24T11:47:52.893038-08:00", "updated_at": "2025-02-24T11:47:52.893048-08:00", "score": 0.43263634637810866 } ] ``` Learn more about Mem0 OSS Python SDK Learn more about Mem0 OSS Node.js SDK