api-referenceGET
GEThttps://analytics.flowsery.com/analytics/api/v1/timeseries

Fetch time series analytics data grouped by hour, day, week, or month.

Bearer Token (workspace token or website API key)

Workspace Tokens Need a Website Selector

Workspace API tokens can access every website in the workspace. Pass either <code>websiteId</code> or <code>domain</code> so Flowsery knows which website to query or mutate. Website API keys are already scoped to one website, so the selector can be omitted.

Website Selector

ParameterTypeDescription
websiteIdstringWebsite ID to use with a workspace API token. Omit when authenticating with a website API key.
domainstringWebsite domain to use with a workspace API token when websiteId is not provided. Omit when authenticating with a website API key.

Optional Parameters

ParameterTypeDescription
intervalstringAggregation interval. Accepted values: hour, day, week, month.
startAtstringISO 8601 start date/time. Defaults to the last 30 days when omitted.
endAtstringISO 8601 end date/time. Defaults to now when omitted.
timezonestringTimezone for aggregation (e.g., UTC, America/New_York). Falls back to the site's configured timezone.
limitnumberEchoed back in the response pagination object. It does not slice the returned series.
offsetnumberEchoed back in the response pagination object. It does not slice the returned series.

Filter Parameters

ParameterTypeDescription
filter_countrystringCountry name as returned by /countries, e.g. United States. Use | for several values, ! to exclude and ~ to match part of the value.
filter_regionstringRegion or state name as returned by /regions, e.g. California.
filter_citystringCity name.
filter_devicestringDevice type: Desktop, Mobile or Tablet. Values are case-sensitive.
filter_browserstringBrowser name (Chrome, Safari, Firefox, Edge). Safari includes Mobile Safari automatically.
filter_osstringOperating system (Mac OS, Windows, iOS, Android).
filter_referrerstringReferrer as returned by /referrers: a source name such as Google for recognized sites, otherwise the domain.
filter_refstringThe ref URL parameter value.
filter_sourcestringThe source URL parameter value.
filter_viastringThe via URL parameter value.
filter_utm_sourcestringUTM source.
filter_utm_mediumstringUTM medium.
filter_utm_campaignstringUTM campaign.
filter_utm_termstringUTM term.
filter_utm_contentstringUTM content.
filter_pagestringPage path or URL.
filter_entry_pagestringEntry page path or URL.
filter_hostnamestringHostname/domain.
filter_channelstringMarketing channel.
filter_goalstringGoal name.

Notes

The API returns status, interval, timezone, currency, data rows, totals, and a pagination echo. Data rows include timestamp, name, visitors, sessions, revenue, newRevenue, renewalRevenue, refundedRevenue, conversionRate, and kpiValue. Whatever the interval, the window defaults to the last 30 days, so pass startAt and endAt for anything else and keep hour to ranges of a few days.
Example Request (Curl)
curl --request GET \
  --url 'https://analytics.flowsery.com/analytics/api/v1/timeseries?interval=day&limit=30' \
  --header 'Authorization: Bearer <api-key>'
200
{
  "status": "success",
  "interval": "day",
  "timezone": "Asia/Calcutta",
  "currency": "USD",
  "data": [
    {
      "timestamp": "2025-12-17T00:00:00+05:30",
      "name": "17 Dec",
      "visitors": 528,
      "sessions": 604,
      "revenue": 1540,
      "newRevenue": 1220,
      "renewalRevenue": 320,
      "refundedRevenue": 40,
      "conversionRate": 1.42,
      "kpiValue": 1540
    }
  ],
  "totals": {
    "visitors": 14213,
    "sessions": 20181,
    "revenue": 27351
  },
  "pagination": { "limit": 30, "offset": 0, "total": 30 }
}