Back to Supermemory

List Memories

apps/docs/list-memories/overview.mdx

latest4.7 KB
Original Source

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

Quick Start

<Tabs> <Tab title="TypeScript"> ```typescript import Supermemory from 'supermemory';
const client = new Supermemory({
  apiKey: process.env.SUPERMEMORY_API_KEY!
});

const memories = await client.documents.list({ limit: 10 });
console.log(memories);
```
</Tab> <Tab title="Python"> ```python from supermemory import Supermemory import os
client = Supermemory(api_key=os.environ.get("SUPERMEMORY_API_KEY"))
memories = client.documents.list(limit=10)
print(f"Found {len(memories.memories)} memories")
```
</Tab> <Tab title="cURL"> ```bash curl -X POST "https://api.supermemory.ai/v3/documents/list" \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -H "Content-Type: application/json" \ -d '{"limit": 10}' ``` </Tab> </Tabs>

Response Schema

The endpoint returns a structured response containing your memories and pagination information:

json
{
  "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

<Accordion title="Core Fields" defaultOpen>
FieldTypeDescription
idstringUnique identifier for the memory
statusProcessingStatusCurrent processing status (queued, extracting, chunking, embedding, indexing, done, failed)
typeMemoryTypeContent type (text, pdf, webpage, video, image, etc.)
titlestring | nullAuto-generated or custom title
summarystring | nullAI-generated summary of content
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last update timestamp
</Accordion> <Accordion title="Optional Fields">
FieldTypeDescription
customIdstring | nullYour custom identifier for the memory
connectionIdstring | nullID of connector that created this memory
metadataobject | nullCustom key-value metadata you provided
containerTagsstring[]Tags for organizing and filtering memories
</Accordion>

Key Parameters

All parameters are optional and sent in the request body since this endpoint uses POST:

<ParamField path="limit" type="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. </ParamField> <ParamField path="page" type="number/string" default="1"> **Page number to fetch (1-indexed).** Use with `limit` to paginate through large result sets. </ParamField> <ParamField path="containerTags" type="string[]"> **Filter by tags.** Memories must match ALL provided tags. Use for filtering by user ID, project, or custom organization tags. </ParamField> <ParamField path="sort" type="string" default="createdAt"> **Sort field.** Options: `"createdAt"` (when memory was added) or `"updatedAt"` (when memory was last modified). </ParamField> <ParamField path="order" type="string" default="desc"> **Sort direction.** Use `"desc"` for newest first, `"asc"` for oldest first. </ParamField> <ParamField path="filters" type="string"> **Advanced filtering.** Filter based on metadata with advanced SQL logic. </ParamField>

Examples

<CardGroup cols={2}> <Card title="Basic Listing" icon="list" href="/list-memories/examples/basic"> Simple memory retrieval with default settings </Card> <Card title="Filtering" icon="filter" href="/list-memories/examples/filtering"> Filter by tags, status, and other criteria </Card> <Card title="Pagination" icon="arrow-right" href="/list-memories/examples/pagination"> Handle large datasets with pagination </Card> <Card title="Status Monitoring" icon="chart-line" href="/list-memories/examples/monitoring"> Track processing status across memories </Card> </CardGroup> <Note> The `/v3/documents/list` endpoint uses **POST** method, not GET. This allows for complex filtering parameters in the request body. </Note>