Retrieve paginated memories with filtering and sorting options from your Supermemory account.

Quick Start

import Supermemory from 'supermemory';

const client = new Supermemory({
  apiKey: process.env.SUPERMEMORY_API_KEY!
});

const memories = await client.memories.list({ limit: 10 });
console.log(memories);

Response Schema

The endpoint returns a structured response containing your memories and pagination information:
{
  "memories": [
    {
      "id": "abc123",
      "connectionId": null,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-15T10:35:00.000Z",
      "customId": "ml-basics-001",
      "title": "Introduction to Machine Learning",
      "summary": "This document introduces machine learning as a subset of artificial intelligence...",
      "status": "done",
      "type": "text",
      "metadata": {
        "category": "education",
        "priority": "high",
        "source": "research-notes"
      },
      "containerTags": ["user_123", "ai-research"]
    }
  ],
  "pagination": {
    "currentPage": 1,
    "totalPages": 3,
    "totalItems": 25,
    "limit": 10
  }
}

Memory Object Fields

Core Fields

Key Parameters

All parameters are optional and sent in the request body since this endpoint uses POST:
limit
number/string
default:"50"
Number of items per page. Controls how many memories are returned in a single request. Maximum recommended: 200 for optimal performance.
page
number/string
default:"1"
Page number to fetch (1-indexed). Use with limit to paginate through large result sets.
containerTags
string[]
Filter by tags. Memories must match ALL provided tags. Use for filtering by user ID, project, or custom organization tags.
sort
string
default:"createdAt"
Sort field. Options: "createdAt" (when memory was added) or "updatedAt" (when memory was last modified).
order
string
default:"desc"
Sort direction. Use "desc" for newest first, "asc" for oldest first.
filters
string
Advanced filtering. Filter based on metadata with advanced SQL logic.

Examples

The /v3/documents/list endpoint uses POST method, not GET. This allows for complex filtering parameters in the request body.