---
title: "List Memories"
description: "Retrieve paginated memories with filtering and sorting options"
sidebarTitle: "Overview"
---
Retrieve paginated memories with filtering and sorting options from your Supermemory account.
## Quick Start
```typescript
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);
```
```python
from supermemory import Supermemory
import os
client = Supermemory(api_key=os.environ.get("SUPERMEMORY_API_KEY"))
memories = client.memories.list(limit=10)
print(f"Found {len(memories.memories)} memories")
```
```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}'
```
## 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
| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier for the memory |
| `status` | ProcessingStatus | Current processing status (`queued`, `extracting`, `chunking`, `embedding`, `indexing`, `done`, `failed`) |
| `type` | MemoryType | Content type (`text`, `pdf`, `webpage`, `video`, `image`, etc.) |
| `title` | string \| null | Auto-generated or custom title |
| `summary` | string \| null | AI-generated summary of content |
| `createdAt` | string | ISO 8601 creation timestamp |
| `updatedAt` | string | ISO 8601 last update timestamp |
| Field | Type | Description |
|-------|------|-------------|
| `customId` | string \| null | Your custom identifier for the memory |
| `connectionId` | string \| null | ID of connector that created this memory |
| `metadata` | object \| null | Custom key-value metadata you provided |
| `containerTags` | string[] | Tags for organizing and filtering memories |
## Key Parameters
All parameters are optional and sent in the request body since this endpoint uses `POST`:
**Number of items per page.** Controls how many memories are returned in a single request. Maximum recommended: 200 for optimal performance.
**Page number to fetch (1-indexed).** Use with `limit` to paginate through large result sets.
**Filter by tags.** Memories must match ALL provided tags. Use for filtering by user ID, project, or custom organization tags.
**Sort field.** Options: `"createdAt"` (when memory was added) or `"updatedAt"` (when memory was last modified).
**Sort direction.** Use `"desc"` for newest first, `"asc"` for oldest first.
**Advanced filtering.** Filter based on metadata with advanced SQL logic.
## Examples
Simple memory retrieval with default settings
Filter by tags, status, and other criteria
Handle large datasets with pagination
Track processing status across memories
The `/v3/documents/list` endpoint uses **POST** method, not GET. This allows for complex filtering parameters in the request body.