List visitor sessions
umami_list_sessionsList individual visitor sessions for any website over a date range to uncover real visit behavior, page depth, and engagement sources beyond aggregate stats.
Instructions
List individual visitor sessions for a website over a date range, newest first.
Sessions are anonymous. Use this to inspect real visit behaviour rather than aggregates: how many pages a typical visit covers, where high-engagement visitors come from, or what a spike actually consisted of.
Args:
website (string, optional): Website ID, name, or domain.
range (string): Date range, default '7d'.
start_date / end_date (string, optional): Explicit bounds, overriding 'range'.
search (string, optional): Free-text search across session attributes.
page (number): Page number, 1-based (default: 1).
page_size (number): Sessions per page, 1-100 (default: 20).
filters (object, optional): Segment filters such as { country: 'US' }.
response_format ('markdown' | 'json'): Output format (default: 'markdown').
Returns: JSON shape: { "total": number, "page": number, "page_size": number, "sessions": [ { "id": string, "country": string, "city": string, "device": string, "browser": string, "os": string, "first_at": string, "last_at": string, "visits": number, "views": number } ], "has_more": boolean }
Examples:
"Show me sessions from yesterday" -> range="yesterday"
"Which visits looked at the most pages this week?" -> range="this_week", page_size=50
Error handling:
Returns an empty result set when no sessions occurred in the range.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, 1-based. | |
| range | No | Date range for the query, default '7d'. Relative ("30m", "24h", "7d", "4w", "3mo", "1y"), named ("today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year", "mtd", "ytd", "all_time"), or an explicit ISO date via start_date/end_date. | |
| search | No | Free-text search across session attributes. | |
| filters | No | Optional segment filters. Supported keys: path, referrer, title, query, browser, os, device, country, region, city, language, hostname, tag, event, distinctId, utmSource, utmMedium, utmCampaign, utmContent, utmTerm, segment, cohort. Example: { country: 'US', device: 'mobile' }. | |
| website | No | Website ID (UUID), name, or domain. Optional if UMAMI_DEFAULT_WEBSITE is set. Use umami_list_websites to discover values. | |
| end_date | No | Explicit end date (YYYY-MM-DD, ISO 8601 timestamp, or epoch ms). Overrides 'range'. | |
| page_size | No | Sessions per page. | |
| start_date | No | Explicit start date (YYYY-MM-DD, ISO 8601 timestamp, or epoch ms). Overrides 'range'. | |
| response_format | No | Output format: 'markdown' for a readable summary, 'json' for raw structured data. | markdown |