Skip to main content

Get partner reports via API

Written by Natalya Yefimenko

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

🔎 *the following endpoints for reports are available for this method:

  • v1/report/overview

  • v1/report/events

  • v1/report/custom

  • v1/report/audience

  • v1/report/engagement

  • v1/report/activity_events

Headers: API-KEY

Params:

  • filter[applications] - integer (App ID), e.g. 123 REQUIRED FOR ALL REPORTS

  • filter[date_from] - YYYY-MM-DD, e.g. 2026-21-09 REQUIRED FOR ALL REPORTS

  • filter[date_to] - YYYY-MM-DD, e.g. 2026-22-09 REQUIRED FOR ALL REPORTS

  • format - tree or csv2 available REQUIRED FOR ALL REPORTS

  • tz - timezone, e.g. Europe/Riga

  • dimensions - filters for the report: date, app_version,sdk_version, partner_id , country, conversion_type , event available

  • filter[inactivity_period] - period in days, integer, e.g. 7 REQUIRED FOR AUDIENCE REPORT ADDITIONALLY

  • dimensions - 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].

Did this answer your question?