Alternatives

Zep alternatives

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

ZepWOS
What each one has published
LongMemEval-S90.2% their own evaluation page, reader not stated95.7% Tablet 2 read by Claude Opus 5; 93.7% read by GPT-5.6-sol
Context per query4,408 tokens their figure on that run2,484 tokens BEAM-1M at 2.2M memories with verify 3 — the run the score above comes from
Latency162ms median, end to end including the reader~320ms median engine round trip; 393ms at 2.21 million memories
DMR94.8% with GPT-4-TurboNot run
Also publishedPer-question-type gains in their paper, arXiv 2501.13956BEAM-1M 67.5%, languages 95.2% Tablet 2; recall@5 over 70 language pairs
Sourceblog.getzep.comhow we benchmark
How it is built
Stored asEntities and relations, with validity intervalsKept, not rewritten
A model reads itYes, at ingestNever
Organised aroundA graph of entitiesOne store per end-user
RetrievalSearch plus graph traversalNot published
Correcting a factA new edge with a new intervalsupersede, with lineage
LicenceApache-2.0 for Graphiti, the engineClosed source
Self-hostingEngine yes; service inside your cloudCase by case
Metered byCreditsTokens, 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 asksThe 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 modelA 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 ownWhat counts as an entity, and how far to traverse at query time, become decisions your team maintains.
Credits are a second unit to reason aboutCapacity 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

  • 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.