> ## Documentation Index
> Fetch the complete documentation index at: https://mem0-feature-memo-claude-plugin-v1.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform vs Open Source

> Compare Mem0 Platform and Open Source to choose the right solution for managed hosting or self-hosted deployment.

## Which Mem0 is right for you?

Mem0 offers two ways to add memory to your AI applications. Both run the same core extraction and retrieval logic; the Platform adds hosting, a small set of v3-only capabilities, and management surfaces that OSS does not have.

<CardGroup cols={2}>
  <Card title="Mem0 Platform" icon="cloud" href="/platform/quickstart">
    **Managed, hassle-free**

    Get started in 5 minutes with our hosted solution. No vector store, LLM, or embedder to configure.
  </Card>

  <Card title="Open Source" icon="code-branch" href="/open-source/python-quickstart">
    **Self-hosted, full control**

    Deploy on your infrastructure. Choose your vector DB, LLM, and configure everything.
  </Card>
</CardGroup>

***

## What's the same

The core memory loop is identical on both: `add`, `search`, `get`, `get_all`, `update`, `delete`, `delete_all`, and per-memory `history` all exist on the self-hosted `Memory`/`AsyncMemory` classes and on the hosted `MemoryClient`/`AsyncMemoryClient`. Both support:

* **Entity scoping** by `user_id`, `agent_id`, and `run_id`
* **Filter grouping**: both accept `AND`/`OR`/`NOT` wrappers, both implicitly AND a flat multi-key filter like `{"user_id": "alice", "agent_id": "a1"}`, and both accept `*` as a wildcard value. Which fields you may filter on, and which operators each field accepts, differ (see below)
* **Entity-aware ranking**: both extract entities from memory text and use shared entities to boost related results at search time
* **Multimodal input**, **memory expiration** (`expiration_date`), **reranking**, **procedural memory** (Python), and **custom extraction instructions** (`custom_instructions`)
* Python and JavaScript SDKs, plus a REST API (self-hosted via `server/`, or hosted)

## What's actually different

<AccordionGroup>
  <Accordion title="Hosting & infrastructure" icon="server">
    | Feature                         | Platform               | Open Source                                |
    | ------------------------------- | ---------------------- | ------------------------------------------ |
    | **Vector store, LLM, embedder** | Run and tuned by Mem0  | You provision, configure, and pay for each |
    | **Scaling & availability**      | Managed                | Your responsibility                        |
    | **Web dashboard**               | `app.mem0.ai`          | Not included                               |
    | **Time to first memory**        | Minutes (API key only) | Depends on your vector DB / LLM setup      |
  </Accordion>

  <Accordion title="Entity scoping & workspace structure" icon="layer-group">
    | Feature                      | Platform                                                                                                                      | Open Source                                                     |
    | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
    | **Scoping identifiers**      | `user_id`, `agent_id`, `run_id`, plus `app_id` for app/tenant separation                                                      | `user_id`, `agent_id`, `run_id` only, no `app_id`               |
    | **Organizations & projects** | Multi-org, multi-project, with member roles ([API reference](/api-reference/organization/get-org))                            | No org/project concept; a single local config                   |
    | **Project-wide event feed**  | `GET /v1/events/` lists recent add/search/delete events per org and project, usable for dashboards, alerting, or audit trails | Only per-memory `history(memory_id)`, no project-wide event log |

    See [Entity-Scoped Memory](/platform/features/entity-scoped-memory) for the full `app_id` model.
  </Accordion>

  <Accordion title="Search-time ranking (v3-only)" icon="sparkles">
    | Feature                              | Platform                                                                                                                                                  | Open Source                                                                                                                                                                                                                                                                 |
    | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Graph Memory**                     | Native, always-on graph over extracted entities; connections feed directly into the ranking `score` ([details](/platform/features/graph-memory))          | Removed. OSS previously connected external graph stores (Neo4j, Memgraph, Kuzu, Apache AGE); that integration was dropped when the v3 pipeline landed. OSS still extracts entities and uses them to boost ranking, but there is no queryable graph and no `relations` field |
    | **Memory Decay**                     | Opt-in per project; reinforces recently-used memories and gently dampens stale ones at search time ([details](/platform/features/memory-decay))           | Not supported. Passing `decay` raises `"The decay parameter is not supported by the OSS Memory SDK."`                                                                                                                                                                       |
    | **Temporal Reasoning**               | Boosts memories whose event dates match the time expressed in a query (`timestamp` / `reference_date`) ([details](/platform/features/temporal-reasoning)) | Not supported. Both parameters raise a "not supported by the OSS Memory SDK" error                                                                                                                                                                                          |
    | **Dream (background consolidation)** | Continuously synthesizes patterns, supersedes outdated facts, and merges duplicates per user ([details](/platform/features/dream))                        | Not available                                                                                                                                                                                                                                                               |
  </Accordion>

  <Accordion title="Configuration & data operations" icon="sliders">
    | Feature                  | Platform                                                                                                                                                                                                                                                                                                                                                                       | Open Source                                                                                                                                                                                                                                                                               |
    | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Custom categories**    | Set per project or per `add` call ([details](/platform/features/custom-categories))                                                                                                                                                                                                                                                                                            | Not supported. `Memory.add()` has no `custom_categories` parameter, and OSS project updates are rejected outright                                                                                                                                                                         |
    | **Webhooks**             | Project-scoped HTTP callbacks on memory and ingest events ([details](/platform/features/webhooks))                                                                                                                                                                                                                                                                             | Not available                                                                                                                                                                                                                                                                             |
    | **Memory Export**        | Schema-driven structured export jobs over filtered memories ([details](/platform/features/memory-export))                                                                                                                                                                                                                                                                      | Not available                                                                                                                                                                                                                                                                             |
    | **Batch operations**     | `batch_update` and `batch_delete` apply up to 1000 memories per call                                                                                                                                                                                                                                                                                                           | Not available. Loop over the single-memory `update`/`delete` calls                                                                                                                                                                                                                        |
    | **Feedback**             | `feedback(memory_id, ...)` records `POSITIVE`, `NEGATIVE`, or `VERY_NEGATIVE` signals against a retrieved memory ([details](/platform/features/feedback-mechanism))                                                                                                                                                                                                            | Not available                                                                                                                                                                                                                                                                             |
    | **Summaries**            | `get_summary(filters)` returns a generated summary over the matching memories                                                                                                                                                                                                                                                                                                  | Not available                                                                                                                                                                                                                                                                             |
    | **Filterable fields**    | Top-level filter keys come from a fixed allowlist: `user_id`, `agent_id`, `app_id`, `run_id`, `created_at`, `updated_at`, `timestamp`, `expiration_date`, `categories`, `metadata`, `keywords`, `memory_ids`, plus the `AND`/`OR`/`NOT` operators and a few endpoint-specific extras. Any other key is rejected with a `400` ([details](/platform/features/v2-memory-filters)) | Any metadata key is filterable directly, with no allowlist                                                                                                                                                                                                                                |
    | **Comparison operators** | Depends on the field: `metadata` accepts `eq`, `ne`, `contains`; `categories` accepts `contains`, `in`; the date fields accept the range operators                                                                                                                                                                                                                             | The filter layer accepts the full set on any key: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`, `contains`, `icontains`. What actually runs depends on the vector store you configured, so confirm operator coverage for yours ([details](/open-source/features/metadata-filtering)) |
  </Accordion>

  <Accordion title="Support" icon="life-ring">
    | Channel                     | Platform                                                    | Open Source                                                       |
    | --------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------- |
    | **Community & maintainers** | Discord, GitHub Discussions, direct calls with the founders | Same: Discord, GitHub Discussions, direct calls with the founders |

    Support channels are currently the same for both. If you need something contractual (a support SLA, for example), ask before assuming it exists: it is not documented as a Platform benefit today.
  </Accordion>
</AccordionGroup>

User Profiles are not listed above. The feature is still being finalized internally, so this page does not present it as an available Platform benefit.

***

## Decision Guide

**Choose Platform if you want:**

* Zero infrastructure: no vector store, LLM, or embedder to provision or tune.
* The v3-only ranking features: Graph Memory, Memory Decay, Temporal Reasoning, and Dream.
* App-level and org/project-level scoping, plus webhooks, memory export, and custom categories.

**Choose Open Source if you need:**

* Full data control: host everything on your own infrastructure.
* Custom configuration: your own vector DB, LLM provider, and embedder ([25 vector stores](/components/vectordbs/overview), [18 LLM providers](/components/llms/overview), [11 embedders](/components/embedders/overview) at the time of writing).
* Extensibility: modify the codebase, add custom providers, and contribute back.
* Cost optimization: local LLMs (Ollama), self-hosted vector DBs, no usage-based billing.

***

## Still not sure?

<CardGroup cols={2}>
  <Card title="Try Platform Free" icon="rocket" href="https://app.mem0.ai/login?utm_source=oss&utm_medium=platform-vs-oss">
    Sign up and test the Platform with our free tier. No credit card required.
  </Card>

  <Card title="Explore Open Source" icon="github" href="https://github.com/mem0ai/mem0">
    Clone the repo and run locally to see how it works. Star us while you're there!
  </Card>
</CardGroup>
