website_stats()

Retrieves the statistics for a specific website over a date range.

Usage

Source

website_stats(
    start_at,
    end_at,
    website_id=None,
    url=None,
    referrer=None,
    title=None,
    query=None,
    event=None,
    host=None,
    os=None,
    browser=None,
    device=None,
    country=None,
    region=None,
    city=None
)

Requires authentication: call login() (self-hosted) or set_cloud_api_key() (Umami Cloud) first. start_at and end_at are converted to epoch milliseconds for the API.

Parameters

start_at: datetime

Start of the date range as a datetime object.

end_at: datetime

End of the date range as a datetime object.

website_id: Optional[str] = None

OPTIONAL: The value of your website_id in Umami (overrides the set_website_id() value).

url: Optional[str] = None

OPTIONAL: Filter by URL path.

referrer: Optional[str] = None

OPTIONAL: Filter by referrer.

title: Optional[str] = None

OPTIONAL: Filter by page title.

query: Optional[str] = None

OPTIONAL: Filter by query string.

event: Optional[str] = None

OPTIONAL: Filter by event name.

host: Optional[str] = None

OPTIONAL: Filter by hostname.

os: Optional[str] = None

OPTIONAL: Filter by operating system.

browser: Optional[str] = None

OPTIONAL: Filter by browser.

device: Optional[str] = None

OPTIONAL: Filter by device (e.g. ‘Mobile’).

country: Optional[str] = None

OPTIONAL: Filter by country.

region: Optional[str] = None

OPTIONAL: Filter by region/state/province.

city: Optional[str] = None
OPTIONAL: Filter by city.

Returns

models.WebsiteStats

A models.WebsiteStats with the aggregated pageviews, visitors, visits,

bounces, and totaltime for the range, plus an optional comparison.

Raises

OperationNotAllowedError

If set_url_base() has not been called (and no Cloud API key is set), or if no credential is present (neither a login token nor a Cloud API key).

httpx.HTTPStatusError
If the Umami API returns a non-2xx response.

Example

import datetime
import umami

umami.set_url_base('https://umami.example.com')
umami.login(username, password)
stats = umami.website_stats(
    start_at=datetime.datetime.now() - datetime.timedelta(days=7),
    end_at=datetime.datetime.now(),
)
print(stats.pageviews, stats.visitors)