Skip to main content
At its 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 console — API 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)

A document with status done has its chunks indexed for search. Memories (the graph’s facts, updates and derived facts) 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: use dynamic in real apps for better quality and cost, because batching lets new memories connect to related ones. Use instant when the very next step is a memory search or profile that must already reflect this document, as in the quickstart. 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 more than store the file. It derives memories (what it understood) and keeps chunks (the source), so you can both personalize and ground answers. That distinction is the core of Memory vs RAG.

Isolation and identity

  • containerTag — hard isolation boundary (user, tenant, project). See Container tags.
  • Metadata: extra dimensions inside a tag that you can filter on. 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.