Zep alternatives
Checked against Zep’s own documentation on
Zep is built on a temporal knowledge graph. Facts become edges, and every edge carries the interval over which it was valid, so the store can answer what was true at a point in the past.
When the question really is temporal, nothing else here replaces it. The rest of this page is about whether you need that structure. WOS is ours, and it is what teams use when they decide they do not.
- +5.5LongMemEval-S95.7% against Zep’s 90.2%
- 1.8×less context per query2,484 tokens against 4,408
- 95.2%recall@5 across 70 language pairsZep publishes no figure for this
Where WOS comes out ahead. Where it does not is in the table below.
Zep and WOS
| Zep | WOS | |
|---|---|---|
| What each one has published | ||
| LongMemEval-S | 90.2% their own evaluation page, reader not stated | 95.7% Tablet 2 read by Claude Opus 5; 93.7% read by GPT-5.6-sol |
| Context per query | 4,408 tokens their figure on that run | 2,484 tokens BEAM-1M at 2.2M memories with verify 3 — the run the score above comes from |
| Latency | 162ms median, end to end including the reader | ~320ms median engine round trip; 393ms at 2.21 million memories |
| DMR | 94.8% with GPT-4-Turbo | Not run |
| Also published | Per-question-type gains in their paper, arXiv 2501.13956 | BEAM-1M 67.5%, languages 95.2% Tablet 2; recall@5 over 70 language pairs |
| Source | blog.getzep.com | how we benchmark |
| How it is built | ||
| Stored as | Entities and relations, with validity intervals | Kept, not rewritten |
| A model reads it | Yes, at ingest | Never |
| Organised around | A graph of entities | One store per end-user |
| Retrieval | Search plus graph traversal | Not published |
| Correcting a fact | A new edge with a new interval | supersede, with lineage |
| Licence | Apache-2.0 for Graphiti, the engine | Closed source |
| Self-hosting | Engine yes; service inside your cloud | Case by case |
| Metered by | Credits | Tokens, plus a flat fee per request |
- Both columns are self-reported: a placement, not a verdict. Some rows go to Zep.
- Across languages is a grid of 70 store-language by query-language pairs.
What WOS does
Against Zep the difference is what gets modelled. Zep models the world: entities, relations, and the interval over which each fact held. WOS models the record: what was said, when you wrote it down, and what replaced it.
For your AI Won is the part of the product addressed to the model rather than to you, and it carries no charge. Your agent can ask how much of its own memory has been rewritten before it leans on a fact, and the answer is the same size for a hundred memories or a hundred million. the page written for an arriving agent.
- supersede and lineageReplacing a fact stops the old statement winning retrieval and leaves a chain you can read back. It is the closest thing here to a temporal answer, and it is narrower than one.
- Nothing extracts at ingestNo model reads text on the way in, so there is no extraction bill and no class of error where a relation gets invented that was never said.
- A bounded answer2,484 tokens per query at 2.2 million memories against their 4,408, with no traversal depth to tune because there is no graph to traverse.
- Filters that do not spoil the rankingNarrowing by category or date is applied before ranking, so you get the best matches inside the filter rather than a filtered top-N. It behaves the same in every language.
- Repeated queries bill a tenthCaching is a field on the call, and any write invalidates it instantly, so a cached answer can never be stale.
- Calls the model makes for itselfWon is the part of the product addressed to your agent rather than to you, and it carries no charge. revisions is the first of them: the model can ask how much of a memory has been rewritten before it leans on it, and the answer is the same size at a hundred memories or a hundred million.
- Multi-hop without a modelEngrams search and then expand around what they found: deep recall, timelines, drafts. No language model runs in that loop, so a question that takes two steps is one call and there is no per-hop bill.
Where Zep is the better answer
- Bitemporal factsIf you need to answer as of a date, nothing else on this page does it and you should stay.
- Graphiti’s permissive licence, and the option to run the engine yourself
- SOC 2 Type II and a HIPAA BAA on their enterprise tier, plus deployment inside your own cloud
- Explicit relations you can traverse and inspect, rather than similarity you have to trust
- What WOS costs you. It is closed source and hosted, so running it on your own hardware is a conversation rather than a download. There is no knowledge graph, so a question that is really about validity intervals is better served elsewhere. And it is the newest name on this page, with a smaller ecosystem than the ones above it.
- What it buys you. Nothing runs a language model over what you stored, so the privacy review is one sentence rather than a discussion. A query comes back in about 320ms, and the context it hands over was measured at 2,484 tokens over 2.2 million memories. Repeated queries bill a tenth. And it behaves the same in every language: recall@5 of 95.2% over 70 store-language by query-language pairs.
Why teams look at something else
| Temporal validity is not what every product asks | The graph earns its complexity on questions with a date in them, and if you never ask one you are paying for a capability you do not call. |
| Ingest needs a language model | A misread relation becomes a wrong edge rather than a missing memory, and a wrong edge is harder to notice. |
| A graph is a structure you now own | What counts as an entity, and how far to traverse at query time, become decisions your team maintains. |
| Credits are a second unit to reason about | Capacity gets planned in credits rather than in the operation you actually perform. |
- None of these are defects. Each follows from a decision that is right for somebody.
Bringing memory over
Facts in a graph come out as statements, and statements are what WOS stores, so the text moves over cleanly through bulk-store with one store per end-user. The part that does not transfer is the interval on each edge. WOS has a related but narrower thing: supersede replaces a memory so the outdated statement stops winning retrieval, and lineage reads the chain of revisions back. That gives you the history of what you believed and when you changed your mind. It does not give you the history of what was true. If that distinction is load-bearing in your product, treat it as the signal to stay where you are.
The calls are in the documentation: create a store, bulk-store, and the rest of the endpoints. A key takes a few minutes in the console.
Questions
- Is there a Zep alternative with no language model at ingest?
WOS never rewrites what you send and never runs a model over it, at write time or at read time. That removes both the extraction bill and the class of errors where a model invents a relation, at the cost of not having a graph to traverse.
- Do I actually need a temporal knowledge graph?
Ask whether any question your product answers contains a date. If your users ask what their plan is, a store is enough, and WOS answers that in about 320ms with no traversal depth to tune. If they ask what their plan was when they were charged in March, the graph is doing something a store cannot fake.
- Is Zep open source?
Graphiti, the temporal graph engine, is Apache-2.0 and self-hostable. The managed Zep platform is a separate product built on top of it, so open source applies to the engine rather than to the whole service. WOS is neither: closed source and hosted only. If running the engine yourself matters, Zep gives you a route WOS does not.
- Can WOS answer what was true on a given date?
Not properly, and it is worth being exact about this. WOS records revisions, so you can read back that a fact was replaced and when the replacement was written. That is the history of your record, not the history of the world. A temporal graph models the second one.
The other options
- Mem0 Extract facts with a model as you write. Right for you if you want conversations turned into clean facts, and the widest ecosystem.
- Letta Let the agent manage its own memory. Right for you if you want the agent to own and edit its own memory, inside their runtime.
- Cognee Run a pipeline over documents into a graph and vectors. Right for you if what you are remembering is a document corpus, and you want to own the pipeline.
- Supermemory Bundle memory with retrieval over connected sources. Right for you if you want one API over connectors, documents and chat memory together.
- Vector DB Build it yourself on a vector database. Right for you if you are prototyping, or you want no vendor in the path and will build the rest.
- Checked against Zep’s own documentation on September 1, 2026.
- We quote nobody else’s prices, and use only figures each project published itself.
- Out of date or unfair? Tell us and it gets corrected.
You need the same store to work in many languages, and a per-query cost that does not drift as history grows. If that is not your case, one of the projects above will serve you better.
Three calls: create a store, write a memory, recall against it. No subscription, balance starts at $5. Get an API key or read the docs.