--- title: "past.dev vs mem0" description: "Compare past.dev and mem0 by storage model, input format, deployment, changed-fact handling, recall output, and operational requirements." canonical: https://past.dev/vs/mem0 last-updated: 2026-10-10 --- # past.dev vs mem0 Source: https://past.dev/vs/mem0 mem0 is an open-source memory layer that extracts memories from conversations and stores them in a vector store you configure, scoped per user, session or agent. past.dev is a memory API that accepts timestamped text and returns ranked documents with dated source excerpts. It runs as a managed service or, on an Enterprise agreement, in your own cloud. ## What mem0 is [mem0](https://github.com/mem0ai/mem0) is an Apache 2.0 memory layer for AI agents, with Python and TypeScript SDKs. It can run three ways: as a library inside your process, as a self-hosted server, or as their managed platform. The core surface is small, `add()` writes memories from messages and `search()` retrieves them, and memory is scoped at user, session and agent level. A language model extracts memories as short statements about a user. A configured vector store keeps those statements for retrieval by user, session or agent scope. ## What past.dev is past.dev runs as a managed service or, on an Enterprise agreement, in your own cloud. You `POST` raw text with its original timestamp, wait until ingestion completes, and query it later. `/recall` returns ranked documents with occurrence dates and source excerpts for the requested identity. Stable source ids support replacement, ingestion ids support deletion, and an optional recall timestamp supplies a historical query perspective. ## Architecture differences | | mem0 | past.dev | | --- | --- | --- | | Licence | Apache 2.0 | Commercial | | How you run it | Library, self-hosted server, or managed platform | Managed API, or your own cloud on an Enterprise agreement | | What you send | Conversation messages | Any text plus the timestamp it happened, backdatable | | Unit sent | Conversation messages | Timestamped source text | | Storage | A vector store you configure | Managed by past.dev, or your own database on an Enterprise agreement | | Scoping | user, session and agent identifiers | Project, audience slug, and identity | | A source changed | The memory is updated | Reuse its stable source id for the new revision | | Reading | Search returns memories | `/recall` returns ranked documents | | Says it does not know | Your code decides | Your code evaluates returned documents | | Cost visibility | Your model provider's bill | Accounted per call on the console dashboard | ## How to choose Choose based on the requirements below. - **Choose mem0** if you want to own the whole memory in your own infrastructure, if your input is chat and your questions are about a user's stable preferences, or if an Apache 2.0 licence is a requirement. - **Choose past.dev** if you ingest timestamped emails, transcripts, tickets, and notes, or if recall must return dated source excerpts under identity and audience scoping. - **Neither is a framework.** Both leave your agent, your model and your prompts where they are. ## What this page does not claim This page contains no head-to-head scores. Our evaluation uses BEAM and LoCoMo with community-corrected answer keys, with full-context and plain-RAG baselines and several judges. The method is published on [benchmarks](/benchmarks). We will publish product comparisons after documenting a reproducible configuration for the other product. ## Related - [What is agent memory?](https://past.dev/what-is-agent-memory) - [past.dev vs Zep](https://past.dev/vs/zep) - [past.dev vs Letta](https://past.dev/vs/letta) - [API reference](https://past.dev/docs/memory-api/api-reference) - [How we measure memory](https://past.dev/benchmarks)