Rapid memory for AI agents.

FishMem is the hosted memory platform built on the open-source FishMem engine. A versioned memory API with familiar scopes, first-party SDKs, hybrid graph + vector recall, bi-temporal facts, and scoped API keys — running on the edge, with API keys in minutes.

  • Mem0-style scopes
  • Hybrid recall
  • Open-source engine
TypeScript
import { FishMem } from "@fishmem/sdk";

// Get your key at https://fishmem.com
const fishmem = new FishMem({
  apiKey: process.env.FISHMEM_API_KEY,
});

// Remember a conversation
await fishmem.memories.add(
  {
    messages: [
    { role: "user", content: "I'm vegetarian and allergic to nuts." },
    { role: "assistant", content: "Got it — I'll remember that." },
    ],
    user_id: "user123",
  },
  { idempotencyKey: "user123-diet-v1" },
);

// Recall what's relevant
const { results } = await fishmem.memories.search({
  query: "What are my dietary restrictions?",
  user_id: "user123",
});
console.log(results);

Quickstart

Set up in minutes

Two REST calls give your agent long-term memory: add what the user says, then search it back whenever you need it.

01

Create an API key

Open the dashboard → API Keys, create a key, and copy the secret — it starts with fm_ and is shown once.

02

Add and search memories

Use the first-party TypeScript or Python SDK, or call the versioned REST API directly. Inferred adds store refined records; search recalls them before the next model call.

Get your API key
import { FishMem } from "@fishmem/sdk";

const fishmem = new FishMem({
  apiKey: process.env.FISHMEM_API_KEY
});

// 1. Add what the user tells you
await fishmem.memories.add(
  {
    messages: [
      { role: "user", content: "I'm vegetarian and allergic to peanuts." }
    ],
    user_id: "alex"
  },
  { idempotencyKey: "alex-diet-v1" }
);

// 2. Recall it before the next model call
const { results } = await fishmem.memories.search({
  query: "What can Alex eat?",
  user_id: "alex"
});

Memory your agents can actually rely on in production.

The goal is not to hoard transcripts. The goal is to extract the facts that matter, keep them current, and return the right ones in well under a second — every turn of the loop.

Hybrid retrieval

Four signals, one ranked recall

request logs
Vector + keywordMatched
Graph diffusionRanked
Temporal validityResolved

Recall That Understands Time and Relationships

Facts are bi-temporal — they know when they were true and what superseded them — and graph recall connects related facts across conversations, so the right memory surfaces even when the words don't match.

  • Hybrid vector, keyword, graph, and temporal retrieval signals
  • Facts know when they were true and what superseded them
  • Superseded facts are versioned and stay queryable, never silently deleted
POST /v1/memories

Endpoint

/v1/memories

Auth

API key

Mode

Inferred

Status

201

Familiar API, Explicit FishMem Contract

POST /v1/memories to add and POST /v1/memories/search to recall. FishMem keeps familiar mem0-style scopes while defining its own versioned responses, errors, idempotency, and operation resources.

  • API keys in minutes, no card required
  • One-pass inferred adds or explicit verbatim storage
  • First-party TypeScript and Python SDKs plus OpenAPI 3.1
LiveHosted memory platform

Sign up, create a key, ship — nothing to provision or patch

Scales automatically and stays fast from every region

Isolated by workspace, exportable via the API — your data stays yours.

Nothing to Operate — Sign Up, Create a Key, Ship

FishMem is memory out of the box. No servers to size, no indexes to babysit, no pipelines to deploy. It scales with you automatically and stays fast from every region.

  • Live in minutes — sign up, create a key, make your first call
  • Scales with your traffic automatically, fast from every region
  • Your data stays isolated, exportable, and deletable at any time

Use cases

Memory that adapts to your domain

The same two endpoints power very different agents. Scope memories per user, agent, or session, and FishMem keeps each domain's facts current as the world changes.

Customer Support

Agents that remember every prior ticket, the customer's preferences, and the promises your team made — so nobody has to repeat themselves.

AI Companions

Relationships that deepen over time. Companions recall months of conversation and know what changed and when — not just what was said.

Coding Agents

Project conventions, past decisions, and hard-won gotchas persist across sessions, so your agent stops re-learning the codebase every morning.

Sales & CRM

Every conversation, objection, and follow-up stays in context. The next call starts where the last one ended, not from a blank page.

Healthcare Assistants

History, allergies, and what helped before — with full change history per fact, so the compliant workflows you build on top stay grounded in accurate, current records.

Education

Tracks what each learner has mastered and where they struggle, so tutoring agents pick up exactly where the student left off.

Built for teams. Designed for control.

No black boxes around your users' memories. Isolation is enforced in the data layer, every change is logged, and your data is exportable on demand.

Get your API key
01

Isolated

Every workspace's memories are hard-isolated in the data layer — no cross-tenant reads, no shared indexes. API keys are hashed at rest, shown once at creation, and revocable instantly from the dashboard.

02

Auditable

Every add, update, invalidate, and delete is logged per memory, and the full change history is one API call away. Usage is metered per operation, so you always know what ran and what it cost.

03

Yours

Export or delete everything via the API at any time. The engine is open source, so there is no lock-in — and self-hosting is always an option.

Start free, upgrade when traffic grows

Prototype on Hobby, then move to monthly Stripe plans with higher included memory operations. Reads are always free.

Get your API key

Hobby

Freeno card required
Get your API key
Credits
10,000 add requests and 1,000 retrieval requests per month
Best for
Prototyping memory for a single agent or side project
Metering
Full API access from day one: adds, search, and free reads
Support
Community support on GitHub issues and discussions
Platform access
Versioned REST API, first-party SDKs, dashboard, and one workspace
Data ownership
Memories stay workspace-scoped; export or delete them at any time.

Starter

Most popular
$19per month
Credits
50,000 add requests and 5,000 retrieval requests per month
Best for
Small apps moving from prototype to live traffic
Metering
Operation-level usage and credit balance in the dashboard
Support
Community support
Platform access
Hosted FishMem API, dashboard, and one workspace
Data ownership
Memories stay workspace-scoped; export or delete them at any time.

Growth

$79per month
Credits
200,000 add requests and 20,000 retrieval requests per month
Best for
Teams scaling memory across production users
Metering
Usage analytics, API keys, webhooks, and billing controls
Support
Email support from the engineers who built the engine
Platform access
Multiple projects, hybrid retrieval, graph and temporal recall
Data ownership
Memories stay workspace-scoped; export or delete them at any time.

Pro

$249per month
Credits
500,000 add requests and 50,000 retrieval requests per month
Best for
Higher-volume apps that need advanced usage visibility
Metering
Advanced analytics and higher included monthly capacity
Support
Private Slack support
Platform access
Unlimited projects with production-ready controls
Data ownership
Memories stay workspace-scoped; export or delete them at any time.

Enterprise

Customannual commitment
Talk to us
Credits
Committed-use credit pricing with volume discounts
Best for
Teams with compliance, scale, or data-residency requirements
Metering
Dedicated capacity, SLAs, and priority on the roadmap
Support
Private channel, onboarding help, and migration assistance
Platform access
Everything in Pro, plus SSO and audit controls
Data ownership
Memories stay workspace-scoped; export or delete them at any time.

Credits are consumed per API operation: 2 for an inferred add, 1 for an infer=false verbatim add or search, and reads are free. Self-hosting the open-source engine costs nothing.

Built around clear engineering principles.

Memory infrastructure should be inspectable: request logs, API keys, usage, and billing belong next to the API itself.
Operational clarity

Operational clarity

Platform principle

A memory store that forgets when facts were true will confidently answer with stale ones. Bi-temporal tracking is not optional.
Time-aware truth

Time-aware truth

Data model principle

Memory sits inside the agent loop, so retrieval latency is a product feature, not an implementation detail.
Speed as a feature

Speed as a feature

Performance principle

Frequently asked questions

Quick answers about FishMem, the FishMem engine, and migrating from mem0.

What is FishMem?

FishMem is a hosted memory layer for AI agents. It runs on the open-source FishMem engine, extracts durable facts from conversations, stores them in a bi-temporal knowledge graph, and recalls them with hybrid vector, keyword, temporal, and graph-diffusion retrieval.

How is FishMem different from mem0?

FishMem uses familiar user_id, agent_id, and run_id scopes, but it has its own explicit contract. Default infer=true performs one extraction call and stores only refined records; infer=false stores submitted records verbatim. Recall can add temporal state, provenance, and graph signals, while hosted operations, usage, and billing remain outside MemoryCore.

Can I migrate from mem0 without rewriting my code?

The core add, search, and scope concepts overlap, but FishMem is not a compatibility shim. Response envelopes, update fields, error codes, idempotency, and operation handling differ. Use the migration guide and first-party SDK, then run the documented add-search-update-delete acceptance flow.

How is my data isolated and secured?

Every memory is scoped to a workspace, and isolation is enforced in the data layer — no cross-tenant reads or shared indexes. API keys are shown once at creation and stored as salted hashes, and you can rotate or revoke them from the dashboard. You can export or delete a workspace's memories at any time.

What is the difference between the open source engine and the cloud?

The FishMem engine and self-hosted API/dashboard are open source under Apache-2.0. Cloud runs the same MemoryCore and adds managed storage, tenant and plan enforcement, usage charging, billing, organizations, and operated infrastructure. Memory semantics do not fork between editions.

How does pricing work?

Usage is metered in transparent credits: an inferred add is 2 credits, an infer=false verbatim add is 1, a search is 1, and reads and lists are free. Current plan prices and included capacity are shown on the pricing page and in the dashboard.