Retention

Get website retention

GET/api/websites/{websiteId}/retention

Returns daily retention for the website: for each first-visit date, how many visitors returned on later days and the percentage.

Try it

GET/api/websites/{websiteId}/retention
Authorization

Credentials stay in this browser tab and are never sent anywhere except the API.

Path parameters
Query parameters
Response

Send a request to see the response.

Headers

NameTypeDescription
AuthorizationrequiredstringToken returned by POST /api/auth/login, or an API key (`umami_…`) created under Settings → API keys (self-hosted only). Bearer <token>.
x-umami-share-contextrequiredstringRequired context header when authenticating with a share token. <api-key>.
x-umami-share-tokenrequiredstringSigned token returned by a share endpoint. <api-key>.

Path parameters

NameTypeDescription
websiteIdrequiredstringID of the website.

Query parameters

NameTypeDescription
pathstringFilter by page URL path.
referrerstringFilter by referring URL.
titlestringFilter by page title.
querystringFilter by page URL query string.
osstringOperating system used by the visitor.
browserstringBrowser used by the visitor.
devicestringDevice category used by the visitor.
countrystringCountry code of the visitor.
regionstringRegion or subdivision of the visitor.
citystringCity of the visitor.
tagstringTag attached to the tracked activity.
hostnamestringHostname on which the activity occurred.
distinctIdstringCustom identifier assigned to the visitor.
languagestringPreferred language reported by the visitor browser.
eventstringFilter by custom event name.
utmSourcestringUTM campaign source.
utmMediumstringUTM campaign medium.
utmCampaignstringUTM campaign name.
utmContentstringUTM campaign content.
utmTermstringUTM campaign search term.
segmentstringID of a saved segment used to filter results.
cohortstringID of a saved cohort used to filter visitors.
eventTypeintegerEvent type: 1 for a pageview or 2 for a custom event.
excludeBouncestringSet a non-empty value to exclude visits with only one pageview.
matchenum<string>Whether records must match all filters or any filter.
Options: all, any
startAtrequiredintegerStart of the date range as a Unix timestamp in milliseconds.
endAtrequiredintegerEnd of the date range as a Unix timestamp in milliseconds.
timezonestringIANA time zone used to interpret dates and group results, for example America/New_York.
unitstringTime interval used to group results: minute, hour, day, month, or year.

Responses

200The operation completed successfully.
NameTypeDescription
daterequiredstring
dayrequirednumber
percentagerequirednumber
returnVisitorsrequirednumber
visitorsrequirednumberUnique visitor counts for the selected period.
200 example
400Bad request.
NameTypeDescription
errorrequiredobjectError details returned when the operation fails.
400 example
401Unauthorized.
NameTypeDescription
errorrequiredobjectError details returned when the operation fails.
401 example
404Not found.
NameTypeDescription
errorrequiredobjectError details returned when the operation fails.
404 example

Code samples

cURL