---
title: "Mem0 alternatives for agent memory in 2026"
description: "A comparison of mem0 alternatives including Zep, Letta, Supermemory and past.dev by architecture, deployment, inputs and changed-fact handling."
canonical: https://past.dev/blog/mem0-alternatives
date: 2026-08-30
category: Engineering
authors: The past.dev team
---
# Mem0 alternatives for agent memory in 2026

Teams evaluating mem0 alternatives commonly compare mem0, Zep, Letta, Supermemory and past.dev. All five provide memory-related functions for AI agents. Their architectures and deployment models differ. This article summarizes each product using its public documentation.

The comparison covers product design. Our [benchmarks page](/benchmarks) reports past.dev accuracy and cost. We do not publish direct product scores until the tested product has been configured and the test can be reproduced.

## mem0

[mem0](https://github.com/mem0ai/mem0) is an Apache 2.0 memory system with Python and TypeScript SDKs. An application sends conversations through `add()`. A language model extracts memories. `search()` retrieves them later.

Memories can be scoped by user, session or agent. They are stored in a configured vector store. mem0 can run as a library, self-hosted server or managed service. Its managed service also provides a graph view and hosted MCP server.

mem0 is designed for user preferences and profile facts in conversational products. During evaluation, test whether the extractor stores every required fact and how the system handles conflicting values. See [past.dev vs mem0](/vs/mem0) for a detailed comparison.

## Zep

[Zep](https://www.getzep.com/) is a memory service based on the Graphiti temporal knowledge graph. It accepts conversations, JSON and documents as episodes. It extracts entities and relationships. Facts include timestamps, and older relationships can be marked as expired when new information arrives.

Retrieval combines semantic search, keyword matching and graph traversal. Graphiti is open source and runs on a graph database. Zep is suitable for teams that want to operate a temporal graph themselves. See [past.dev vs Zep](/vs/zep).

## Letta

[Letta](https://docs.letta.com/), previously MemGPT, is an Apache 2.0 platform for stateful agents. It provides memory blocks inside the agent's context window and archival memory outside the window. The agent reads and edits memory through tools.

Letta can run as a self-hosted system or through Letta Cloud. It includes an interface for inspecting and editing agent memory. Letta supplies an agent runtime as well as memory. It can also call an external memory API through a tool. See [past.dev vs Letta](/vs/letta).

## Supermemory

[Supermemory](https://github.com/supermemoryai/supermemory) provides context and memory infrastructure. It ingests text, chats, files, PDFs, images and video through connectors and extractors. It also provides retrieval and user profiles.

Supermemory offers a hosted API and SDKs. Its MIT-licensed repository supports self-hosting. It is suitable when an application requires many input formats and prebuilt connectors. See [past.dev vs Supermemory](/vs/supermemory).

## past.dev

past.dev is a memory API with four endpoints. It does not provide an agent framework or runtime. `POST /api/v1/ingest` accepts raw text with its original timestamp. past.dev performs entity resolution, fact extraction and temporal storage.

`POST /api/v1/recall` returns ranked, dated evidence. Its `status` value can be `Supported`, `Conflicted` or `NoKnownSupport`. `NoKnownSupport` allows an application to handle insufficient evidence explicitly.

The [benchmarks page](/benchmarks) documents past.dev's method and results. past.dev is in early access and is available as a managed or self-hosted deployment.

## Selection guide

- Choose **mem0** for extracted user preferences and profile memories in a conversational product.
- Choose **Zep or Graphiti** when you want to operate an open-source temporal graph.
- Choose **Letta** when you need an agent runtime with agent-managed memory.
- Choose **Supermemory** when you need broad file-format support and connectors.
- Choose **past.dev** when you need dated evidence, current-state tracking and explicit insufficient-evidence status through an API.

During evaluation, test how each system handles a changed fact and an unsupported question. Also measure retrieval accuracy, latency and cost on your own data. See [What is agent memory?](/what-is-agent-memory) for the core concepts and the [quickstart](/docs/memory-api/quickstart) for the past.dev API.
