Skip to main content
At it’s core, supermemory is powered by a custom learning model and a graph database that we built internally.

Learning model

Decides what and how to learn, what is important, when to forget, creating relations, etc.

Temporal Vector-graph engine

Where the learnings are actually stored, optimized for search. Fact-based temporal graph that has Vector, FTS, and graph built in.
But, you don’t have to think about the above. The interface for users is as simple as it gets.

Get started in under a minute

1. Get an API key

From the developer consoleAPI Keys → Create API Key. console.supermemory.ai is where keys and usage live.

2. Use it

Install the SDK, drop in your key, add a memory, and search it — right below, or the full ingest → retrieve loop.

What you send: documents

A document is raw input — whatever you hand Supermemory:
  • Conversation transcripts and messages
  • Text, markdown, HTML
  • PDFs, images, audio/video, code
  • URLs and connector items (Drive, Notion, Gmail, …)
You do not pre-chunk or pick an embedding model. See Multi-modal ingestion for formats, and Add context for the API. Supermemory handles the ingestion and extraction for you. This also gives us a big advantage for quality - The engine extracts it in an optimized way with Contextual Chunking and other features for better quality search and memory generation.
Use a stable customId when the same conversation or file will be updated later (sessions, connector syncs). That identity also drives diff billing on re-ingest.

What the pipeline does

Larger PDFs and long video take longer. Short chat turns usually finish in seconds.

Dreaming (how memories enter the graph)

Document status done means chunks are indexed for search. Memories — the graph facts, updates, and derives — come from a second phase called dreaming. This is when the content is passed through the memory model and merged, arranged and organized for the future. Pass dreaming on add:
Rule of thumb: prefer dynamic for quality and cost in real apps, use instant when the next step is a memory search or profile that must reflect this document immediately (as in the quickstart). Keeping it dynamic helps it pair better with other memories and better connections, inferences to be made. How those memories connect and stay true over time is Graph memory. API detail: Processing modes.

What you get out

After the pipeline runs, the same document leads to three things -> Chunks, Memories and Profile. (in the same containerTag): Supermemory does not only store the file. It derives memories (understanding) and keeps chunks (the source) so you can personalize and ground. That distinction is the core of Memory vs RAG.

Isolation and identity

  • containerTag — hard isolation boundary (user, tenant, project). See Container tags.
  • Metadata — soft dimensions inside a tag for filtering. See Metadata filtering.
  • Scoped API keys — credentials that cannot cross a container. See API keys.

Next steps

Graph memory

How facts connect, update, and stay true over time.

Multi-modal ingestion

Formats, extractors, and what you can send.

Add context

API: add, customId, files, dreaming, status.

Search API

Query documents and memories after the pipeline finishes.