--- title: "Get Memories" description: "Retrieve memories with paginated results and advanced filtering using logical operators like AND, OR, NOT, and comparison queries." openapi: post /v3/memories/ --- List memories scoped by filters with paginated results. Entity IDs (`user_id`, `agent_id`, `app_id`, `run_id`) **must** be passed inside the `filters` object — top-level entity IDs are rejected with 400. The `filters` object supports complex logical operations (AND, OR, NOT) and comparison operators: - `in`: Matches any of the values specified - `gte`: Greater than or equal to - `lte`: Less than or equal to - `gt`: Greater than - `lt`: Less than - `ne`: Not equal to - `icontains`: Case-insensitive containment check - `*`: Wildcard character that matches everything Pass `page` and `page_size` as query parameters to paginate through results. ## Temporal fields on `get_all` `get_all` returns the **stored** memory record. For temporally enriched memories, that can include top-level fields such as: - `event_date` - `event_start` - `event_end` - `time_precision` - `timezone` - `polarity` - `temporal_relation` - `state_key` - `plan_status` These are stored memory attributes, not search-time interpretation fields. `get_all` does **not** add search-only fields such as: - `effective_plan_status` - `temporal_surface` - `reference_date_used` - `score_breakdown` Those fields belong to `search`, where Mem0 interprets a query in context. ```python Code memories = client.get_all( filters={ "AND": [ { "user_id": "alex" }, { "created_at": {"gte": "2024-07-01", "lte": "2024-07-31"} } ] }, page=1, page_size=50 ) ``` ```python Output { "count": 2, "next": null, "previous": null, "results": [ { "id": "f4cbdb08-7062-4f3e-8eb2-9f5c80dfe64c", "memory": "Alex is planning a trip to San Francisco from July 1st to July 10th", "user_id": "alex", "metadata": {}, "categories": [], "created_at": "2024-07-01T12:00:00Z", "updated_at": "2024-07-01T12:00:00Z", "event_date": "2024-07-01", "event_start": "2024-07-01", "event_end": "2024-07-10", "time_precision": "interval", "timezone": "UTC", "polarity": "positive", "temporal_relation": "during", "state_key": null, "plan_status": "pending" }, { "id": "a2b8c3d4-5e6f-7g8h-9i0j-1k2l3m4n5o6p", "memory": "Alex prefers vegetarian restaurants", "user_id": "alex", "metadata": {}, "categories": [], "created_at": "2024-07-05T15:30:00Z", "updated_at": "2024-07-05T15:30:00Z", "event_date": null, "event_start": null, "event_end": null, "time_precision": null, "timezone": null, "polarity": null, "temporal_relation": null, "state_key": null, "plan_status": null } ] } ``` The response is a paginated envelope with `count`, `next`, `previous`, and `results`. Use `page` and `page_size` query params to step through results. `get_all` is best for exports, audits, and raw record inspection. Use Search Memories when you want time-aware ranking or query interpretation.