Cohort API

MAX provides three API endpoints with which you can get user performance data based on when the user installed your app:

  1. Send a request to the /maxCohort endpoint to determine how much revenue users are generating with respect to when they install.
  2. Send a request to the /maxCohort/imp endpoint to learn how many impressions users are seeing.
  3. Send a request to the /maxCohort/sessions endpoint to retrieve session information.

All dates are in UTC and based on full UTC days.

You must authenticate to use these endpoints. To do so, set the value of api_key in your request to your account’s Reports Key.

Request Format

Target URLs

  • https://r.applovin.com/maxCohort (Ad revenue performance)
  • https://r.applovin.com/maxCohort/imp (Ad Impressions information)
  • https://r.applovin.com/maxCohort/session (Session information)

Parameters

Name Description Example
This API has a request window of 45 days. Make sure the date parameters are within the last 45 days.
start First day you want included in the report, in YYYY-MM-DD format. start=2023-03-25
end Last day you want included in the report. end=2023-03-29
api_key Your reporting API Key. api_key=Hyfi8Mkct…WiWP466a1VBL7eUfUlD9JBh
format Response format: csv or json. format=csv
columns Columns to be reported (see table of columns below). Comma-separated. columns=day,application,country
filter_x Filter column x by a value. filter_platform=ios
sort_x Sort the response by column x (see table of columns below). You can add multiple sorts with multiple sort_x parameters, and these will execute in the order in which the parameters appear in the query string. ASC (ascending) or DESC (descending). sort_installs=DESC
limit Limit the results set to some fixed number of items. limit=100
offset Skips the first offset items. You can use this (along with limit) for pagination. If paginating, set offset=0 on the first request to preserve result order. offset=500

/maxCohort Columns

Name Description Example
* There is a fixed set of values for which you can track date ranges. x can be one of: 0, 1, 2, 3, 4, 5, 6, 7, 10, 14, 18, 21, 24, 27, 30, 45.
day Day of the data, in YYYY-MM-DD format. 2019-03-25
application Name of the application. My App
package_name Package Name/Bundle ID of the application. com.my.test.app
platform Platform of the application: android, fireos, or ios. android
country Two-letter ISO Country Code. gb
installs Number of new installers. 2842
pub_revenue_x Revenue generated within x* days of the install. 39.35
iap_pub_revenue_x Revenue generated from IAP within x* days of the install. 21.23
ads_pub_revenue_x Revenue generated from ads within x* days of the install. 18.12
reward_pub_revenue_x Revenue generated from rewarded ads within x* days of the install. 9.12
inter_pub_revenue_x Revenue generated from (non-rewarded) interstitial ads within x* days of the install. 6.10
banner_pub_revenue_x Revenue generated from banner ads within x* days of the install. 2.54
mrec_pub_revenue_x Revenue generated from MREC ads within x* days of the install. .48
rpi_x Revenue per install generated within x* days of the install. .15
iap_rpi_x Revenue per install generated from IAP within x* days of the install. .08
ads_rpi_x Revenue per install generated from ads within x* days of the install. .07
reward_rpi_x Revenue per install generated from rewarded ads within x* days of the install. .05
inter_rpi_x Revenue per install generated from (non-rewarded) interstitial ads within x* days of the install. .04
banner_rpi_x Revenue per install generated from banner ads within x* days of the install. .03
mrec_rpi_x Revenue per install generated from MREC ads within x* days of the install. .02

/maxCohort/imp Columns

Name Description Example
* There is a fixed set of values for which you can track date ranges. x can be one of: 0, 1, 2, 3, 4, 5, 6, 7, 10, 14, 18, 21, 24, 27, 30, 45, 60, 75, 90.
day Day of the data, in YYYY-MM-DD format. 2019-03-25
application Name of the application. My App
package_name Package Name/Bundle ID of the application. com.my.test.app
platform Platform of the application: android, fireos, or ios. android
country Two-letter ISO Country Code. gb
installs Number of new installers. 2842
user_count_x Number of users active x* days after the install. 612
imp_x Number of impressions from users x* days after the install. 6120
imp_per_user_x Number of impressions per user x days after the install: imp_x ÷ user_count_x. 10.0
inter_imp_x Number of (non-rewarded) interstitial impressions from users x* days after the install. 1224
inter_imp_per_user_x inter_imp_x ÷ user_count_x. 2.0
reward_imp_x Number of rewarded impressions from users x* days after the install. 1836
reward_imp_per_user_x reward_imp_x ÷ user_count_x. 3.0
banner_imp_x Number of banner impressions from users x* days after the install. 2448
banner_imp_per_user_x banner_imp_x ÷ user_count_x. 4.0
mrec_imp_x Number of MREC impressions from users x* days after the install. 612
mrec_imp_per_user_x mrec_imp_x ÷ user_count_x. 1.0

/maxCohort/session Columns

Name Description Example
* There is a fixed set of values for which you can track date ranges. x can be one of: 0, 1, 2, 3, 4, 5, 6, 7, 10, 14, 18, 21, 24, 27, 30, 45, 60, 75, 90.
day Day of the data, in YYYY-MM-DD format. 2019-03-25
application Name of the application. My App
package_name Package Name/Bundle ID of the application. com.my.test.app
platform Platform of the application: android, fireos, or ios. android
country Two-letter ISO Country Code. gb
installs Number of new installers. 2842
daily_usage_x Average amount of time spent by users x* days after the install (in seconds). 501
session_count_x Total number of user sessions x* days after the install. 1240
user_count_x Number of users active x* days after the install. 401
session_length_x daily_usage_x ÷ session_count_x. 0.404
retention_x user_count_x ÷ installs. 0.141

Response Format

  • If your request includes format=csv, the response will be a comma-separated text file with column headings that have the same values as those in columns in your request.

    day,country,application,installs,pub_revenue_7
    2019-03-25,gb,"My Test App",142,81.24
    2019-03-25,in,"My Test App",921,59.25
  • If your request includes format=json, the response will be a JSON file with keys code (response code, 200 means successful), count (the number of results returned), and results (a list of dictionaries with data).

    {
      "code": 200,
      "results": [
        {
          "day": "2019-03-25",
          "country": "gb",
          "application": "My Test App",
          "installs": "142",
          "pub_revenue_7": "81.24"
        },
        {
          "day": "2019-03-25",
          "country": "in",
          "application": "My Test App",
          "installs": "921",
          "pub_revenue_7": "59.25”
        }
      ],
      "count": 2
    }