Reports
Using reports throught the api.
Endpoints
GET /api/reports
GET /api/reports/:reportId
GET /api/reports/revenue
POST /api/reports/utm
POST /api/reports/revenue
POST /api/reports/journey
POST /api/reports/retention
POST /api/reports/insights
POST /api/reports/goals
POST /api/reports/funnel
POST /api/reports/attribution
DELETE /api/reports/:reportIdGET /api/reports
Get all reports your personal reports.
Parameters
websiteId: (string | optional) Filter for website.
Sample response
{
"data" : [
{
"userId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"parameters" : "{\"fields\":[{\"name\":\"url\",\"type\":\"string\",\"label\":\"URL\"}],\"filters\":[],\"websiteId\":\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\"dateRange\":{\"startDate\":\"0000-00-00T00:00:00.000Z\",\"endDate\":\"0000-00-00T00:00:00.000Z\",\"unit\":\"day\",\"offset\":0,\"num\":90,\"value\":\"90day\"}}",
"createdAt" : "0000-00-00T00:00:00.000Z",
"id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"website" : {
"domain" : "example.com"
},
"updatedAt" : "0000-00-00T00:00:00.000Z",
"type" : "insights",
"websiteId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name" : "Insights",
"description" : ""
}
],
"count" : 1,
"pageSize" : 10,
"page" : 1
}GET /api/reports/:reportId
Get report details by id
Sample response
{
"userId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"parameters" : {
"fields" : [
{
"name" : "url",
"type" : "string",
"label" : "URL"
}
],
"dateRange" : {
"num" : 90,
"value" : "90day",
"startDate" : "0000-00-00T00:00:00.000Z",
"endDate" : "0000-00-00T00:00:00.000Z",
"unit" : "day",
"offset" : 0
},
"filters" : [
],
"websiteId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"createdAt" : "0000-00-00T00:00:00.000Z",
"id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"updatedAt" : "0000-00-00T00:00:00.000Z",
"type" : "insights",
"websiteId" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name" : "Insights",
"description" : ""
}GET /api/reports/revenue
Get currency for given range. Needed for Revenue and optional in Attribution reports.
Parameters
websiteId: (string) Your website idstartDate: (string) Start date formatted (Thu Mar 27 2025 00:00:00 GMT+0100 (Central European Standard Time))endDate: (string) End date formatted (Tue Jun 24 2025 23:59:59 GMT+0200 (Central European Summer Time))
Sample response
[
{ "currency": "EUR" },
{ "currency": "FR" },
{ "currency": "USD" }
]POST /api/reports/utm
Track your campaigns through UTM parameters.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
timezone: (string) TimezonewebsiteId(string) Your website id
Request body
{
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange":{
"startDate":"2025-05-17T22:00:00.000Z",
"endDate":"2025-05-24T21:59:59.999Z",
"unit":"day",
"offset":0,
"num":1,
"value":"0week"
},
"timezone":"Europe/Berlin"
}Sample response
{
"utm_source" : {
"test" : 1
},
"utm_content" : {
"email-newsletter-1" : 1124
},
"utm_term" : {
"software" : 4
},
"utm_medium" : {
"test" : 1
},
"utm_campaign" : {
"test" : 1
},
"utm_agid" : {
"12345" : 5
},
"utm_banner" : {
"12345" : 1
}
}POST /api/reports/revenue
Look into your revenue data and how users are spending.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
timezone: (string) TimezonewebsiteId: (string) Your website idcurrency: (string)
Request body
{
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange":{
"startDate":"2025-05-19T14:00:00.000Z",
"endDate":"2025-05-20T13:59:59.999Z",
"offset":0,
"num":24,
"unit":"hour",
"value":"24hour"
},
"currency":"USD",
"timezone":"Europe/Berlin"
}Sample response
{
"chart": [
{
"x": "",
"t": "2025-05-19T15:00:00Z",
"y": 289.94
}
],
"country": [
{
"name": "DE",
"value": 289.94
}
],
"total": {
"sum": 289.94,
"count": 6,
"unique_count": 1
},
"table": [
{
"currency": "USD",
"sum": 289.94,
"count": 6,
"unique_count": 1
}
]
}POST /api/reports/journey
Understand how users nagivate through your website.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
steps: (number) Number of steps from 3 to 7timezone: (string) TimezonewebsiteId: (string) Your website idstartStep: (string | optional)endStep: (string | optional)
Request body
{
"steps": 5,
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange": {
"startDate": "2025-05-17T22:00:00.000Z",
"endDate": "2025-05-24T21:59:59.999Z",
"unit": "day",
"offset": 0,
"num": 1,
"value": "0week"
},
"timezone": "Europe/Berlin"
}Sample response
[
{
"items": ["index.html", "outbound-link-click", null, null],
"count": 1
},
{
"items": ["/", null],
"count": 1
},
{
"items": ["index.html", "open-app-store", null],
"count": 1
}
]POST /api/reports/retention
Measure your website stickiness by tracking how often users return.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
timezone: (string) TimezonewebsiteId: (string) Your website id
Request body
{
"dateRange":{
"startDate":"2025-04-30T22:00:00.000Z",
"endDate":"2025-05-31T21:59:59.999Z",
"value":"range:1746050400000:1748728799999",
"offset":0,
"unit":"day"
},
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"timezone":"Europe/Berlin"
}Sample response
[
{
"date": "2025-05-18T22:00:00Z",
"day": 0,
"visitors": 1,
"returnVisitors": 1,
"percentage": 100
},
{
"date": "2025-05-19T22:00:00Z",
"day": 0,
"visitors": 1,
"returnVisitors": 1,
"percentage": 100
}
]POST /api/reports/insights
Dive deeper into your data by using segments and filters.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
fields: (array) Minumum one is required.filters: (array)timezone: (string) TimezonewebsiteId: (string) Your website id
Request body
{
"fields":[
{
"name":"url",
"type":"string",
"label":"URL"
}
],
"filters":[
],
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",,
"dateRange":{
"startDate":"2025-05-17T22:00:00.000Z",
"endDate":"2025-05-24T21:59:59.999Z",
"unit":"day",
"offset":0,
"num":1,
"value":"0week"
},
"timezone":"Europe/Berlin"
}Sample response
[
{
"views": 8,
"visitors": 3,
"visits": 3,
"bounces": 1,
"totaltime": 242,
"country": "US"
}
]POST /api/reports/goals
Track your goals for pageviews and events.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
goals: (array) Minumum two required.timezone: (string) TimezonewebsiteId: (string) Your website id
Request body
{
"goals":[
{
"type":"url",
"value":"/",
"goal":10
}
],
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange":{
"startDate":"2025-05-17T22:00:00.000Z",
"endDate":"2025-05-24T21:59:59.999Z",
"unit":"day",
"offset":0,
"num":1,
"value":"0week"
},
"timezone":"Europe/Berlin"
}Sample response
[
{
"type": "url",
"value": "/",
"goal": 10,
"result": 10
}
]POST /api/reports/funnel
Understand the conversion and drop-off rate of users.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
steps: (array) Minumum two required.timezone: (string) TimezonewebsiteId: (string) Your website idwindow: (number)
Request body
{
"window":60,
"steps":[
{
"type":"url",
"value":"/"
},
{
"type":"url",
"value":"/contact"
}
],
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange":{
"startDate":"2025-05-13T22:00:00.000Z",
"endDate":"2025-05-20T21:59:59.999Z",
"unit":"day",
"offset":0,
"num":7,
"value":"7day"
},
"timezone":"Europe/Berlin"
}Sample response
[
{
"type": "url",
"value": "/",
"visitors": 1,
"previous": 0,
"dropped": 0,
"dropoff": null,
"remaining": 1
}
]POST /api/reports/attribution
See how users engage with your marketing and what drives conversions.
Parameters
dateRangestartDate: (number) Date (in ms) of start dateendDate: (number) Date (in ms) of end datenum: (number)offset: (number)unit: (string)value: (string)
model: (string) Choose betweenfirstClickandlastClicksteps: (array) Only one step.timezone: (string) TimezonewebsiteId: (string) Your website id
Request body
{
"model":"firstClick",
"steps":[
{
"type":"event",
"value":"/"
}
],
"websiteId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"dateRange":{
"startDate":"2025-05-13T22:00:00.000Z",
"endDate":"2025-05-20T21:59:59.999Z",
"unit":"day",
"offset":0,
"num":7,
"value":"7day"
},
"timezone":"Europe/Berlin"
}Sample response
{
"paidAds" : [
{
"name" : "Google",
"value" : 129
}
],
"referrer" : [
{
"name" : "google.com",
"value" : 21273
}
],
"utm_source" : [
{
"name" : "yahoo.de",
"value" : 671
}
],
"utm_content" : [
{
"name" : "info-email-3",
"value" : 24
}
],
"utm_medium" : [
{
"name" : "outbound-email",
"value" : 150
}
],
"utm_campaign" : [
{
"name" : "analytics",
"value" : 69
}
],
"utm_term" : [
{
"name" : "software",
"value" : 2
}
],
"total" : {
"visitors" : 79106,
"visits" : 105066,
"pageviews" : 136971
}
}DELETE /api/reports/:reportId
Delete report with given id.
Sample response
ok