You can get aggregated data from your reports via API to make further use of it. Aggregated statistics provides ready-to-use grouped data saving your time on deep analysis.
Before you begin
Get report
Method: GET/POST
Url: https://restapi.affattr.com/v1/report/overview*
🔎 *the following endpoints for reports are available for this method:
v1/report/overviewv1/report/eventsv1/report/customv1/report/audiencev1/report/engagementv1/report/activity_events
Headers: API-KEY
Params:
filter[applications] - integer (App ID), e.g.
123REQUIRED FOR ALL REPORTSfilter[date_from] - YYYY-MM-DD, e.g.
2026-21-09REQUIRED FOR ALL REPORTSfilter[date_to] - YYYY-MM-DD, e.g. 2026-22-09 REQUIRED FOR ALL REPORTS
format -
treeorcsv2available REQUIRED FOR ALL REPORTStz - timezone, e.g.
Europe/Rigadimensions - filters for the report:
date,app_version,sdk_version,partner_id,country,conversion_type,eventavailable
filter[inactivity_period] - period in days, integer, e.g.
7REQUIRED FOR AUDIENCE REPORT ADDITIONALLYdimensions - filters for the report:
app_version,sdk_version,partner_id,country, available REQUIRED FOR AUDIENCE REPORT ADDITIONALLY
Request examples
GET https://restapi.affattr.com/v1/report/overview?filter[applications]=7277&filter[date_from]=2026-09-02&filter[date_to]=2026-09-21&format=tree&tz=Europe/Riga&dimensions=event
GET https://restapi.affattr.com/v1/report/audience?filter[applications]=7277&filter[date_from]=2026-09-01&filter[date_to]=2026-09-21&format=tree&filter[inactivity_period]=7&dimensions=partner_id
Response examples
Overview
{
"currency": "USD",
"tree": {
"dimensions": {},
"metrics": {
"active_users": 1,
"ad_cost": 0,
"ad_revenue": 0,
"average_cpc": 0,
"clicks": 21,
"conversions": 2,
"cost_per_conversion": 0,
"events": 2,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 1,
"installs_non_organic": 0,
"loyal_users": 1,
"new_users": 0,
"reinstalls": 0,
"revenue": 1.5,
"sessions": 8,
"sessions_duration_ms": 3786804,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"trafficbacks": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "7m53s",
"average_timespend": "1h3m6s",
"sessions_duration": "1h3m6s"
},
"calc": {
"average_actions": 0,
"average_session_time_ms": 473350.5,
"average_timespend_ms": 3786804,
"average_user_session": 8,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 100,
"roas_ad": 0,
"uninstall_rate": 0
},
"nodes": [
{
"dimensions": {
"date": "2026-09-18"
},
"metrics": {
"active_users": 1,
"ad_cost": 0,
"ad_revenue": 0,
"average_cpc": 0,
"clicks": 18,
"conversions": 2,
"cost_per_conversion": 0,
"events": 2,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 1,
"installs_non_organic": 0,
"loyal_users": 1,
"new_users": 0,
"reinstalls": 0,
"revenue": 1.5,
"sessions": 8,
"sessions_duration_ms": 3786804,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"trafficbacks": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "7m53s",
"average_timespend": "1h3m6s",
"sessions_duration": "1h3m6s"
},
"calc": {
"average_actions": 0,
"average_session_time_ms": 473350.5,
"average_timespend_ms": 3786804,
"average_user_session": 8,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 100,
"roas_ad": 0,
"uninstall_rate": 0
}
},
{
"dimensions": {
"date": "2026-09-18"
},
"metrics": {
"active_users": 0,
"ad_cost": 0,
"ad_revenue": 0,
"average_cpc": 0,
"clicks": 3,
"conversions": 0,
"cost_per_conversion": 0,
"events": 0,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 0,
"installs_non_organic": 0,
"loyal_users": 0,
"new_users": 0,
"reinstalls": 0,
"revenue": 0,
"sessions": 0,
"sessions_duration_ms": 0,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"trafficbacks": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "0s",
"average_timespend": "0s",
"sessions_duration": "0s"
},
"calc": {
"average_actions": 0,
"average_session_time_ms": 0,
"average_timespend_ms": 0,
"average_user_session": 0,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 0,
"roas_ad": 0,
"uninstall_rate": 0
}
}
]
},
"headers": [
{
"field": "date",
"object_field": "dimensions.date",
"name": "Date",
"type": "string",
"tooltip": "Tooltipe Date"
},
{
"field": "impressions",
"object_field": "metrics.impressions",
"name": "Impressions",
"type": "integer",
"tooltip": "Ad impressions served."
},
{
"field": "clicks",
"object_field": "metrics.clicks",
"name": "Clicks",
"type": "integer",
"tooltip": "Ad clicks."
},
{
"field": "trafficbacks",
"object_field": "metrics.trafficbacks",
"name": "Trafficbacks",
"type": "integer",
"tooltip": "Trafficbacks — clicks sent back to the ad network (non-agency reports only)."
},
{
"field": "installs",
"object_field": "metrics.installs",
"name": "Installs",
"type": "integer",
"tooltip": "Number of attributed installs. The report is install-cohort based by default, so the metrics below describe this same cohort."
},
{
"field": "reinstalls",
"object_field": "metrics.reinstalls",
"name": "ReInstalls",
"type": "integer",
"tooltip": "Reinstalls — installs by devices that had installed the app before."
},
{
"field": "ctr",
"object_field": "calc.ctr",
"name": "CTR",
"type": "percent",
"tooltip": "Click-through rate: clicks / impressions × 100%."
},
{
"field": "sessions",
"object_field": "metrics.sessions",
"name": "Sessions",
"type": "integer",
"tooltip": "Total number of app sessions."
},
{
"field": "loyal_users",
"object_field": "metrics.loyal_users",
"name": "Sessions\nloyal users",
"type": "integer",
"tooltip": "Loyal users — devices with 3 or more distinct sessions."
},
{
"field": "loyal_users_installs",
"object_field": "calc.loyal_users_installs",
"name": "Loyal users\nInstalls",
"type": "percent",
"tooltip": "Share of loyal users among installs: loyal users / installs × 100%."
},
{
"field": "ad_cost",
"object_field": "metrics.ad_cost",
"name": "Ad Cost",
"type": "currency",
"tooltip": "Advertiser ad spend — your actual cost in the ad-network account (Google, Apple, Meta, TikTok, Unity). This is the ad spend used in ROAS/ROI."
},
{
"field": "revenue",
"object_field": "metrics.revenue",
"name": "Revenue",
"type": "currency",
"tooltip": "In-app purchase (IAP) revenue — what users pay inside your app."
},
{
"field": "ad_revenue",
"object_field": "metrics.ad_revenue",
"name": "AdRevenue",
"type": "currency",
"tooltip": "In-app ad-monetization revenue — what you earn by showing ads in your own app (AdMob, Unity, SDK)."
},
{
"field": "roas_ad",
"object_field": "calc.roas_ad",
"name": "ROAS (Ad)",
"type": "percent",
"tooltip": "Return on ad spend from in-app ad-monetization revenue only."
},
{
"field": "uninstalls",
"object_field": "metrics.uninstalls",
"name": "Uninstalls",
"type": "integer",
"tooltip": "App uninstalls detected."
},
{
"field": "uninstall_rate",
"object_field": "calc.uninstall_rate",
"name": "Uninstall rate",
"type": "percent",
"tooltip": "Uninstall rate: uninstalls / installs × 100%."
}
]
}
Audience
{
"currency": "USD",
"tree": {
"dimensions": {},
"metrics": {
"active_users": 0,
"audience_active_users": 1,
"audience_dormant_users": 0,
"audience_new_users": 1,
"audience_renew_users": 0,
"audience_resurrected_users": 0,
"audience_total_devices": 1,
"audience_total_dormant_users": 0,
"audience_total_users": 1,
"audience_uninstalled_users": 0,
"average_cpc": 0,
"clicks": 0,
"conversions": 0,
"cost_per_conversion": 0,
"events": 0,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 0,
"installs_non_organic": 0,
"loyal_users": 0,
"new_users": 0,
"reinstalls": 0,
"revenue": 0,
"sessions": 0,
"sessions_duration_ms": 0,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "0s",
"average_timespend": "0s",
"sessions_duration": "0s"
},
"calc": {
"audience_active_users_percent": 100,
"audience_dormant_users_percent": 0,
"audience_new_users_percent": 100,
"audience_renew_users_percent": 0,
"audience_resurrected_users_percent": 0,
"audience_total_dormant_users_percent": 0,
"audience_uninstalled_users_percent": 0,
"average_actions": 0,
"average_session_time_ms": 0,
"average_timespend_ms": 0,
"average_user_session": 0,
"cr": 0,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 0,
"roas_ad": 0,
"uninstall_rate": 0
},
"nodes": [
{
"dimensions": {
"partner_id": "12",
"partner_name": "Partner12"
},
"metrics": {
"active_users": 0,
"audience_active_users": 1,
"audience_dormant_users": 0,
"audience_new_users": 1,
"audience_renew_users": 0,
"audience_resurrected_users": 0,
"audience_total_devices": 1,
"audience_total_dormant_users": 0,
"audience_total_users": 1,
"audience_uninstalled_users": 0,
"average_cpc": 0,
"clicks": 0,
"conversions": 0,
"cost_per_conversion": 0,
"events": 0,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 0,
"installs_non_organic": 0,
"loyal_users": 0,
"new_users": 0,
"reinstalls": 0,
"revenue": 0,
"sessions": 0,
"sessions_duration_ms": 0,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "0s",
"average_timespend": "0s",
"sessions_duration": "0s"
},
"calc": {
"audience_active_users_percent": 100,
"audience_dormant_users_percent": 0,
"audience_new_users_percent": 100,
"audience_renew_users_percent": 0,
"audience_resurrected_users_percent": 0,
"audience_total_dormant_users_percent": 0,
"audience_uninstalled_users_percent": 0,
"average_actions": 0,
"average_session_time_ms": 0,
"average_timespend_ms": 0,
"average_user_session": 0,
"cr": 0,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 0,
"roas_ad": 0,
"uninstall_rate": 0
}
}
]
},
"headers": [
{
"field": "partner_id",
"object_field": "dimensions.partner_id",
"name": "Partner ID",
"type": "integer",
"tooltip": "Tooltipe Partner ID"
},
{
"field": "partner_name",
"object_field": "dimensions.partner_name",
"name": "Partner Name",
"type": "string",
"tooltip": "Partner name."
},
{
"field": "audience_total_users",
"object_field": "metrics.audience_total_users",
"name": "Total users, count",
"type": "integer",
"tooltip": "Running total of unique users acquired over the report history horizon (up to 3 months); shown as of the end of each day/week/month, or as of the report end date in non-time breakdowns."
},
{
"field": "audience_total_devices",
"object_field": "metrics.audience_total_devices",
"name": "Total devices, count",
"type": "integer",
"tooltip": "Running total of unique devices acquired over the report history horizon, counting each device once across reinstalls; shown as of the end of each day/week/month, or as of the report end date in non-time breakdowns."
},
{
"field": "audience_active_users",
"object_field": "metrics.audience_active_users",
"name": "Active users, count",
"type": "integer",
"tooltip": "Unique users with at least one tracked activity during the selected period."
},
{
"field": "audience_active_users_percent",
"object_field": "calc.audience_active_users_percent",
"name": "Active users, %",
"type": "percent",
"tooltip": "Active users as a share of the total (cumulative) user base."
},
{
"field": "audience_new_users",
"object_field": "metrics.audience_new_users",
"name": "New users, count",
"type": "integer",
"tooltip": "Users whose first install falls within the selected period."
},
{
"field": "audience_new_users_percent",
"object_field": "calc.audience_new_users_percent",
"name": "New users, %",
"type": "percent",
"tooltip": "New users as a share of active users."
},
{
"field": "audience_renew_users",
"object_field": "metrics.audience_renew_users",
"name": "Renew users, count",
"type": "integer",
"tooltip": "New installs in the period from a device that had already installed the app earlier within the history horizon (reinstalls)."
},
{
"field": "audience_renew_users_percent",
"object_field": "calc.audience_renew_users_percent",
"name": "Renew users, %",
"type": "percent",
"tooltip": "Renewed (reinstall) users as a share of all new users."
},
{
"field": "audience_resurrected_users",
"object_field": "metrics.audience_resurrected_users",
"name": "Resurrected users, count",
"type": "integer",
"tooltip": "Previously inactive users who became active again after a gap of at least the inactivity period."
},
{
"field": "audience_resurrected_users_percent",
"object_field": "calc.audience_resurrected_users_percent",
"name": "Resurrected users, %",
"type": "percent",
"tooltip": "Resurrected users as a share of active users."
},
{
"field": "audience_total_dormant_users",
"object_field": "metrics.audience_total_dormant_users",
"name": "Total dormant users, count",
"type": "integer",
"tooltip": "Users currently dormant — inactive for at least the inactivity period and not uninstalled; a point-in-time stock shown as of the end of each day/week/month or as of the report end date in non-time breakdowns, never summed across periods."
},
{
"field": "audience_total_dormant_users_percent",
"object_field": "calc.audience_total_dormant_users_percent",
"name": "Total dormant users, %",
"type": "percent",
"tooltip": "Dormant users as a share of the total (cumulative) user base."
},
{
"field": "audience_dormant_users",
"object_field": "metrics.audience_dormant_users",
"name": "Dormant users, count",
"type": "integer",
"tooltip": "Users who became dormant on this day — their first day of inactivity once the gap since the last activity reached the inactivity period (a daily inflow, not a running stock)."
},
{
"field": "audience_dormant_users_percent",
"object_field": "calc.audience_dormant_users_percent",
"name": "Dormant users, %",
"type": "percent",
"tooltip": "Churn rate — users who went dormant as a share of active users."
},
{
"field": "audience_uninstalled_users",
"object_field": "metrics.audience_uninstalled_users",
"name": "Uninstalled users, count",
"type": "integer",
"tooltip": "Users who uninstalled the app during the selected period."
},
{
"field": "audience_uninstalled_users_percent",
"object_field": "calc.audience_uninstalled_users_percent",
"name": "Uninstalled users, %",
"type": "percent",
"tooltip": "Uninstalled users as a share of active users."
}
]
}
Engagement
{
"currency": "USD",
"tree": {
"dimensions": {},
"metrics": {
"active_users": 1,
"average_cpc": 0,
"clicks": 0,
"conversions": 0,
"cost_per_conversion": 0,
"events": 0,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 0,
"installs_non_organic": 0,
"loyal_users": 1,
"new_users": 0,
"reinstalls": 0,
"revenue": 0,
"sessions": 8,
"sessions_duration_ms": 3786804,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "7m53s",
"average_timespend": "1h3m6s",
"sessions_duration": "1h3m6s"
},
"calc": {
"average_actions": 0,
"average_session_time_ms": 473350.5,
"average_timespend_ms": 3786804,
"average_user_session": 8,
"cr": 0,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 0,
"roas_ad": 0,
"uninstall_rate": 0
},
"nodes": [
{
"dimensions": {
"partner_id": "109",
"partner_name": "Partner"
},
"metrics": {
"active_users": 1,
"average_cpc": 0,
"clicks": 0,
"conversions": 0,
"cost_per_conversion": 0,
"events": 0,
"fraud_emulator": 0,
"fraud_high_risk": 0,
"fraud_is": 0,
"fraud_low_risk": 0,
"fraud_medium_risk": 0,
"fraud_no_risk": 0,
"fraud_proxy": 0,
"fraud_rooted": 0,
"fraud_social": 0,
"fraud_suspicious": 0,
"impressions": 0,
"installs": 0,
"installs_non_organic": 0,
"loyal_users": 1,
"new_users": 0,
"reinstalls": 0,
"revenue": 0,
"sessions": 8,
"sessions_duration_ms": 3786804,
"subs_cancel": 0,
"subs_refund": 0,
"subs_regular_active": 0,
"subs_regular_started": 0,
"subs_trial_active": 0,
"subs_trial_started": 0,
"uninstalls": 0,
"unique_users": 0
},
"data": {
"average_session_time": "7m53s",
"average_timespend": "1h3m6s",
"sessions_duration": "1h3m6s"
},
"calc": {
"average_actions": 0,
"average_session_time_ms": 473350.5,
"average_timespend_ms": 3786804,
"average_user_session": 8,
"cr": 0,
"cr_install_to_trial": 0,
"cr_trial_to_subscription": 0,
"ctr": 0,
"loyal_users_installs": 0,
"roas_ad": 0,
"uninstall_rate": 0
}
}
]
},
"headers": [
{
"field": "partner_id",
"object_field": "dimensions.partner_id",
"name": "Partner ID",
"type": "integer",
"tooltip": "Tooltipe Partner ID"
},
{
"field": "partner_name",
"object_field": "dimensions.partner_name",
"name": "Partner Name",
"type": "string",
"tooltip": "Partner name."
},
{
"field": "sessions_duration",
"object_field": "data.sessions_duration",
"name": "Sessions\ntime spent",
"type": "string",
"tooltip": "Total time spent in the app, human-readable."
},
{
"field": "average_timespend",
"object_field": "data.average_timespend",
"name": "Timespent\non user",
"type": "string",
"tooltip": "Average time spent per active user: total timespent / active users."
},
{
"field": "average_session_time",
"object_field": "data.average_session_time",
"name": "Average session time",
"type": "string",
"tooltip": "Average duration of one session: total timespent / sessions."
},
{
"field": "sessions",
"object_field": "metrics.sessions",
"name": "Sessions",
"type": "integer",
"tooltip": "Total number of app sessions."
},
{
"field": "average_user_session",
"object_field": "calc.average_user_session",
"name": "Sessions\non user",
"type": "integer",
"tooltip": "Average number of sessions per active user: sessions / active users."
}
]
}Please contact the Affise Customer Support team regarding all raised questions via the e-mail: [email protected].
